POPULARITY
Starting off, Robbie Russell and Robbie Wagner bonding over the complexities of their names in the coffee queue.They dive into the essence of maintainable software, debating the importance of recent commits and the dangers of a single-contributor project.Tech debt, the ever-looming shadow over software development, gets a moment in the spotlight. They share a laugh over buying GitHub stars as a measure of project health.Wagner's approach to tackling tech debt without permission is both rebellious and pragmatic, advocating for quality and refactoring 'on-the-go'.The conversation shifts to the Scout rule in software maintenance, and how constant vigilance is key to overcoming tech debt fatigue.Discussions around Ember.js, its community, and the evolution of front-end development light up the conversation.The narrative takes a turn as they explore automating the mundane, with ESLint, Prettier, and CI tools like Dependabot starring as the unsung heroes in the quest for quality.They touch upon the challenges of maintaining a balance between new features and tech debt, with Wagner emphasizing the sneaky art of integrating tech debt fixes into regular work.Robbie Wagner shares his love for rye whiskey, introducing listeners to his favorite brands and distilleries.Wrapping up, they delve into the world of podcasts, discussing the uniqueness of "Whiskey, Web and Whatnot" and how it blends technical discussions with personal stories and whiskey.Helpful Links:Check out Whiskey, Web and Whatnot for more episodes and whiskey recommendations!Thanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks. It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications. Keep your coding cool and error-free, one line at a time! Check them out! Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
Today we welcome two speakers from our upcoming Philly Emerging Tech conference: Yehuda Katz and Russ Danner! Yehuda Katz is the founder of creator of the Starbeam.js and EmberJS framework, among many others. He is also a Philly ETE veteran, having spoken at many of our conferences in the past. Russ Danner is the VP ... Read More The post TechChat Tuesdays #61: Yehuda Katz & Russ Danner appeared first on Chariot Solutions.
Long time listener, first time guest Melanie Sumner joins us to chat about her work on Ember, enterprise work, the importance of accessibility, and the web.
Uma semana cheia de problemas, outra vez no Percy, nas contribuições do Ember, e mais umas esquisiticesSegue-nos no Mastodon ou no Twitter e junta-te ao nosso Slack.Links:WikidataEmber.js na wikidataGithub wikidata bottool-new-releaseFirefox multi-account containersPercyChoosyBufferMastodon schedulerO Conversas em Código é da autoria do Hugo Peixoto e de Ricardo Mendes
Falamos sobre umas contribuições para o ember que eram suposto ser simples, e as aventuras de configurar uma instância portuguesa de PeerTube.Segue-nos no Twitter e junta-te ao nosso Slack.Links:Spawning processes in a portable way in Rustember-api-docsRelação Ember Data (proxy object)get dentro de getTo attrs or not to attrsValor default do results"Simpler and more powerful components in Ember Octane with Glimmer components"Ansol 20 anosArchive.orgPeerTubeVOD transcodingTraduções Weblate pt-PTHetzner hostingFramasoftviste.ptPodcasts portuguesesO Podcast Ubuntu PortugalMatrixElement.ioFluffychatSala de matrix da ANSOL aberta ao públicoO Conversas em Código é da autoria do Hugo Peixoto e de Ricardo Mendes
Esta semana pomos as contas em dia: gestão de contas no Percy e como mitigar ataques de enumeração de contas. Falamos também da ferramenta de lançamento de novas versões de Ember.js.Segue-nos no Twitter e junta-te ao nosso SlackLinks:Gestão de contas no Percy:BrowserStackPercyBrowserStack compra Percy - 2020testes de snapshot em Jest (React)"subaddressing" em endereços de emailMitigação de ataques de enumeração de contas:AlumniEIDevise para RailsUsername enumeration and the impact on anonymityPasswordless authenticationPassword managerTiming attacksVulnerabilidade do lobste.rs na recuperação de senhaFerramenta de lançamento de novas versões Ember.js:tool-new-release"Separating modules into different files"Ferramenta de extração de informação de ROMs de pokémonDo-nothing scripting: the key to gradual automationstructoptLivro "Rust for Rustaceans"O Conversas em Código é da autoria do Hugo Peixoto e de Ricardo Mendes
Conversão de Drupal para Hugo, problemas com o Netlify, e uma visita bastidores do lançamento de versões de Ember. Também falamos de algumas novidades do Hacktoberfest e do processo de edição do podcast.Segue-nos no Twitter e junta-te ao nosso SlackLinks:Edição de podcastsAudacityCorrecções à privacy policy do AudacityOlive EditorBug no Audacity em waylandXWaylandConversão de Drupal para HugoDrupal 7HugoJekylljekyll-importFrontmatterURL aliases no DrupalBug fix no jekyll-importHacktoberfestDiscord do HacktoberfestRegras de participaçãoEmber.jsEmber CLIBroccoliEmbroiderDiscord do EmberEmber 4.0 betaEmber EditionsNetlifyAnúncio da remoção do Ubuntu 14.04MiddlemanO Conversas em Código é da autoria do Hugo Peixoto e de Ricardo Mendes
Echo Innovate IT - Web & Mobile App Development Technologies Podcast
So you have decided to digitize your business and build a web application or website for that. You have finally realized that in this technological era where people would judge you based on whether your business is on the internet or not. Accept it. It is True! Don't worry! We are here to help you decide the best way for you to have your business online. So these ways you can build your website are single page application and multi page application. In this article, we are going to discuss the much-debated topic for website development which is Single page application vs Multi Page application. Without further ado, let's dive deeper and come to know how these web app development ways differ from each other. And why some companies or businesses prefer to go with either of them. What is a Single Page Application? Single-page applications, (short-form SPAs) are web applications that download all the data at the time of the first click of the page. It won't trouble you, once you have opened the app and won't reload every time you click on something. You may have an idea if you are a long-time user of the Facebook website. Back in those days while using Facebook, if you hit a button on anyone's photo, the whole page used to reload. What a mess! But today you know with just a single click, the button turns from like to like. Let me clear you this, it is not your internet speed that does that. It's the magic of single page application frameworks like Angularjs, Vuejs, Reactjs, Emberjs that work behind these single page applications. You can also implement this with AJAX. What are Multi page Applications? As the name suggests, these are web applications that have more than one page. Multipage applications load their pages every time a user clicks on different links. MPAs are separately built multiple pages that combine together and make a website. You would find numerous links to multi page websites that take you to the different pages of that website. In technical terms, due to their heavy data, they demand to transfer that data between server and browser. Unlike SPAs, multi-page applications require multiple UI design layers as it is a collection of different pages. Single Page Application vs Multi Page Application: Key Takeaways Use Multi Page application if you have a large business, services or products which require multiple menu items and features. Go for a single page application, if you want to create SaaS platforms, Social networking site, or where search engine does not matter. If you have a future plan for building mobile applications, then create your base with a single page application. At Echo Innovate IT our expert team of developers can help you with your web and app development. Contact Us! Today. --- Send in a voice message: https://anchor.fm/echo-innovate-it/message
An airhacks.fm conversation with Michael Edgar (@xlateio) about: custom Pentium 100, a telnet based, MUD game, Vallhalla MUD, BBS was used to connect to the network, enjoying Apple 2 at school, enjoying Sonic Sega games, learning C-structures at collage, learning 68000 assembly, from Assembly to Visual Basic and Java, starting at an insurance company and learning EDI, X12 and EDIFACT in EDI universe, the fascination with EDI, the beginners mind and Java Connector Architectures, the EDI "hello, world", starting to understand COBOL, back to Java with WSAD and IBM WebSphere, using JDBC, Servlets and Java Server Pages (JSP), using Java Batch processing (jbatch), using Java Batch DSL features, from WebSphere to Wildfly, misusing WildFly as Tomcat, from WildFly to MicroProfile using smallrye, JWT and OpenAPI committer, reusing Java Bean Validation as openAPI metadata, using jandex index for annotation scanning, smallrye OpenAPI already uses Bean Validation annotations, JSON API is used by Ember, JSON API is similar to odata, JSON-API is generated from JAX-RS, JPA and Bean Validation, JSON-API is used by EmberJs, xlate, RedHat OpenShift Streams for Apache Kafka Michael Edgar on twitter: @xlateio
Sara has been part of the open source community since 2001 and was formerly on the board of the .NET foundation. Recently she was elected to the board of the OpenJS foundation and was eager to get back in the trenches, helping people solve computer problems.In this episode we talk about coding interviews and brushing up on your puzzle solving chops.Later we dive into Ember.js, the framework Sara will be using with her new colleagues at LinkedIn.We explore what it’s like to join a team when everyone is still remote and you never get the chance to onboard with your team in person.This week’s lifeboat badge winner is Perfect28, who answered the question: Linq OrderBy custom order. Spoiler alert, there are char arrays involved.
Sara has been part of the open source community since 2001 and was formerly on the board of the .NET foundation. Recently she was elected to the board of the OpenJS foundation and was eager to get back in the trenches, helping people solve computer problems.In this episode we talk about coding interviews and brushing up on your puzzle solving chops.Later we dive into Ember.js, the framework Sara will be using with her new colleagues at LinkedIn.We explore what it's like to join a team when everyone is still remote and you never get the chance to onboard with your team in person.This week's lifeboat badge winner is Perfect28, who answered the question: Linq OrderBy custom order. Spoiler alert, there are char arrays involved.
RSConf 2015: https://www.youtube.com/playlist?list=PLe--kalBDwjgrOqRSbJrJd-o7M3-KlOff RS School: https://rs.school/ Мы в соцсетях: 1. Telegram: https://t.me/proConf 2. Youtube: https://www.youtube.com/channel/UCvasfOIImo7D9lQkb1Wc1tw 3. SoundCloud: https://soundcloud.com/proconf 4. Itunes: https://podcasts.apple.com/by/podcast/podcast-proconf/id1455023466 5. Twitter: https://twitter.com/ProconfShow
Vince Eberle is a Full Stack Developer at 412 Food Rescue. Over the last decade, he has worked on app development on-and-off using Ruby on Rails and EmberJS. He and Brittany discuss coming back to Rails and how powerful Rails can make a developer in a non-profit.
Vince Eberle is a Full Stack Developer at 412 Food Rescue. Over the last decade, he has worked on app development on-and-off using Ruby on Rails and EmberJS. He and Brittany discuss coming back to Rails and how powerful Rails can make a developer in a non-profit.
Vince Eberle is a Full Stack Developer at 412 Food Rescue. Over the last decade, he has worked on app development on-and-off using Ruby on Rails and EmberJS. He and Brittany discuss coming back to Rails and how powerful Rails can make a developer in a non-profit.
Таймкоды: 04:40 - Opening Keynote by Yehuda Katz, Jen Weber, and Godfrey Chan (https://youtu.be/vUojP8DDPs0) 29:20 - The Power of Debugging by Samanta de Barros (https://youtu.be/d29kpZWvhQY) 36:40 - FastFlood: The Story of a Massive Memory Leak in... by Sergio Arbeo (https://youtu.be/NradLNmO9ec) 47:00 - Why JS is Coming to Ember Templates by Matthew Beale (https://youtu.be/p32zUgp4-_4) 50:50 - Closing Keynote by Nicole Sullivan (https://youtu.be/ffiDfGkZyhk) 57:00 - Why Contributing Seems Scary by Anne-Greeth van Herwijnen (https://youtu.be/5mg5ID_pIRc) 01:01:15 - Lessons Learned from Changing Careers by Kara Luton (https://youtu.be/PYZzMEfu2mo) 01:19:15 - Decorators in Depth by Marco Otte-Witte (https://youtu.be/E_grLMx7q6Q) 01:23:40 - EmberQuest: Building an Octane Role Playing Game by Dan Monroe (https://youtu.be/Ld1xnQWkqPU) 01:29:20 - Autotracking: Reactivity and State in Modern Ember by Chris Garrett (https://youtu.be/HDBSU2HCLbU) 01:40:50 - Investing in Ember by Jessica Jordan (https://youtu.be/NWcXObK2lQI) 01:55:30 - Octane: A Paradigm shift in EmberJS by Suchita Doshi (https://youtu.be/ukzyBxQ9Zsc) Мы в соцсетях: 1. Telegram: https://t.me/proConf 2. Youtube: https://www.youtube.com/channel/UCvasfOIImo7D9lQkb1Wc1tw 3. SoundCloud: https://soundcloud.com/proconf 4. Itunes: https://podcasts.apple.com/by/podcast/podcast-proconf/id1455023466 5. Twitter: https://twitter.com/ProconfShow
It’s another potluck! In this episode, Scott and Wes answer your questions about Gastby vs everything, Next, Vue, Rails, working with agencies, CSS, and more! LogRocket - Sponsor LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax. Kyle Prinsloo Freelancing - Sponsor Kyle Prinsloo teaches you everything you need to know about freelancing, including how to quit your job, earn a side-income and start taking control of your life. Check it out at studywebdevelopment.com/freelaning. Use the coupon “SYNTAX” and get 25%. Show Notes 1:39 - This may be a crazy question but I need to build a similar system to Level Up Tutorials where people can access content based on a monthly subscription. Any recommendations where to start with either Next.js or Gastby.js? How do I check to see if a person is up-to-date with payment? 4:14 - What's your favorite new tab page? 6:19: CSS vs SCSS vs Styled Components? When you are developing a React or Next.js application which styling method do you guys use and why? Which one is “best practice”, or a more efficient way of going about it? 11:14 - What do you think of lit-html? 15:25 - I’m relatively new to React, and primarily learning the create-react-app way. When do you go for the create-react-app approach when building an application, and when do you customize the config? I’m uncertain when it’s time to escape the ‘create-react-app’ approach. Also, when escaping it, which main configurations are you grabbing? 18:19 - Is there a reason hasty treat intros are 2.5x the length of normal episodes? Now that Overcast has intro skipping it’d be nice if the intros were uniform in length. 21:23 - I see Kyle Matthews coming out with a lot of input on how Gatsby can be used for web applications as well. After listening to several of your podcasts, where you talk about Gatsby, it doesn’t seem like you agree, and would go for Next.js instead. In your opinion is the development at Gatsby really heading in the direction of SSG and web application? 27:17 - I’ve hopped on the Vue train from jQuery land, and am loving both Nuxt and Gridsome. However, I keep hearing all these good things about Gatsby. Would you guys say that it is worth it to learn Gatsby (and the whole react ecosystem for that matter) over Gridsome? This is mostly for small-medium-ish side-project web sites that connect to a headless CMS. 30:04 - What are your thoughts on CSS pre-processors nowadays? With all the advance and new features from CSS, do you guys really think that it is still worthy to use it those? 32:11 - Scott, can you talk a bit about why you decided to switch back to Meteor after putting in all the effort to convert LUT to Next.js? I am about to start a new fullstack project and was considering Next until I heard you switched back. Maybe I should consider Meteor instead? 40:21 - I’ve recently started an internship at one of my favorite tech companies where I’m using EmberJS and Ruby on Rails. I love the team I’m on (the people are so nice) but I’m not super passionate about the tech stack. I’d much rather be using something like React and NodeJS/Express in my day-to-day coding. Do you think it’s worth staying in a position (if I were to try and get a full-time gig in this role) if you don’t like the tech stack, but really like the people? 40:51 - I’m thinking of doing a bootcamp that teaches Ruby on Rails for backend. I hear a lot that Ruby is a dying language, but at the same time, I know it’s used for a lot of big-timers, such as Airbnb and Shopify. Could you please explain the relevance that Ruby/Ruby on Rails will have in 2020 forward, as well as if it’s worth learning for newer web developers at this point? 45:15 - What is the deal with CMSs/headless CMSs? I hear you guys talk about them all the time (Sanity, Keystone, Prisma?) but I’m not sure what they are good for. To me, they just seem like a UI to my database, but isn’t that what my application is? It just seems like it would be easier to have my frontend talk to my backend talk to my database instead of learning how each CMS wants things to be done and programming for that? Am I missing the point? 48:11 - What does Svelte needs for each of you to use it instead of React in personal and future developments? 50:38 - I freelance on the side as well as have a 9-5. The other dev I work with mentioned he’d help if I ever needed/wanted help on a client project. What are your thoughts on doing freelance work with someone who you also work with at your job? 52:01 - My team is currently in the design phase for a rewrite of our biggest product. We are switching from perl backend (y i k e s) to node (yay) but for some reason, our tech lead decided on hapi for the node framework. I have spent a little time with hapi and it seems cool but I am not sure about its longevity when compared to more established frameworks like express. How do you feel about hapi and should I push for a different framework? 54:29 - I’m a lead dev that recently joined an agency for the first time. What
After brushing over his "false starts" at being a developer, Yehuda slowly took us into a deep, deep dive. We talked about framework design, design philosophy, the importance of communities and being part of a core team.Yehuda is one of the creators of Ember.js, and a retired member of the Rust, Ruby on Rails and jQuery Core Teams. His 9-to-5 home is at the startup he founded, Tilde Inc.. There he works on Skylight, the smart profiler for Rails, and does Ember.js consulting. He's best known for his open source work and his work traveling the world doing open source evangelism and web standards work.Here are the links of the show:https://twitter.com/wycatshttps://www.tilde.iohttps://emberjs.comhttps://rubyonrails.orghttps://jquery.comhttp://script.aculo.ushttps://en.wikipedia.org/wiki/Merbhttp://sinatrarb.comhttps://emberjs.com/editions/octaneCreditsMusic Aye by Yung Kartz is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.Your hostSoftware Developer‘s Journey is hosted and produced by Timothée (Tim) Bourguignon, a crazy frenchman living in Germany who dedicated his life to helping others learn & grow. More about him at timbourguignon.fr.Want to be next?Do you know anyone who should be on the podcast? Do you want to be next? Drop me a line: info@devjourney.info or via Twitter @timothep.Gift the podcast a ratingPlease do me and your fellow listeners a favor by spreading the good word about this podcast. And please leave a rating (excellent of course) on the major podcasting platforms, this is the best way to increase the visibility of the podcast:Apple PodcastsStitcherGoogle PlayThanks!Support the show (http://bit.ly/2yBfySB)
Dave and Ilya discuss the recent deployment of FastBoot at Crash, hunting down memory leaks using ndb and the delete key, handling authentication with a FastBoot server, and the recent #Ember2019 blog posts
Dave & Ilya cover the Crash launch on Product Hunt, trying to balance speed vs. quality in an early stage startup, integrating 3rd party services like Typeform, rolling thunder launches and how developers are terrible at marketing
Dave and Ilya kick off the Crash Log podcast with updates from EmberConf, explain how functional CSS frameworks like Tailwind might not be the best solution, talk about a new CSS linting project Ilya is working on, and explain how they use GraphQL in production at Crash.
Ilya and Dave discuss the advantages and disadvantages of kanban over two weeks sprints for fast iteration, dealing with tech debt, and data fetching in realtime.
Dave and Ilya discuss the delights and trials of using GraphQL with Ember in production, then give their thoughts on the Ember Component Templates Co-location RFC.
We all got here somehow. This week Danny Blue and Leon Revill share how they got into web development. The web is a big place so how did those who do this as a career end up here? Visit the website for This Week in Web, resources & more: https://thewebplatformpodcast.com/186-how-did-you-get-into-web-development? Follow The Web Platform podcast on Twitter for regular updates @TheWebPlatform.
Vad är egentligen Decoupled Drupal? Adam frågar och Kristoffer gör sitt bästa för att svara på alla frågor. Detta poddavsnitt sponsras av Websystem Det här poddavsnittet sponsras av Websystem. Länkar till moduler, webbplatser och tjänster vi pratade om i detta avsnitt: Technopedias beskrivning av “decoupled” Drupal Europe 2018 - “Decoupled Drupal: Implications, risks and changes from a business perspective” PDF med schemat från DrupalEurope där 6 sessions hittas med ordet Decoupled i titeln ContentaCMS ReactJS Angular EmberJS Elm JSON API GraphQL
DEV NSK https://www.youtube.com/channel/UCKb4uMWix5GCUW468cW_qVw Роман Атрощенко — Elasticsearch - опыт использования в N1.RU https://www.youtube.com/watch?v=Kehv7hh966I Олег Федосеев - Мониторинг в 2k18 https://www.youtube.com/watch?v=pPaGO9n0_E8 Георгий Батюченко - Асинхронный ввод/вывод изнутри https://www.youtube.com/watch?v=eND8vVQtXjc Flowtype https://flow.org/en/ Jest https://facebook.github.io/jest/ Frontend Meetup #3 Максим Конин - EmberJS - ещё один лучший js-фреймворк https://www.youtube.com/watch?v=SjEsPZHUG-A Андрей Солодовников - Подходит ли Vue для создания большого web-приложения? https://www.youtube.com/watch?v=mBmCSXr4TSg Фёдор Савкин - Скажи мне что-нибудь на программистском! https://www.youtube.com/watch?v=fLuRX-1_Bjo Максим Соснов - Продвинутые техники FlowType https://www.youtube.com/watch?v=Or9G1m4kQag Алексей Сазыкин - Type-level functions in TypeScript https://www.youtube.com/watch?v=Z214OwivNso Олег Заимкин - Вам нужен F# https://www.youtube.com/watch?v=speY5apfUBg Умные пятницы в НГС https://www.youtube.com/watch?v=6TI9dVfuhgM How components won the “framework wars” https://codewithhugo.com/how-components-won-the-framework-wars/ Как жить с Node.js ? Благодарности патронам: Fedor Rusak, Storozhuk Bogdan, Sergey Petrov, Sergey Kiselev, Sergey Vinyarsky, Yakov, Pavel Sitnikov, Evgeny Neverov, nikaburu, Dmitry Dolzhenko, Pavel Drobushevich, Grigori Pivovar, Vasiliy Galkin, Евгений Власов, Konstantin Kovrizhnykh, Lagunovsky Ivan, Sergii Zhuk, Aleksandr Kiriushin, Neikist, B7W, Leo Kapanen, Oleksii Nesterenko, Никита Ложников Поддержи подкаст http://bit.ly/TAOPpatron Подпишись в iTunes http://bit.ly/TAOPiTunes Подпишись без iTunes http://bit.ly/TAOPrss Скачай подкаст http://bit.ly/TAOP167mp3 Старые выпуски http://bit.ly/oldtaop
Tonight we talk about EmberJS with Jessica Jordan - Ember Times author. We also talk a lot about women in the Tech Industry. You can connect with her here: http://www.jessicajordan.de and read some of her articles here: https://the-emberjs-times.ongoodbits.com/
Panel: Eric Dietrich Jeremy Green Reuven Lerner In this episode of the Freelancer’s Show, the panelist discuss “Business Cards. The Freelancers talk about the uses of business cards in today's job market. This discussion covers the many different facets of how business cards could create networks and conduits for new business. This is great episode to learn about how to positions your business cards in the freelancing world to market yourself. In particular, we dive pretty deep on: Do you have business cards? Bought a box several years ago - The lean approach Putting your business cards in peoples hands and clarifying what you do Taglines on your card What you do information on your card ROI on cards Make connections with business cards LinkedIn over business cards Marketing assets that lead to a digital funnel Mail Things that stand out and make your business card memorable Jump drives QR Codes The main point it for someone to remember you and want to do business with you Digital products Coupons for books T-Shirts Useful things to have to market yourself And much more! Sponsors/Affiliates FreshBooks Picks Eric Dietrich Scishow Amazing headphones Jeremy Green Rock and Roll with EmberJS Reuven Lerner Naked Statistics
Panel: Eric Dietrich Jeremy Green Reuven Lerner In this episode of the Freelancer’s Show, the panelist discuss “Business Cards. The Freelancers talk about the uses of business cards in today's job market. This discussion covers the many different facets of how business cards could create networks and conduits for new business. This is great episode to learn about how to positions your business cards in the freelancing world to market yourself. In particular, we dive pretty deep on: Do you have business cards? Bought a box several years ago - The lean approach Putting your business cards in peoples hands and clarifying what you do Taglines on your card What you do information on your card ROI on cards Make connections with business cards LinkedIn over business cards Marketing assets that lead to a digital funnel Mail Things that stand out and make your business card memorable Jump drives QR Codes The main point it for someone to remember you and want to do business with you Digital products Coupons for books T-Shirts Useful things to have to market yourself And much more! Sponsors/Affiliates FreshBooks Picks Eric Dietrich Scishow Amazing headphones Jeremy Green Rock and Roll with EmberJS Reuven Lerner Naked Statistics
Panel: Reuven Lerner Erik Dietrich Jeremy Green In this episode of the Freelancer’s Show, the panelist discuss “Responding to RFPs( Request for Proposal).” Each panelist describes their experience with consulting clients and companies and working out RFPs. Eric Dietrich of episode 296 gives great insight on ways to communicate clearly with companies when approached for bidding on a job. This is a great episode to understand appropriate precautions and understanding the “others side” of RFPs. In particular, we dive pretty deep on: Eric talks about his experience with RFPs Jeremy describes his past encounters with RFPs. Jonathan’s experience with RFPs. Price droppers Learning about the budget Qualifications points of the job Individual to RFPs Risk competing with companies Last resort Issues of RFPs - Not individual but by companies Quoting a price Involving a phone call Resumes Changing the conversation Value-based pricing And much more! Picks Jonathan Stark Chris Do of Blind Gorilla Clients valuepricingbootcamp.com Erik Dietrich Cortana Top Loader for Jeep Jeremy Green Increase Your Consulting Fees Rock’n Roll with EmberJS
Panel: Reuven Lerner Erik Dietrich Jeremy Green In this episode of the Freelancer’s Show, the panelist discuss “Responding to RFPs( Request for Proposal).” Each panelist describes their experience with consulting clients and companies and working out RFPs. Eric Dietrich of episode 296 gives great insight on ways to communicate clearly with companies when approached for bidding on a job. This is a great episode to understand appropriate precautions and understanding the “others side” of RFPs. In particular, we dive pretty deep on: Eric talks about his experience with RFPs Jeremy describes his past encounters with RFPs. Jonathan’s experience with RFPs. Price droppers Learning about the budget Qualifications points of the job Individual to RFPs Risk competing with companies Last resort Issues of RFPs - Not individual but by companies Quoting a price Involving a phone call Resumes Changing the conversation Value-based pricing And much more! Picks Jonathan Stark Chris Do of Blind Gorilla Clients valuepricingbootcamp.com Erik Dietrich Cortana Top Loader for Jeep Jeremy Green Increase Your Consulting Fees Rock’n Roll with EmberJS
Sam and Ryan chat about Tailwind and compilers (again), Ryan's EmberJS homepage teardown, and releasing with git tags. They also answer some listener questions. Topics covered: 0:00 – Compilers, Tailwind, and APIs for styling components 17:00 – Ember.js Homepage teardown 30:48 – git tag for immutable gh references We also answers some listener questions: 37:14 – Q: What's the deal with using websockets in Ember? Any good patterns beyond creating some kind of Ember service to listen to the socket and push data into the store? (@yohanishkin on Slack) 40:57 – Not sure if you’ve talked about it at all yet, but the this topic seems worth further exploration: [Should Ember better define its use of Slack?] @mattmcmanus
Julie Moronuki: @argumatronic | argumatronic.com Show Notes: This episode is a follow-up episode to the one we did with Julie in September: Learn Haskell, Think Less. We talk a whole lot about monoids, and learning programming languages untraditionally. Transcript: CHARLES: Hello everybody and welcome to The Frontside Podcast, Episode 93. My name is Charles Lowell, a developer here at The Frontside and I am your podcast host-in-training. With me today from The Frontside is Elrick also. Hello, Elrick. ELRICK: Hey. CHARLES: How are you doing? ELRICK: I'm doing great. CHARLES: Alright. Are you ready? ELRICK: Oh yeah, I'm excited. CHARLES: You ready to do some podcasting? Alright. Because we actually have a repeat guest on today. It was a very popular episode from last year. We have with us the author of ‘Learning Haskell: From First Principles' and a book that is coming out but is not out yet but one that we're eagerly looking forward to, Julie Moronuki. Welcome. JULIE: Hi. It's great to be back. CHARLES: What was it about, was it last October? JULIE: I think it was right before I went to London to Haskell [inaudible]. CHARLES: Yeah. JULIE: Which was in early October. So yeah… CHARLES: Okay. JULIE: Late or early October, somewhere in there. CHARLES: Okay. You went to Haskell eXchange. You gave a talk on Monoids. What have you been up to since then? JULIE: Oh wow. It's been a really busy time. I moved to Atlanta and so I've had all this stuff going on. And so, I was telling a friend last night “I'm going to be on this podcast tomorrow and I don't think I have anything to talk about.” [Laughter] JULIE: Because I feel like everything has just been like, all my energy has been sucked up with the move and stuff. But I guess… CHARLES: Is it true that everybody calls it ‘Fatlanta' there? JULIE: Yeah. [Laughs] CHARLES: I've heard the term. But do people actually be like “Yes, I'm from Fatlanta.” JULIE: I've heard it a couple of times. CHARLES: Okay. JULIE: Maybe it's mostly outsiders. I'm not sure. CHARLES: [Chuckles] JULIE: But yeah, it's a real cool city and I'm real happy to be here. But yeah, I did go in October. I went to London and I spoke at Haskell eXchange which was really amazing. It was a great experience and I hope to be able to go back. I got to meet Simon Payton Jones which was incredible. Yeah, and I gave a talk on monoids, monoids and semirings. And… CHARLES: Ooh, a semiring. JULIE: Semiring. So, a semiring is a structure where there's two monoids. So, both of them have an identity element. And the identity element of one of them is an annihilator. Isn't that a great word? It's an annihilator… CHARLES: Whoa. JULIE: Of the other. So, if you think of addition and multiplication, the identity element for addition is zero, right? But if you multiply times zero, you're always going to get to zero, so it's the annihilator of multiplication. CHARLES: Whoa. I think my mind is like annihilated. [Laughter] JULIE: So, it's a structure where you're got two monoids and one of them distributes over the other, the distributive property of addition and multiplication. And the identity of one of them is the annihilator of the other. Anyway, but yeah, I gave a history of where monoids come from and that was really fun. CHARLES: Yeah. I would actually like to get a summary of that, because I think since we last talked, I've been getting a little bit deeper and deeper into these formal type classes. I'm still not doing Haskell day-to-day but I've been importing these ideas into just plain vanilla JavaScript. And it turns out, it's actually a pretty straightforward thing to do. There's definitely nothing stopping these things from existing in JavaScript. It's just, I think people find type class programming can be a tough hill to climb or something like that, or find it intimidating. JULIE: Yeah. CHARLES: But I think it's actually quite powerful. And I think one of the things that I'm coming to realize is that these are well-worn pathways for composing things. JULIE: Right. CHARLES: So, what you encounter in the wild is people generating these one-off ways of composing things. And so, for a shop like ours, we did a lot of Ruby on Rails, a lot of Ember, and both of those frameworks have very strong philosophical underpinnings that's like “You shouldn't be reinventing the wheel if you don't have to.” I think that all of these patterns even though they have crazy quixotic esoteric names, they are the wheels, the gold standard of wheel. [Laughs] They're like… JULIE: Right. CHARLES: We should not be reinventing. And so, that's what I'm coming to realize, is I'm into this. And last time you were talking, you were saying “I find monoids so fascinating.” I think it took a little bit while to seep in. But now, I feel like it's like when you look at one of those stereo vision things, like I'm seeing monoids everywhere. It's like sometimes they won't leave me alone. JULIE: In ‘Real World Haskell' there's a line I've always liked. And I'm going to misquote it slightly but paraphrasing at least. “Monoids are ubiquitous in programming. It's just in Haskell we have the ability to just talk about them as monoids.” CHARLES: Yeah, yeah. JULIE: Because we have a name and we have a framework for gathering all these similar things together. CHARLES: Right. And it helps you. I feel like it helps you because if you understand the mechanics of a monoid, you can then when you encounter a new one, you're 90% there. JULIE: Right. CHARLES: Instead of having to learn the whole thing from scratch. JULIE: Right. And as you see them over and over again, you develop a kind of intuition for when something is monoidal or something looks like a semiring. And so, you get a certain intuition where you think, “Oh, this thing is like a… this is a monad.” And so, what do I know about monads? All of a sudden, this new situation like all these things that I know about monads, I can apply to this new situation. And so, you gain some intuition for novel situations just by being able to relate them to things you already do know. CHARLES: Exactly. I want to pause here for people. The other thing that I think I've come in the last three months to embrace is just embrace the terminology. JULIE: Yeah. CHARLES: You got to just get over it. JULIE: [Chuckles] CHARLES: Think about it like learning a foreign language. The example I give is like tasku is the Finnish word for pocket. JULIE: Right. CHARLES: It sounds weird, right? Tasku. But if you say it 10 times and you think “Pocket, pocket, pocket, pocket, pocket.” JULIE: Yes, yeah. [Laughs] CHARLES: Then it's like, this is a very simple, very useful concept. JULIE: Right. CHARLES: And it's two-sided. There on the one hand, the terminology is obtuse. But at the same time, it's not. It's just, it is what it is. And it's just a symbol that's referencing a concept. JULIE: Right, right. CHARLES: It's a simple concept. So, I just want to be… I know for our listeners, I know that there's a general admonition. Don't worry about the terminology. It's… JULIE: Right, right. Like what I just said, I said the word ‘monad'. I just threw that out there at everybody, but [chuckles] it doesn't matter which one of these words we'd be talking about or whatever I call them. We could give monads a different name and it's still this concept that once you understand the concept itself, and then you can apply it in new situations, it doesn't matter then what it's called. But it does take getting used to. The words are… well, I think functor is a pretty good word for what it is. If you know the history of functor and how it came to mean what it means, I think it's a pretty good word. CHARLES: Really? So, I would love to know the history. Because functor is mystifying to me. It sounds like, I think the analogy I use is like if George Clinton and a funk parliament had an empire, the provinces, the governors of the provinces would be functors. ELRICK: [Laughs] JULIE: Yes. CHARLES: But [Laughs] that's the closest thing to an explanation I can come up with. JULIE: I might use that. I'm about to give a talk on functors. I might use that. [Laughter] ELRICK: Isn't that the name of the library? Funkadelic? CHARLES: Well, that's the name of the library that I've been… JULIE: [Could be], yeah. ELRICK: That you'd been… CHARLES: That I'd been [writing] for JavaScript. ELRICK: Yeah. CHARLES: That imports all these concepts. JULIE: [Laughs] ELRICK: Yeah. JULIE: Yeah. ELRICK: So awesome. JULIE: Yeah. Yeah, I have… CHARLES: So, what is the etymology of functor? JULIE: Well, as far as I can tell, Rudolf Carnap, the logician, invented the word. I don't know if he got it from somewhere else. But the first time I can find a reference to it is in, he wrote a book about… he was a logician but this is sort of a linguistics book. It's called ‘The Logical Syntax of Language'. And that's the first reference I know of to the word functor. And he was trying to really make language very logically systematic, which natural language is and isn't, right? [Chuckles] CHARLES: Right. JULIE: But he was only concerned with really logically systematizing everything. And so, he used the word functor to describe some kinds of function words in language that relate one part of a sentence to another part of a sentence. CHARLES: Huh. So, what's an example? JULIE: So, the example that I've used in the past is, as far as I know this is not one that Carnap himself actually uses but it's the clearest one outside of that book… well the ones inside the book I don't really think are very good examples because they're not really how people talk. So, the one that I've used to try to explain it is the word ‘not' in English where ‘not' gets applied to the whole sentence. It doesn't really change the logical structure of the sentence. It doesn't change the meaning of the sentence except for now it negates the whole thing. CHARLES: I see. JULIE: And so, it relates this sentence with this structure to a different context, which is now the whole thing has been negated. CHARLES: I see. So, the meaning changes, but the structure really doesn't. JULIE: Right. And it changes the whole meaning. CHARLES: Right. JULIE: Not just part of the sentence. So, if you imagine ‘not' applying to an entire sentence because of course we can apply it just to a single word or just to a single phrase and change the meaning just of that word or that phrase, but if you imagine a context where you've applied ‘not' to a whole sentence, to an entire proposition, because of course he's a logician. So, if you've applied ‘not' to an entire proposition, then it doesn't change the structure or the meaning of that proposition per se except for it just relates it to the category of negated propositions. CHARLES: Mmhmm. JULIE: So, that's where it comes from. And… CHARLES: But I still don't understand why he called it functor. JULIE: He's sort of making up… well, actually I think the German might be the same word. CHARLES: Ah, okay. JULIE: Because he was writing in German. Because he's looking for something that evokes the idea of ‘function word'. CHARLES: Oh. JULIE: So, if you were to take the ‘func' of ‘function' [Laughs] and the, I don't know, maybe in German there's some better explanation for making this into a particular word. But that's how I think of it. So, it's ‘function word'. And then category theorists took it from Carnap to mean a way to map a function in this category or when we're talking about Haskell, a function of this type, to a function of another type. CHARLES: Okay. JULIE: And so, it takes the entire function, preserves the structure of the function just like negation preserves the structure of the sentence, and maps the whole thing to just a different context. So, if you had a function from A to B, functor can give you a function from maybe A to maybe B. CHARLES: Right. JULIE: So, it takes the function and just maps it into a different context. CHARLES: Right. So, a JavaScript example is if I've got an array of ints and a function of ints to strings, I can take any array of ints and get an array of strings. JULIE: Right. CHARLES: Or if I have a promise that has an int in it, I can take that same function to get a promise of a string. JULIE: Yeah. CHARLES: Yeah. I had no idea that it actually came from linguistics. JULIE: Yeah. [Laughs] CHARLES: So actually, the category theorists even… it digs deeper than category theory. They were actually borrowing concepts. JULIE: They were, yes. CHARLES: We just always are borrowing concepts. ELRICK: I like the borrowing of concepts. JULIE: Yeah. ELRICK: I think where people struggle with certain things, it's tying it back to something that they're familiar with. So, that's where I get… my mind is like [makes exploding sound] “I now get it,” is when someone ties it back to something that I am… CHARLES: Right. ELRICK: Familiar with. Like Charles' work with the JavaScript, tying it with JavaScript. I'm like, “Oh, now I see what they're talking about.” JULIE: Right. CHARLES: because you realize, you're using these concepts. People are using them, just they're using them anonymously. JULIE: Right. ELRICK: True. CHARLES: They don't have names for them. JULIE: Right. ELRICK: True. CHARLES: It's literally like an anonymous function and you're just taking that lambda and assigning it to a symbol. JULIE: Yeah. CHARLES: You're like “Oh wait. I've been using this anonymous function all over the place for years. I didn't realize. Boom. This is actually a formal concept.” ELRICK: True. And I think when people say like “Don't reinvent the wheel” it's a great statement for someone that has seen a wheel already. [Laughter] ELRICK: You know what I'm saying? If you never saw a wheel, then your'e going to reinvent the wheel because you're like “Aw man. This doesn't exist.” [Chuckles] JULIE: Yeah. ELRICK: But if people are exposed to these concepts, then they wouldn't reinvent the wheel. CHARLES: Right. JULIE: Right. Yeah. CHARLES: Instead of calling in some context, calling it a roller. [Chuckles] It's a round thingy. [Laughter] JULIE: Right. Yeah, so that's a little bit what I tried to do in my monoid talk in London. I tried to give some history of monoid, where this idea comes from and why it's worth talking about these things. CHARLES: Yeah. JULIE: Why it's worth talking about the structure. CHARLES: So, why is it worth the… where did it come from and why is it worth talking about? JULIE: Oh, so back when Boole, George Boole, when he decided to start formalizing logic… CHARLES: George Boole also, he was a career-switcher too, right? He was a primary school teacher. JULIE: Right, yeah. CHARLES: If I recall. He actually, he was basically teaching. Primary school is like elementary school in England, right? JULIE: I believe so, yes. CHARLES: Yeah. I think he was like, he was basically the US equivalent of an elementary school teacher who then went on to a second and probably, thankfully a big career that left a big legacy. JULIE: Right. Although no one knew exactly how big the legacy was really, until Claude Shannon picked it up and then just changed the whole world.[Laughs] Anyway, so Boole, when he was trying to come up with a formal algebra of logic so that we could not care so much about the semantic content of arguments (we could just symbolize them and just by manipulating symbols we could determine if an argument was logically valid or not), he was… well, for disjunction and conjunction which is AND and OR – well, disjunction would be the OR and conjunction the AND – he had prior art. He had addition and multiplication to look at. So, addition is like disjunction in some important ways. And multiplication is like conjunction in some important ways. And I think it took me a while to see how addition and disjunction were like each other, but there are some important ways that they're like each other. One of them is that they share their identity values. If you think of, it's sort of like binary addition and binary multiplication because in boolean logic there's only two values: true or false. So, you have a zero and a one. So, if you think of them as being like binary addition and binary multiplication then it's easier to see the connection. Because when we think of addition of just integers in a normal base 10 or whatever, it doesn't seem that much like an OR. [Laughs] CHARLES: Mmhmm. No, it doesn't. JULIE: [Inaudible] like a logical OR. So, it took me a while to see that. But they're also related then to set intersection and union where intersect-… CHARLES: So can… Let's just stop on that for a little bit, because let me parse that. So, for OR I've got two values, like in an ‘if' statement. This OR that. If I've got a true value then I can OR that with anything and I'll get the same anything. JULIE: Right. CHARLES: So, true is the identity value of OR, right? Is that what you're saying? So, one… JULIE: Well, it's false that's the identity of OR. CHARLES: Oh, it is? JULIE: Zero is the identity of addition. CHARLES: Wait, but if I take ‘false OR one' I get… oh, I get one. JULIE: Right. CHARLES: Okay. So, if I get ‘false OR true', I get true. Okay, so false is the identity. JULIE: Yeah. CHARLES: Oh right. You're right. You're right. Because… okay, sorry. JULIE: So, just like in addition, zero is the identity. So, whatever you add to zero, that's the result, right? You're going to get [the same] CHARLES: Right. JULIE: Value back. So, with OR false is the identity and false is equivalent to zero. CHARLES: [Inaudible] ‘False OR anything' and you're getting the anything. JULIE: Right. So, the only time you'll get a false back is if it's ‘false OR false', right? CHARLES: Right. Mmhmm. JULIE: Yeah. So, false is the identity there. And then it's sort of the same for conjunction where one is the identity of multiplication and one is also the… I mean, true is then the identity of logical conjunction. CHARLES: Right. Because one AND… JULIE: ‘True AND false' will get the false back. [Inaudible] CHARLES: Right. ‘True And true' you can get the true back. JULIE: Yeah. CHARLES: Okay. JULIE: And it's also then true, getting back to what we were talking about, semirings, it's also true that false is a kind of annihilator for conjunction. That's sort of trivial, because… CHARLES: Oh, because you annihilate the value. JULIE: Right. When there's only two values it's a little bit trivial. But it is [inaudible]. So… CHARLES: But it's [inaudible]. Yeah. It demonstrates the point. JULIE: Right. CHARLES: So, if I have yeah, ‘false AND anything' is just going to be false. So, I annihilate whatever is in that position. JULIE: Right. CHARLES: And the same thing as zero is the annihilator for multiplication, right? JULIE: Right. CHARLES: Because zero times anything and you annihilate the value. JULIE: Yeah. CHARLES: And now I've got… okay, I'm seeing it. I don't know where you're going with this. [Laughter] ELRICK: Yeah. CHARLES: But I'm there with you. ELRICK: Yup. JULIE: And then it turns out there are some operations from set theory that work really similarly. So, intersection and union are similar but the ones that are closer to conjunction/disjunction are disjoint unions and cartesian products. So we don't need to talk about those a whole lot if you're not into set theory. But anyway… CHARLES: I like set theory although it's so hard to describe without pictures, without Venn diagrams. JULIE: It is. It really is, yeah. So anyway, all of these things are monoids. And they're all binary associative operations with identity elements. So, they're all monoids. And so, we've taken operations on sets, operations on logical propositions, operations on many kinds of numbers (because not all kinds of addition and multiplication I guess are associative), and we can kind of unify all of those into the same framework. And then once we have done that, then we can see that there's all these other ‘sets'. Because most of the kinds of numbers are sets and there are operations on generic sets with set theory. So, now we can say “Oh. We can do these same kinds of operations on many other kinds of sets, many other varieties of sets.” And we can see that same pattern. And then we can get a kind of intuition for “Well, if I have a disjunctive monoid where I'm adding two things or I'm OR-ing two things…” Because even though those are logically very similar, intuitively and in terms of what it means to concatenate lists versus choosing one or the other, those obviously have different practical effects. CHARLES: So, I'm going to try and come up with some concrete examples to maybe… JULIE: Okay, yeah. CHARLES: A part of them will probably be like in JavaScript, right? So, to capture the idea of a disjunctive monoid versus a conjunctive monoid. So, a disjunctive monoid is like, so in JavaScript we're got two objects. You concat them together and it's like two maps or two hashes. So, you mash them together and you get… so, for the disjunctive one you'd have all the keys from both of the hashes inside the resulting object. You take two objects. Basically we call it object assign in JavaScript where you have basically the empty object. You can take the empty object and then take any number of objects. And so, we talked about… JULIE: That would become a disjunctive monoid, right? CHARLES: That would be a disjunctive monoid because you're like basically, you're OR-ing. Yeah. JULIE: You're kind of, [inaudible] CHARLES: Hard to find the terminology. JULIE: Yeah. CHARLES: But like object assign would be a disjunctive monoid because you're like mashing these two objects. And the resulting object has all of the things from both of them. JULIE: Right. So, it's like a sum of the two, right? CHARLES: Right, right. Okay, so then another one would be like min or max where you've got this list of integers and you can basically take any two integers and you can mash them together and if you're using min, you get the one that's smaller. Basically, you're collapsing them into one value but you're actually just choosing one of them. Is that like… JULIE: Yeah. CHARLES: Would that be like a conjunctive monoid? JULIE: No, that's also disjunctive but that's more like an OR than like a sum. CHARLES: Okay. JULIE: Right. So, that's what I said. It's hard to think of disjunctive monoids I think because there's really two varieties. There's some underlying logical similarity, like the similarity in the identity values. But they're also different. Summing two things versus choosing one or the other are also very different things in a lot of ways. CHARLES: Right. Okay. JULIE: And so, I think the conjunctive monoids are all a little bit more similar, I think. [Chuckles] But the disjunctive monoids are two broad categories. And we don't really have a monoid in Haskell of lists where you're choosing one or the other. The basic list monoid is you're concatenating them. So, you're adding two lists or taking the union of them. But for maybe, the maybe type, we do have monoids in Haskell where you're just choosing either the first just value that comes up or the last just value that comes up. So, we do have a monoid of choice over the maybe type. And then we have a type class called alternative which is monoids of choice for… so, they're disjunctive monoids but instead of adding the two things together, they're choosing one or the other. CHARLES: Okay. JULIE: Though we have a type class for that. [Laughs] CHARLES: [Sighs] Oh wow. Yeah. JULIE: Mmhmm, yeah. CHARLES: I'l have to go read up on that one. JULIE: That type class comes up the most when you're parsing, because you can then parse… like if you found this thing, then parse this thing. But if you haven't found this thing, then you can keep going. And if you find this other thing later, then you can take that thing. So, you allow the possibility of choice. The first thing that you come to that matches, take that thing or parse that thing. So, that type class gets mostly used for parsing but it's not only useful for parsing. CHARLES: Okay. JULIE: So yeah. That's the most of the time when I've used it. CHARLES: Is this when you're like parsing JSON? Or is this when you're just searching some stream for some value? Like you just want to run through it until you encounter this value? Or how does that…? JULIE: Right. Say you want to run through it until you find either this value or this value. I've used it when I've been parsing command line arguments. So, let's say I have some flags that can be passed in on my command line command. There are some flags that could be passed in. So, we'll parse until we find this thing or this thing. This flag or this flag. So, if you find this flag, then we're going to go ahead and parse that and do whatever that flag says to do. If you don't find that first flag then we can keep parsing and see if you find this other flag, in which case we'll do something different. CHARLES: Okay. JULIE: It'll take the first match that it finds. Does that make sense? CHARLES: Yeah, yeah, yeah. It does. But I'm not connecting how it's a monoid. [Laughs] JULIE: How is that a monoid? Well, because it's a monoid of OR-ing CHARLES: What's the identity value or the empty value in that case? JULIE: Well, the empty value would be… let's say you have maybes. Let's say you have some kind of maybe thing, so you're parser is going to return maybe this thing, maybe whatever you're parsing. Like maybe string. CHARLES: Yeah, yeah. JULIE: So, it's going to return a maybe string. So well, nothing would be the empty. CHARLES: Okay. JULIE: But nothing is like the zero because it's a disjunction, logical OR. So, only when you have two nothings will you get back a nothing. Otherwise, it will take the first thing that it finds. CHARLES: Okay. I see. JULIE: Yeah. So, the identity then is the nothing, like false is the identity for disjunction. CHARLES: Mmhmm. Okay. JULIE: Yeah. CHARLES: [Inaudible] JULIE: Yeah. If you have nothing or this other thing, then you return this other thing. Then you return the maybe string. If you have two nothings, then you get in fact nothing. Your parsing has failed. CHARLES: Right, because you've got nothing. JULIE: Because you've got nothing. There was nothing to give you back. CHARLES: So, you concatenated all of the things together and you ended up with nothing. JULIE: Right, because there was nothing there. CHARLES: Right. [Laughs] JULIE: You found nothing. So, it's useful when you've got some possibilities that could be present and you just want to keep parsing until you find the first one that matches. And then it'll just return whatever. It'll just parse the first thing that it matches on. CHARLES: Okay, okay. JULIE: Does that make sense? CHARLES: Yeah. No, I think it makes sense. JULIE: I'm not sure. Because I feel like I kind of went down a rabbit hole there. [Laughs] CHARLES: Yeah. [Laughs] No, no. I think it makes sense. And as a quick aside, I think… so, I was, when we were talking about min and max, are min and max also like a semiring? Because negative infinity is the annihilator of min and it's the identity of max. and positive infinity is the annihilator of max but it's the identity of min. JULIE: I guess. I don't really think of min and max as having identities. Is that how [inaudible]? CHARLES: I'm just, I don't know. Well, I think if you have negative infinity and you max it with anything, you're going to get the anything, right? Negative infinity max one is one. Negative infinity/minus a billion is minus a billion. JULIE: Yeah, okay. CHARLES: I don't know. Just off the cuff. I'm just trying to… annihilators sound cool. And so… [Laughter] CHARLES: And so I'm like, I'm trying to find annihilators. JULIE: Yeah, they are cool. CHARLES: [Laughs] JULIE: One of my friends on Twitter was just talking about how he used the intuition at least of a semiring at work because he had this sort of monoid to concatenate schedules. So, he's got all these different schedules and he's got this kind of monoid to concatenate them, to merge the schedules together. But then he's got this one schedule that is special. And whenever something is in this schedule, it needs to hard override every other schedule. CHARLES: Right. JULIE: And so, that was like the annihilator. So, he was thinking of it as a semiring, because that hard override schedule is like the annihilator of all the other schedules. CHARLES: Yeah. JULIE: If anything else exists on this day or whatever, then it'd just get a hard override. So, there's a real world use. [Laughs] CHARLES: Yeah, a real world example. That's the thing that I'm finding, is that all these really very crystalline abstractions, they still play out very well I think in the real world. And they're useful as a took in terms of casting a net over a problem. Because you're like… when I'm faced with something new, I'm like “Well, let's see. Can I make it a functor?” And if I can, then I've unlocked all these goodies. I've unlocked every single composition pattern that works with functor. JULIE: Right, right. CHARLES: And it's like sometimes it fits. It almost feels like when you're working on something at home and you've got some bolt and you're trying on different diameters. So you're like, “Oh, is it 15 millimeter? Is it 8 millimeter?” JULIE: Right. [Laughs] CHARLES: “Like no, okay. Maybe it'll work with this.” But then when it clicks, then you can really ratchet with some serious torque. JULIE: Right, right. Yeah. CHARLES: So, yeah. Definitely trying to look for semirings [Laughs] is definitely beyond my [can] at this point. But I hope to get there where it can be like, if it's a fit, it's a fit. That's awesome. JULIE: Right. Yeah, it's kind of beyond my can too. Semirings are still a little bit new for me and I can't say that I find them in the wild as it were, as often as monoids or something. But I think it just takes seeing some concrete examples. So, now you know this idea exists. If you just have some concrete examples of it, then over time you develop that intuition, right? CHARLES: Right. JULIE: Like “Okay, I've seen this pattern before.” [Chuckles] CHARLES: yeah. Basically, every time now I want to fold a list, or like in JavaScript, any time you want to reduce something I'm like “There's a monoid here that I'm not seeing. Let me look for it.” JULIE: Yeah. Oh, that's cool, yeah. CHARLES: Because like, that's basically, most of the time you're doing a reduce, then like I said that's the terminology for fold in JavaScript, is you start with some reducible thing. Then you have an initial value and a function to actually concatenate two things together. JULIE: Right. CHARLES: And so, usually that initial state, that's your identity. And then that function is just your concat function from your monoid. And so, usually anytime I do a reduce, there's the three pieces. Boom. Identity value, concatenation function, it's usually right there. And so, that's the way I've found of extracting these things, is I'm very suspicious every time I'm tempted to… JULIE: [Laughs] CHARLES: A fold. I'm like “Hmm. Where's the monoid I'm missing? Is it [under the] couch?” Like, where is it? [Laughs] Because it just, it cleans it up and it makes it so much more concise. JULIE: Oh yeah, that's awesome. CHARLES: So anyhow. JULIE: Have we totally lost Elrick? ELRICK: Nope, I'm still here. JULIE: Okay. [Laughs] ELRICK: I'm sitting in and listening to you two break down these complex topics is really good. Because you guys break them down to a level where it's consumable by people that barely understand it. So, I'm just sitting here just soaking everything in like “Oh, that's awesome.” Taking notes. Yes, okay, okay. [Laughter] JULIE: Cool. ELRICK: So, I'm like riding the train in the back just hanging out, feeling the cool breeze while you guys just pull the train ahead in… [Laughter] ELRICK: In the engine department, you know? It's awesome. CHARLES: Yeah. ELRICK: I don't know if they're related. But you were talking about semirings and I heard of semigroups or semigroups. I have no idea if those two things are related. Are they related or [inaudible]? JULIE: They're kind of related. So, a semigroup is like a monoid but doesn't have an identity value. CHARLES: What is an example of a semigroup out there in the wild? Because every time I find a semigroup, I feel like it's actually a monoid. JULIE: Well, you know I feel like that a lot, too. We do have a data type in Haskell that is a non-empty list. So, there is no empty list CHARLES: Ah, right. Okay. JULIE: So then you can concatenate those lists, but there's never an identity value for it. CHARLES: I see. JULIE: Yeah. So, that's a case. There's actually a lot of comparison functions, greater than and less than. I think those are semigroups because they're binary, they're associative, but they don't have an identity value. Like if you're comparing two numbers, there's not really an identity value there. CHARLES: Right. Well, would the negative infinity work there? Let's see. Like, negative infinity greater than anything would be the anything. Well, okay wait. But greater than, that takes numbers and yields a boolean, right? JULIE: Yeah, CHARLES: Right. So, it couldn't be… could it be a semigroup? Don't semigroups have to… Doesn't the [inaudible] function have to yield the same type as the operands? JULIE: Yes. CHARLES: But a non-empty list, that's a good one. Sometimes it's basically not valid for you to have a list that doesn't have any elements, right? Because it's like the null value or the empty value and it could be like a shopping cart on Amazon. You can't have a shopping cart without at least something in it. JULIE: Right. CHARLES: Or, you can't check out without something. So, you might want to say like the shopping cart that I'm going to check out is a non-empty list. And so, you can put two non-empty lists together. But yeah, there's no value you can mash together, you can concat with anything, that isn't empty. JULIE: Right. CHARLES: So, I guess going back to your question Elrick, I don't know if it's related to semiring. But semigroup is just, it's like one-half of monoid. It's the part that concats two values together. JULIE: Right. Well, yeah. And so, it's supposed to be half a group, right? But I don't remember… CHARLES: [Laughs] JULIE: [Inaudible] all of the group stuff is, all the stuff that these types have to have to be a group. And similarly, I forget what the difference between semiring and ring is. [Chuckles] Because a ring and a group I know are not the same thing. But I forget what the difference is, too. So, I kind of got a handle on what semigroups are, and I know all my Haskell friends are going to, when they hear this podcast they're going to tweet all these examples of semigroups at me, especially my coauthor for ‘Joy of Haskell', Chris Martin. He's really into semigroups. And so, I know he's going to be very disappointed in my inability to think… [Laughter] JULIE: To think of any good examples. But it's not something that I find myself using a lot, whereas semirings are something that I have started noticing a little bit more often. So, how a monoid relates to a group is something that I can't remember off the top of my head. And I know how semirings relate to monoids, but how monoids then relate to rings and groups, I can't really remember. And so, these things are sort of all related. But the relation is not something I can spill out off the top of my head. Sorry. [Laughs] CHARLES: No, It's no worries. You know, I feel like… ELRICK: It's all good. CHARLES: What's funny is I feel like having these discussions is exactly like the discussions people have with any framework of using one that we use a lot, which is EmberJS. But if you could do with React or something, it's like, how does the model relate to the controller, relate to the router, relate to the middleware, relate to the services? You just have these things, these moving parts that fit together. And part of… I feel like exploring this space is really, absolutely no different than exploring any other software framework where you just have these things, these cooperating concepts, and they do click together. But you just have to map out the space in your head. JULIE: Yeah. This is going to sound stupid because everybody thinks that because I know Haskell I must know all these other things. But I just had to ask people to recommend me a book that could explain the relationship of HTML and CSS, because that was completely opaque to me. CHARLES: [Laughs] Yeah. JULIE: I've been involved in the making now of several websites because of the books and stuff like that. And I have a blog. It's not WordPress or anything. I did that sort of myself. So, I've done a little bit with that. But CSS is really terrifying. And… CHARLES: Right. Like query selectors, rules, properties. JULIE: Yeah. ELRICK: [Laughs] CHARLES: Again, might as well be groups and semigroups and monoids, right? JULIE: Right, right. ELRICK: Yeah. CHARLES: [Laughs] ELRICK: That is really interesting. [Chuckles] I've never heard anyone make that comparison before. But it's totally true, now that I'm thinking about it. JULIE: Yeah, yeah. CHARLES: Yeah. In the tech world we are so steeped in our own jargon that we could be… we can reject one set of jargon and be totally fine with another set. Or be like, suspicious of one set of concepts working together and be totally fine with these other designations which are somewhat arbitrary but they work. JULIE: Right. CHARLES: So, people use them. JULIE: So, it's like what you've gotten used to and what you're familiar with and that seems normal and natural to you. [Chuckles] So, the Haskell stuff, most of it seems normal and natural to me. And then I don't understand HTML and CSS. So, I bought a book. [Laughter] CHARLES: Learning HTML and CSS from first principles. JULIE: Yes, yeah. I just wanted to understand. I could tell that they do relate to each other, that there is some way that they click together. I can tell that by banging my head against them repeatedly. But I didn't really understand how, and so yeah. So, i've been reading this book to [Laughs] [learn] HTML and CSS and how they relate together. That's so important, just figuring out how things relate to each other, you know? CHARLES: Yeah. ELRICK: Yeah. That is very true. JULIE: Yeah. ELRICK: We can trade. I can teach you HTML and CSS and you can teach me Haskell. JULIE: Absolutely. ELRICK: [Laughs] CHARLES: There you go JULIE: [Laughs] ELRICK: Because I'm like, “Ooh.” I'm like, “Oh, CSS. Great. No problem.” [Laughter] ELRICK: Haskell, I'm like “Oh, I don't know.” JULIE: Yeah. CHARLES: Yeah. ELRICK: [Laughs] CHARLES: No, it's amazing [inaudible] CSS. ELRICK: Yeah. CHARLES: It is, it's a complicated system. And it's actually, it's in many ways, it's actually a pretty… it's a pretty functional system, CSS is at least. The DOM APIs are very much imperative and about mutable state. But CSS is basically yeah, completely declarative. JULIE: Right. CHARLES: Completely immutable. And yeah, the workings of the interpreter are a mystery. [Laughs] ELRICK: Yup. JULIE: YEs. And you know, for the Joy of Haskell website we use Bootstrap. And so, there was just like… there's all this magic, you know? [Laughs] ELRICK: Oh, yeah. CHARLES: Yeah. JULIE: Oh look, if I just change this little thing, suddenly it's perfectly responsive and mobile. Cool. [Laughter] JULIE: I don't know how it's doing this, but this is great. [Laughs] CHARLES: Yeah. Oh, yeah. It's an infinite space. And yeah, people forget what is so easy and intuitive is not and that there's actually a lot of learning that happened there that they're just taking for granted. JULIE: I think so many people start from HTML and CSS. That's one of their first introductions to programming, or JavaScript or some combination of all three of those. And so, to them the idea that you would be learning Haskell first and then coming around and being like “Oaky, I have to figure out HTML,” that [seems very] strange, right? [Laughter] CHARLES: Yeah. Well, definitely probably stepping into bizarro world. JULIE: And I went backwards. But [Laughs] CHARLES: Yeah. JULIE: Not that it's backwards in terms of… just backwards in terms of the normal way, progression of [inaudible] CHARLES: Yeah. It's definitely the back door. Like coming in through the catering kitchen or something. JULIE: Yes. CHARLES: Instead of the front door. Because you know the browser, you can just open up the Dev Tools and there you are. JULIE: Exactly, yeah. CHARLES: The level of accessibility is pretty astounding. And so, I think t's why it's one of the most popular avenues. JULIE: Oh, definitely. Yeah. ELRICK: It's the back door probably for web development but not the back door for programming in general. JULIE: Mm, yeah. Yeah. CHARLES: Yeah. It seems like Haskell programming has really started taking off and that the ecosystem is starting to get some of the trappings of a really less fricative developer experience in terms of the package management and a command line experience and being able to not make all of the tiny little decisions that need to be made before you're actually writing ‘hello world'. JULIE: Right. ELRICK: Interesting. Haskell has a package manager now? CHARLES: Oh, it has for a while. ELRICK: Oh, really? What is it called? I have no idea? Do you know the name off the top of your head? CHARLES: So, I actually, I'm not that familiar with the ecosystem other than every time I try it out. So I definitely will defer this question to you, Julie. JULIE: This is going to be a dumb question, I guess. What do we mean by package manager? CHARLES: So, in JavaScript, we have npm. The concept of these packages. It's code that you can download, a module that you can import, basically import symbols from. And Ruby has RubyGems. And Python has pip. JULIE: Okay, okay. CHARLES: Emacs has Emacs Packages. And usually, there's some repository and people could publish to them and you can specify dependencies. JULIE: Right, yeah. Okay, so we have a few things. Hackage is sort of the main package repository. And then we have another one called Stackage and the packages that are in Stackage are all guaranteed to work with each other. CHARLES: Mm, okay. JULIE: So, on Hackage, some of the packages that are on Hackage are not really maintained or they only work with some old versions of dependencies and stuff like that, so the people who made Stackage were like “well, if we had this set of packages that were all guaranteed to work together, the dependencies were all kept updated and they all can be made to work together, then that would be really convenient.” And then we have Cabal and we have Stack are the main… and a lot of people use Nix for the same purpose that you would use Cabal or Stack for building projects and importing dependencies and all of that. CHARLES: Right. So, Cabal and Stack would be roughly equivalent then to the way we use Yarn or JavaScript and Bundler in Ruby. You're solving the equation for, here's my root set of dependencies. Go out and solve for the set of packages that satisfy. Give me at least one solution and then download those packages and [you can] run them. JULIE: Yeah, yeah. Right, so managing your dependencies and building your project. Because Haskell's compiled, so you've got to build things. And so yeah, we have both of those. CHARLES: And now there's like web frameworks and REST frameworks. JULIE: Oh there are, yeah. We have… CHARLES: All kinds of stuff now. JULIE: We had this big proliferation of web frameworks lately. And I guess some of them are very good. I don't really do web development. But the people I know who do web development in Haskell say that some of these are very good. Yesod is supposed to be very good. Servant is sort of the new hotness. And I haven't used Servant at all though, so don't ask me questions about it. [Laughter] JULIE: But yeah, we have several big web frameworks now. There are still some probably big holes in the Haskell ecosystem in terms of what people want to see. So, that's one thing that people complain about Haskell for, is that we don't have some of the libraries they'd like to see. I'd like to see something… I would really like to see in Haskell something along the lines of like NLTK from Python. CHARLES: What is that? JULIE: Natural language toolkit. CHARLES: Oh, okay. JULIE: So yeah, Python has this… CHARLES: Yeah, Python's got all the nice science things. JULIE: They really do. And Haskell has some natural language processing libraries available but nothing along the lines of, nothing as big or easy to use and stuff as NLTK yet. So, I'd really like to see that hole get filled a little bit better. And you know… CHARLES: Well, there you go. If anyone out there is seeking fame and fortune in the Haskell community. JULIE: That's actually why I started learning Python, was just so that I could figure out NLTK well enough to start writing it in Haskell. [Laughter] JULIE: So, that's sort of my ambitious long-term project. We'll see how that goes. [Laughs] CHARLES: Nice. Before we wrap up, is there anything going on, coming up, that you want to give a shoutout to or mention or just anything exciting in general? JULIE: Yeah, so on March 30th I'm going to be giving a talk at lambda-squared which is going to be in Knoxville and is a new conference. I think it's just a single-day conference and I'm going to be giving a talk about functors. So, I'm going to try to get through all the exciting varieties of functors in a 50-minute talk. CHARLES: Ooh. JULIE: So, we'll see how that goes. Yeah. And I am still working with Chris Martin on ‘The Joy of Haskell' which should be finished this year, sometime. I'm not going to… [Laughter] JULIE: Give any more specific deadline than that. And in the process of writing Joy of Haskell, I was telling him about some things that, some things that I think are really difficult. Like in my experience, teaching Haskell some places where I find people have the biggest stumbling blocks. And I said, “What if we could do a beginner video course where instead of throwing all of these things at people at once, we separated them out?” And so, you can just worry about this set of stumbling blocks at one time and then later we can talk about this set of stumbling blocks. And so, we're doing… we're going to start a video course, a beginner Haskell video course. I think we'll be starting later this month. So, I'm pretty excited… CHARLES: Nice. JULIE: About that. Yeah. CHARLES: Yeah, I know a lot of people learn really, really well from videos. There's just some… JULIE: Yeah. [Inaudible] for me, so I'm a little nervous. But [Laughs] CHARLES: Yeah, especially if you can do… are you going to be doing live coding examples? Building out things with folks? JULIE: Yeah. CHARLES: Yeah. Well, you just needn't look no further than the popular things like RailsCasts and some of the… yeah, there's just so many good video content out there. Yeah, we'll definitely be looking for the. JULIE: Cool. CHARLIE: Alright. Well, thank you so much, Julie, for coming on. JULIE: Well, thank you for having me on. Sorry I went down some… I went kind of down some rabbit holes. Sorry about that. [Laughs] CHARLES: You know what? You go down the rabbit holes, we spend time walking around the rabbit holes. JULIE: [Laughs] CHARLES: There's something for everybody. So… [Laughter] CHARLES: And ultimately we're strolling through the meadow. So, it's all good. JULIE: [Laughs] Yeah. CHARLES: Thank you too, Elrick. JULIE: It was nice talking to you guys again. CHARLES: Yeah. ELRICK: Yeah, thank you. CHARLES: If folks want to follow up with you or reach out to you, what's the best way to get in contact with you? JULIE: I'm @argumatronic on Twitter and my blog is argumatronic.com which has an email address and some other contact information for me. So, I'd love to hear questions, comments. [Laughs] Yeah. I always [inaudible]. CHARLES: Alright, fantastic. JULIE: To talk to new people. CHARLES: Alright. And if you want to get in touch with us, we are @TheFrontside on Twitter. Or you can just drop us an email at contact@frontside.io. Thanks everybody for listening. And we will see you all later.
Shownotes Glimmer.js An Animated Guide to Ember Internals The Glimmer VM: Boots Fast and Stays Fast
In this episode Ken and Nikos talked about module imports in TypeScript for use in the Chrome web browser. We touched on dynamic module imports, non-JavaScript languages that compile to JavaScript, online training vs. in-person training, and much more. Dynamic Modules Elm Language United States Travel Ban Brexit Follow us on Twitter @learnwithuspod
Ken and Nikos talk about teaching JavaScript fundamentals and what they wish to accomplish in the next week. Nikos is teaching a group of 8 developers. Ken and Nikos review the challenges of learning frameworks and what you should know prior to learning Ember JS. Ken pre-launched TypeScript A Day, a daily newsletter with tips and tricks for TypeScript developers. The subscriber count is lower than he expected. He's hopeful to get more subscribers before launch.
Raquel and Henning have Manager Problems™. Kahlil writes bad commit messages. Henning is starting Brown Bag Talks at work. Raquel is kinda obsessed with the iPad Pro. Ember releases Glimmer.js. React is ruling framework-land. Node 6 had an issue. npm launched free Orgs!
Добрый день уважаемые слушатели. Представляем новый выпуск подкаста RWpod. В этом выпуске: Ruby Behind the scenes of hash table performance in ruby 2.4 и Blazer - a great tool to see what (data) you get Learn how to achieve parallelism with Ruby MRI using I/O bound threads и When Method Names Should Go Out with a Bang Awesome NLP with Ruby, Managing Servers with Ansible, Letsencrypt_heroku - automated letsencrypt setup for heroku и Heroku SSL - quickly and easily add SSL to Rails applications on Heroku JavaScript Node.js 7.5.0, Node.js Helps NASA Keep Astronauts Safe and Data Accessible и When you should not pick EmberJS as your next front-end tool ES7 and ES8 Features и How calc() Works Front-End Developer Handbook 2017, Mithril - a modern client-side Javascript framework for building Single Page Applications и Sixflix - detects whether a host environment supports ES6 Conferences Ruby Meditation #13
In this episode I am joined by Tracy Lee, owner of Modern Web and advocate of Ember.js, as well as Taras Mankovski who runs Ember Sherpa. Here we discuss a very popular JavaScript framework called Ember.js and the conveniences it offers in comparison to other, possibly similar front-end frameworks like React and Angular. This episode includes information on tooling and development best practices as well. A writeup to this episode can be found via https://www.thepolyglotdeveloper.com/2016/09/tpdp-episode-9-an-ember-in-the-land-of-web-frameworks/ If you have questions that you'd like answered in the next episode, visit https://www.thepolyglotdeveloper.com/podcast-questions and fill out the form.
JavaScript programming usually is done through the use of frameworks, such as ReactJS, AngularJS, and EmberJS. These frameworks abstract away some of the messy details of JavaScript, and simplify web development so that engineers can build products at a faster pace. When we build software using JavaScript frameworks, we are missing out on some of The post JavaScript Concurrency with Kyle Simpson appeared first on Software Engineering Daily.
In part two of our interview with Yehuda Katz, we talk about how he created EmberJS, and what it means to build a web framework. We also talk about what it means to be a beginner, and how growing up poor has influenced his perspectives as a coder today. Show Links Digital Ocean (sponsor) MongoDB (sponsor) Heroku (sponsor) TwilioQuest (sponsor) Liz Bailie YAGNI EmberJS John Resig's Interview on CodeNewbie jQuery FrontPage Visual Basic Q Basic GW Basic Glimmer Oauth Skylight Codeland Conf Codeland 2019
Yehuda Katz has done many, many code things. He co-created Ember.js, co-founded a tech startup Tilde, is a frequent contributor to open source projects including Handlebars, Bundler, and Thor, and is a member of the Rust Core Team. But it took years of playing with tech before he finally felt like coding was something he could do. In the first half of our two-part interview, he talks about what he looks for when he hires, how it took him years to feel like he could code, and why he doesn’t like the term “junior developer”. Show Links Digital Ocean (sponsor) MongoDB (sponsor) Heroku (sponsor) TwilioQuest (sponsor) Skylight Oauth Glimmer GW Basic Q Basic Visual Basic FrontPage jQuery John Resig's Interview on CodeNewbie EmberJS YAGNI Liz Bailie Linode (sponsor) Codeland Conf Codeland 2019
We discuss how to get started with Ember, how Ember has made us better software developers in general, and how to recapture the Google Trends rankings.
Kid safe web searching with Kiddle. What is the deal with ES6 const? More about our briefs.fm podcasts and a challenge by Rockbot. Issues with Overcast. Ember has LTS releases now. Conference news.
We talk functional programming in Ember, functional programming in other languages (including languages that transpile to Javascript), and functional programming in theory.
We discuss transitioning from Rails to Ember, how Khorus is improving transparency and communication within teams, and how testing is used when failure states including catching on fire.
We talk productivity, prioritizing your work, Backbone vs. Ember vs. React, and the communication requirements of outsourcing to a different time zone.
Matt Beale, EmberJS core team member discusses with Chase McCarthy and Jonathan Jackson of Ember Weekend his hopes of MobileDoc playing an integral role in the ever-changing web ecosystem, Torii's past, present, and future, and how EmberJS is evolving as a framework and what he believes the future holds for teams such as ember-cli-deploy, ember-data, and more. Find more podcasts, videos, and online conferences at http://modern-web.org or follow us on Twitter @modernweb_.
We talk Ember on the desktop, the world debut of Turing School's Javascript curriculum, React vs Ember (they teach both), how to train hordes of highly skilled devs in a brutal 7-month program, and how famous is too famous for Real World Ember.
We talk dev bootcamps, how architecture design school is like programming, how sales can help you be a better programmer, and the importance of mentorship.
We talk about upgrading Ember apps, transitions from Rails to Ember, running a multinational team from Austria, and handling performance on mobile.
We talk reasons to choose Ember, the Javascript dev hiring process, and how to upgrade a 2.5-year-old Ember app that contains 1800 components.
We talk matching skills with education and careers, our favorite Ember features and addons, the tension between increasing efficiency and reducing your bus number, learning Ember in the run up to 2.0, and why tai chi desks are the way of the future.
Summary Ember community leaders Audrey Listochkin (@listochkin) & Robert Jackson (@rwjblue) talk with us about the long awaited Ember 2 release and the Ember community across the globe. The future of Ember is larger than this 2.x release and because of it's dedicated community much more than was planned originally has surfaced and new features are underway already! Learn how you can get involved and improved the Ember ecosystem. O'Reilly Media Partner Discounts The Web Platform Podcast is a proud O'Reilly Media Partner. As such, one of the benefits we provide our listeners are special discounts such as 50% off ebooks and 40% in printed material. This includes but is not limited to books on the web technologies. Your discount code is PCBW so head over to http://www.oreilly.com/ right now to get all your favorite tech books at much lower prices. Your Latest O'Reilly Discounts 20% Discount to FluentConf http://conferences.oreilly.com/fluent-javascript-html-ca/ Call for proposals is done, registration is open, and O'Reilly Fluent Conf is back in just a few months. Fluent, The Web Platform conference will be held in San Francisco, CA on March 7-10 2016. Get practical Training in JavaScript, HTML5, CSS and the latest web development technologies and frameworks. The Web Platform Podcast listeners receive a 20% discount when registering for the conference. Make sure you use the promotional code PCWPP20 to receive your discount. Free eBook: Data-Informed Product Design http://www.oreilly.com/pub/cpc/1220 Designers must understand user needs to create any product. But what type of data should you look at? In her new book, Data-Informed Product Design, Pamela Pavliscak outlines a way to use data of all kinds to understand the relationship between people and technology. Generally speaking, big data is quantitative; it gives you the what, where, and when, while “thick data” provides the qualitative perspective—the how and the why. Up until now, there hasn't been much information on how to combine quantitative big data with qualitative thick data. That's where this report can help. If you're involved in any aspect of product design, this is indispensable reading. It's useful, and we're pleased to offer it to you, for free! Get the free ebook now. Resources Ember.js - http://emberjs.com/ Ember 2.0 Blog Posts Ember 2.0 Announcement Transition to Ember 2.0 Ember Community Slack https://ember-community-slackin.herokuapp.com/ Accessibility in Ember http://emberobserver.com/addons/a11y-announcer - route changing support that Robert talked about http://emberobserver.com/addons/ember-axe - a11y checker to use during development Ember Pair Programming - http://pair-with-me.herokuapp.com/ember Ember Community chat for Russian, Ukrainian and Belarusian - https://gitter.im/dev-ua/ember I talk about Ember 2.0 and Ember ecosystem in Russian - http://frontflip.me/2015/06/18/ember2-andrey-listochkin.html Panelists Erik Isaksen (@eisaksen) - Front End Development Lead at Deloitte Digital & Google Developer Expert in Web Technologies Justin Ribeiro (@justinribeiro) - Wearables & HTML5 Google Developer Expert & Partner at Stickman Ventures or random person who keeps finding Hangout link. You decide
Raquel reports back from JSConf Colombia where she gave a talk in Spanish for the first time. Jafar Husain was on Descriptive. A good place to spend the proceeds of the Nested Loops T-shirt profits. Rock and Roll with Ember - the ebook and reading books in general. Ask Kahlil Anything on his AMA repo! Offline support with one line of code. We really really like Overcast! Tom Dale makes a peace offering. Raquel wants to know what your favorite docs are.
Conferences, conferences and more conferences, everybody is attending conferences. Beware of conference Crud. The state of computer vision in JavaScript. What is the definition of a junior engineer? Ember Guides are getting serious. Yargs is very piraty.
In this episode, Two Black Nerds talk about giving technical presentions. Romeo interviews Iheanyi, who recently has been giving talks about Ember.js around Austin. They discuss overall content, steps for preparation, and advice for anybody thinking about doing a talk. Notes Iheanyi’s Ember.js and Ember-CLI Slides Credits Our intro and outro music is Sorry by Comfort Fit
Ben Borowski (@TypeOneError) is a software developer and programmer based in Vancouver, BC, Canada. In past years, Ben run a small studio doing web development for top agencies, but has recently made a move to create his own project, and is working on that full-time. Ben is one half of Oki Doki, along with Designer & Digital Strategist Marie Poulin. Together, the duo are hard at work on Doki, a web platform to build and run online courses and communities. In this conversation, Ben discusses the creative side of programming, the definition of a “coder”, and the challenges of putting aside client projects for the endeavor of building your own app. Catch up with Ben on his site, Type One Error, or check out Doki.io. Show Notes & Links Marie Poulin was a guest on The Busy Creator Podcast last year Ben defines himself broadly as a web developer, but more specifically as a programmer in Ruby, and other disciplines TWiT – This Week in Tech Ben doesn't subscribe to the idea that “Coders aren't necessarily programmers” If Statements, For Loops – essentials in programming Mark-up is code “I've met many computer science guys … who are completely stumped by CSS.” —Ben Borowski Tweet This “If you're building a website and you write HTML tags, you're a coder.” —Ben Borowski Tweet This Markdown, the coding format for Reddit comments Dustin Hartzler, WordPress Engineer and host Your Website Engineer Podcast Podcast Movement Conference “Programing is more technical … but making software is creative.” —Ben Borowski Tweet This Product Designer, as the term applies to web design, can incorporate development/programming Open-Source, a place for inspiration Ben consults and develops cross-platform games, and other projects Doki, currently in development as a consulting platform and will be a public product soon Previous guests on The Busy Creator Podcast have discussed online teaching, such as Karen Marston, Steve Dotto Javascript framework Ember.js (similar to Ruby-on-Rails for the front end of the website) Prescott attended Drexel University, a school set up on the quarter system. Alpha testers You can't have nine people make a baby in one month. —productivity adage Tweet This Unit Tests or Feature Tests are useful for programmers when merging code and error-correcting Material Design, from Google — hard to describe because it's almost like a framework … for design Facebook asks developers to work on the main product in their first week Gone in 60 Seconds, writing on the walls in detergent and using a blacklight Type One Error Oki Doki Ben Borowski on Twitter Ben Borowski on Facebook Tools HTML to Markdown converter Markdown to HTML converter WordPress Jetpack, the official suite of plugins for WordPress Infusionsoft MailChimp Google Analytics WishList for WordPress Platform-as-a-server Amazon web services Heroku EngineYard 9Folds Sit or Stand adjustable GeekDesk MacBook Pro SublimeText GitTower, a GUI application for managing Git projects iTerm, Terminal replacement for Mac Homebrew, a Ruby Framework Vagrant, custom virtual machines on your system Teamwork.com EcoStatic Slickynotes Techniques Write your WordPress entries in Markdown — it's fast and simple Examine where you can reduce lines of code, load time, etc. Launch first, and then go back and optimise More team members always help the progress of a programming project Give your team the building blocks, for design or programming alike Develop a naming and organization system — any system — for your team to follow Require new [programming] employees to push live code to the site on day one; this teaches them the entire process Head to a coffee shop or co-working space 2-3 days/week even if you prefer to work from home Keep a clean image of your system after a fresh reinstall If you can, go full-time toward developing a product rather than try to cram it in “after hours” Habits Jog or Rock-Climb Take breaks to walk (or wrestle with) the dog Do some exercise in the morning, even stretching Drink and eat in the morning (write it down if necessary) Try Audible.com Free for 30-Days Visit BusyCreatorBook.com for your free trial Get The Healthy Programmer by Joe Kutner as a free audiobook Get The Episode Download The Busy Creator Podcast, episode 62 (MP3, 46:17, 22.5 MB) Download The Busy Creator Podcast, episode 62 (OGG, 46:17, 39.8 MB) Subscribe to Get New Episodes Subscribe to The Busy Creator Podcast on iTunes
In this episode, Two Black Nerds how they are turning their problems into interesting side projects. They mention a few examples of their past projects, what they are working on and what issues they’ve encountered that could be solved using software. Also, they touch on the Facebook API, MVC paradigm, and what is an Ember.js datastore. Like what is it really? Notes A couple of the links that were mentioned in the show: Notre Dame Class Search Front Porch in Austin Texas. Iheanyi Ekechukwu will speak about his coding experience with Ember.js TED Talk on noticing as a key principle of design, and entrepreneurship On Building Coding Confidence by Iheanyi Ekechukwu - a simple guide on improving coding skills while in school. Credits Our intro and outro music is Sorry by Comfort Fit
Tom Dale tells us about building modern web applications that are becoming increasingly like native apps. We discuss JavaScript frameworks like Ember and the future of the web.
This week we talk with Jeff Casimir of Turing School about what it's like to go through their developer training program and some of the differences with developer bootcamps.
John, Tim and Vince talk about Rails, AngularJS and more.
Kenneth joins us to discuss EmberJS. His breadth and depth of knowledge on the topic of ember is not only impressive but very immersive. Although we generally try keep episodes under 45 min, this was too good to cut short. Panel: @stevenMcD_code @pgermishuys @kennethkalmer Picks: Kenneth 1 - Ember.land podcast (http://www.ember.land/) 2 - EmberConf Keynote - https://youtu.be/o12-90Dm-Qs 3 - EmberConf 2015 TDD by example - https://www.youtube.com/watch?v=2b1vcg_XSR8 4 - Rock 'n Roll with Ember.js - http://balinterdi.com/rock-and-roll-with-emberjs/ 5 - Untappd - https://untappd.com/ Pieter: 1 - https://zadevelopers.slack.com/ Steve: 1 - Rob Conery's Mastering your own Domain course - http://www.pluralsight.com/courses/master-domain
Sean Devine was interviewed on the Descriptive Podcast with Kahlil Lechelt. Topics include Sean's career as a programmer, TDD, DHH, API-first development, JSON API, Ruby on Rails and EmberJS.
Sean Devine was interviewed on the Descriptive Podcast with Kahlil Lechelt. Topics include Sean's career as a programmer, TDD, DHH, API-first development, JSON API, Ruby on Rails and EmberJS.
Our guests Michael Bleigh, Divshot CEO, and Kevin Chau, Director of Business Development at Divshot, talk about the importance of Static Applications, Hosting Static Apps, & Hackathons. Static Showdown is a worldwide 48 hour hackathon featuringstatic web apps. Divshot, a company born of a hackathon, is a leader in Static App Hosting. They are Community Builders and lovers of the web. This year, Divshot brings us it's 2nd incarnation of the Static Showdown competition that will be held online Jan 24th through Jan 25th. Registered teams will be provided with a private github repo & Divshot Static App hosting for the hackathon. Some prizes include Chrome Books, Moto 360's, $300 Apple Gift cards, $500 Amazon gift cards, cold hard cash and more. This Serverless coding event is sponsored by some of the top companies & projects in the web development industry. Past Judges have included Yehuda Katz, Eric Bidelman, Alex McCaw, Mark Otto, Zach Holman, and many others. Sign ups end on Jan 22nd so hurry and get your team ready ASAP for a solid 48 hours of fun, creativity, & excitement. Register at http://staticshowdown.comnow! Hosts: Erik Isaksen - UX Engineer at3Pillar Global Christian Smith- Open Source Developer & Startup Enthusiast Danny Blue - Senior Front End Developer at Deloitte Digital Nick Niemeir- JavaScript Agent Engineer atNew Relic This episode is also available on our YouTube channel Links StaticShowdown 2015 - http://www.staticshowdown.com/ Divshot Static App Hosting - http://divshot.com ReadTheSource.ioSuperStatic walkthrough with Scott Corgan - http://hangouts.readthesource.io/hangouts/divshot-superstatic/ Divshot's Blog - https://divshot.com/blog/ ele.io (ellie) Web Components Playground - https://ele.io Built With Polymer - http://builtwithpolymer.org/ Web Components LA - http://www.meetup.com/Web-Components-LA/ Erik's quick intro to Divshot (15 min) - https://www.youtube.com/watch?v=5DXme0_dfK4 Creating Webpages using Bootstrap and Divshot (73 min) - https://www.youtube.com/watch?v=SLYZ7ZVwnvk Static Apps Org - http://www.staticapps.org/
We talk about the various types of meetings you might encounter during the development of your project.
We talk about Engines vs Middleware and then, after getting sidetracked on PHP, discuss JavaScript and Elm
This week the Frontside nerds are joined by "Mr. Router" himself, Alex Matchneer. We discuss the benefits & pain of routing in client-side applications, using the Ember router without Ember, how Alex got into working on Ember core, and some OSS projects to keep an eye on. Alex Matchneer @machty http://alexmatchneer.com/ Router.js https://github.com/tildeio/router.js/ React.js http://facebook.github.io/react/ React-Nested-Router https://github.com/rpflorence/react-nested-router Pretender.js https://github.com/trek/pretender VCR (Rails) https://www.relishapp.com/vcr/vcr/docs Stefan Penner https://github.com/stefanpenner
This episode we are lucky to have special-guest Lamin Sanneh on the show to discuss all things EmberJS. Looking at the current JavaScript framework landscape, we move on to highlight what makes EmberJS stand-out from the crowd. Finally, we have an ad-hoc quiz which helps highlight PHP function aliases and JavaScript’s ‘this’ context binding.
In this Episode Kevin interview with Ari to talk about AngularJS. Ari is the author of ng-book, The Complete Book on AngularJS, Riding Rails with AngularJS and D3 on AngularJS. Also he is the CTO and Founder at FullStack LLC. Beehive BackboneJS EmberJS KnockoutJS AngularJS Jasmine Karma Protractor China Velocity Golang Erlang Clojure Node Passport ng-newsletter ng-book Tiny Habits Building the 2048 Game in AngularJS LeanPub pluralsight Egghead Fullstack Edu Alfred App 1Password Audio Hijack Pro Special Guest: Ari.
I had a chance to chat with Toran Billups about EmberJS, PyTenn and other stuff. Take a listen
本期由 Daniel Lv 和 Terry Tai 共同主持,我们邀请到了简书的联合创始人,赵波 来跟大聊聊他从大学毕业加入 SAP 公司的工作经历,分享了他对 SAP 这家公司和 ERP 的理解,以及之后从大公司离职,跟朋友一起创业,创立简书的故事。除此之外,赵波还跟分享了大学生如何规划自己的职业,毕业生如何求职,进入大公司要做那些准备,在大公司的工作经历可以给你带来什么?以及在校大学生如何争取一个互联网创业公司的实习机会等等。 关于赵波 Twitter: https://twitter.com/larryzhao Blog: http://larryzhao.com 简书 SAP ERP 林立 Yammer moleskine Delicious SpineJS Author of SpineJS BackboneJS Author of BackboneJS Document Cloud AngularJS EmberJS 创智天地 InnoSpace Medium MacTalk - 人生元编程 Anonymous Pro Field Notes Gotealeaf Special Guest: 赵波 .
Capitaine Train permet à ses clients d’acheter leurs billets de train « le plus simplement du monde ». Fondée en 2008, la société se branche d’abord au système de réservation de la SNCF, puis à celui de la Deutsche Bahn. Elle vend aujourd’hui des places chez les deux transporteurs. Entretien avec Jean-Daniel Guyot (aux fourneaux) et Martin Ottenwaelter (à la technique). Découvrez [&hellip