Podcasts about regex

Sequence of characters that forms a search pattern

  • 106PODCASTS
  • 141EPISODES
  • 46mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Apr 8, 2025LATEST
regex

POPULARITY

20172018201920202021202220232024


Best podcasts about regex

Latest podcast episodes about regex

SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast

XORsearch: Searching With Regexes Didier explains a workaround to use his tool XORsearch to search for regular expressions instead of simple strings. https://isc.sans.edu/diary/XORsearch%3A%20Searching%20With%20Regexes/31834 MCP Security Notification: Tool Poisoning Attacks Invariant labs summarized a critical weakness in the Model Context Protocol (MCP) that allows for "Tool Poisoning Attacks." Many major providers such as Anthropic and OpenAI, workflow automation systems like Zapier, and MCP clients like Cursor are susceptible to this attack https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks Making :visited more private Google Chrome changed how links are marked as visited . This new partitioning scheme was introduced to improve privacy. Instead of marking a link as visited on any page where it is displayed, it is only marked as visited if the user clicks on the link while visiting the particular site where the link is displayed. https://developer.chrome.com/blog/visited-links

Thinking Elixir Podcast
244: Running Python in Elixir?

Thinking Elixir Podcast

Play Episode Listen Later Mar 11, 2025 58:53


News includes the release of Elixir 1.18.2 with various enhancements and bug fixes, a new experimental SQL sigil for Ecto that brings automatic parameterized queries, a recent GOTO 2025 talk featuring Saša Jurić on code reviews. We talked with Jonatan Kłosko about his work on PythonX, a new library for executing Python code inside Elixir, the Fine library for working with C++ NIFs, and much more! Show Notes online - http://podcast.thinkingelixir.com/244 (http://podcast.thinkingelixir.com/244) Elixir Community News https://gigalixir.com/thinking (https://gigalixir.com/thinking?utm_source=thinkingelixir&utm_medium=shownotes) – Visit Gigalixir.com to sign up and get 20% off your first year. Or use the promo code "Thinking" during signup. https://github.com/elixir-lang/elixir/releases/tag/v1.18.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.18.2?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.18.2 was released with enhancements to Code.Fragment and Regex, plus bug fixes for CLI, ExUnit, IEx.Autocomplete, and mix deps.update. https://github.com/elixir-lang/elixir/releases/tag/v1.18.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.18.1?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.18.1 included bug fixes for Kernel, ExUnit.Case, mix compile.elixir, mix escript.build, and Mix.Shell, especially related to error handling and Windows compatibility. https://www.erlang.org/news/174 (https://www.erlang.org/news/174?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 28 RC-1 is out with a new source Software Bill of Materials (SBOM) on the Github Releases page. https://github.com/elixir-dbvisor/sql (https://github.com/elixir-dbvisor/sql?utm_source=thinkingelixir&utm_medium=shownotes) – A new experimental SQL sigil for Ecto brings an extensible SQL parser to Elixir with automatic parameterized queries. https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc (https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc?utm_source=thinkingelixir&utm_medium=shownotes) – The experimental SQL sigil for Ecto is being discussed on the Elixir-Ecto mailing list. https://www.youtube.com/watch?v=AYUNI2Pm6_w (https://www.youtube.com/watch?v=AYUNI2Pm6_w?utm_source=thinkingelixir&utm_medium=shownotes) – New talk from GOTO 2025 with Saša Jurić and Adrienne Braganza Tacke on "Small PRs, Big Impact - The Art of Code Reviews." https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – AlchemyConf is coming up March 31 - April 3 in Braga, Portugal. https://www.gigcityelixir.com/ (https://www.gigcityelixir.com/?utm_source=thinkingelixir&utm_medium=shownotes) – GigCity Elixir and NervesConf are happening in Chattanooga, TN, USA with NervesConf on May 8 and the main event on May 9-10. https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU will be held May 15-16, 2025 in Kraków & Virtual. https://goatmire.com/#tickets (https://goatmire.com/#tickets?utm_source=thinkingelixir&utm_medium=shownotes) – Goatmire tickets are on sale now for the event happening September 10-12, 2025 in Varberg, Sweden. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://dashbit.co/blog/dashbit-plans-2025 (https://dashbit.co/blog/dashbit-plans-2025?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/thewca/wca-live (https://github.com/thewca/wca-live?utm_source=thinkingelixir&utm_medium=shownotes) – Speed cubing software https://dashbit.co/blog/running-python-in-elixir-its-fine (https://dashbit.co/blog/running-python-in-elixir-its-fine?utm_source=thinkingelixir&utm_medium=shownotes) https://hexdocs.pm/pythonx/Pythonx.html (https://hexdocs.pm/pythonx/Pythonx.html?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/livebook-dev/pythonx (https://github.com/livebook-dev/pythonx?utm_source=thinkingelixir&utm_medium=shownotes) https://bsky.app/profile/josevalim.bsky.social/post/3liyrfvlth22c (https://bsky.app/profile/josevalim.bsky.social/post/3liyrfvlth22c?utm_source=thinkingelixir&utm_medium=shownotes) – Jose said “We said we will focus on interoperability for 2025 and we are ready to share the first results.” https://github.com/elixir-nx/fine (https://github.com/elixir-nx/fine?utm_source=thinkingelixir&utm_medium=shownotes) – “Fine” is a new package related to the elixir-nx organization. It's a C++ library enabling more ergonomic NIFs, tailored to Elixir. https://peps.python.org/pep-0703/ (https://peps.python.org/pep-0703/?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about removing the Python GIL Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)

Paul's Security Weekly TV
Regex DoS, LLM Backdoors, Secure AI Architectures, Rust Survey - ASW #319

Paul's Security Weekly TV

Play Episode Listen Later Feb 25, 2025 36:26


Applying forgivable vs. unforgivable criteria to reDoS vulns, what backdoors in LLMs mean for trust in building software, considering some secure AI architectures to minimize prompt injection impact, developer reactions to Rust, and more! Show Notes: https://securityweekly.com/asw-319

Application Security Weekly (Video)
Regex DoS, LLM Backdoors, Secure AI Architectures, Rust Survey - ASW #319

Application Security Weekly (Video)

Play Episode Listen Later Feb 25, 2025 36:26


Applying forgivable vs. unforgivable criteria to reDoS vulns, what backdoors in LLMs mean for trust in building software, considering some secure AI architectures to minimize prompt injection impact, developer reactions to Rust, and more! Show Notes: https://securityweekly.com/asw-319

The Real Python Podcast
Behavior-Driven vs Test-Driven Development & Using Regex in Python

The Real Python Podcast

Play Episode Listen Later Feb 14, 2025 57:03


What is behavior-driven development, and how does it work alongside test-driven development? How do you communicate requirements between teams in an organization? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles and projects.

Defense in Depth
Managing the Risk of GenAI Tools

Defense in Depth

Play Episode Listen Later Oct 31, 2024 29:01


All links and images for this episode can be found on CISO Series. Check out this post for the discussion that is the basis of our conversation on this week's episode co-hosted by me, David Spark (@dspark), the producer of CISO Series, and Steve Zalewski. Joining us is our sponsored guest Karthik Krishnan, founder and CEO, Concentric AI. In this episode: Meet the new risk, same as the old risk Understanding where your risks are coming from Identifying best practices Know what you're getting into Thanks to our podcast sponsor, Concentric AI Concentric AI's DSPM solution automates data security, protecting sensitive data in real-time. Our AI-driven solution identifies, classifies, and secures on-premises and cloud data to reduce risk across your enterprise. Seamlessly integrated with tools like Microsoft Copilot, Concentric AI empowers your team to innovate securely and maintain compliance all while eliminating manual data protection tasks. Ready to put RegEx and trainable classifiers in the rear view mirror? Contact Concentric AI today! 

Smart Software with SmartLogic
Creating the Igniter Code Generation Framework with Zach Daniel

Smart Software with SmartLogic

Play Episode Listen Later Oct 17, 2024 52:55


To kick off Elixir Wizards Season 13, The Creator's Lab, we're joined by Zach Daniel, the creator of Igniter and the Ash framework. Zach joins hosts Owen Bickford and Charles Suggs to discuss the mechanics and aspirations of his latest brainchild, Igniter—a code generation and project patching framework designed to revolutionize the Elixir development experience. Igniter isn't just about generating code; it's about generating smarter code. By leveraging tools like Sourcerer and Rewrite, Igniter allows developers to modify source code and batch updates by directly interacting with Elixir's AST instead of regex patching. This approach streamlines new project setup and package installations and enhances overall workflow. They also discuss the strategic implications of Igniter for the broader Elixir community. Zach hopes Igniter will foster a more interconnected and efficient ecosystem that attracts new developers to Elixir and caters to the evolving needs of seasoned Elixir engineers. Topics discussed in this episode: Advanced package installation and code generation improve the developer experience Scripting and staging techniques streamline project updates Innovative methods for smoother installation processes in Elixir packages High-level tools apply direct patches to source code Progressive feature additions simplify the mix phx.new experience Chaining installers and composing tasks for more efficient project setup Continuous improvement in developer experiences to boost Elixir adoption Encourage listeners to collaborate by sharing code generation patterns Introduction of a new mix task aimed at removing the "unless" keyword in preparation for Elixir 1.18 You can learn more in the upcoming book "Building Web Applications with Ash Framework" by Zach and Rebecca Links mentioned: https://smartlogic.io/ https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching https://hexdocs.pm/igniter/readme.html https://github.com/ash-project/igniter https://www.zachdaniel.dev/p/serialization-is-the-secret https://www.zachdaniel.dev/p/welcome-to-my-substack https://ash-hq.org/ https://hexdocs.pm/sourceror/readme.html https://smartlogic.io/podcast/elixir-wizards/s10-e09-hugo-lucas-future-of-elixir-community/ https://github.com/hrzndhrn/rewrite https://github.com/zachdaniel https://github.com/liveshowy/webauthn_components https://hexdocs.pm/elixir/Regex.html https://github.com/msaraiva/vscode-surface https://github.com/swoosh/swoosh https://github.com/erlef/oidcc https://alembic.com.au/ https://www.zachdaniel.dev/ Special Guest: Zach Daniel.

Defense in Depth
Is It Possible to Inject Integrity Into AI?

Defense in Depth

Play Episode Listen Later Sep 26, 2024 37:13


All links and images for this episode can be found on CISO Series. Check out this post for the discussion that is the basis of our conversation on this week's episode co-hosted by me, David Spark (@dspark), the producer of CISO Series, and Geoff Belknap (@geoffbelknap). Joining us is Davi Ottenheimer, vp, trust and digital ethics, Inrupt. Sir Tim Berners-Lee co-founded Inrupt to provide enterprise-grade software and services for the Solid Protocol. You can find their open positions here. In this episode: LLMs lack integrity controls A valid criticism Doubts in self-policing AI New tech, familiar problems  Thanks to our podcast sponsor, Concentric AI Concentric AI's DSPM solution automates data security, protecting sensitive data in real-time. Our AI-driven solution identifies, classifies, and secures on-premises and cloud data to reduce risk across your enterprise. Seamlessly integrated with tools like Microsoft Copilot, Concentric AI empowers your team to innovate securely and maintain compliance all while eliminating manual data protection tasks. Ready to put RegEx and trainable classifiers in the rear view mirror? Contact Concentric AI today!

Defense in Depth
Are Phishing Tests Helping or Hurting Our Security Program?

Defense in Depth

Play Episode Listen Later Sep 19, 2024 27:36


All links and images for this episode can be found on CISO Series. Check out this post for the discussion that is the basis of our conversation on this week's episode co-hosted by me, David Spark (@dspark), the producer of CISO Series, and Geoff Belknap (@geoffbelknap). Joining us is Dennis Pickett, vp, CISO, Westat. In this episode: Not all education requires tests Understand your users Building reflexes An ounce of prevention Thanks to our podcast sponsor, Concentric AI Concentric AI's DSPM solution automates data security, protecting sensitive data in real-time. Our AI-driven solution identifies, classifies, and secures on-premises and cloud data to reduce risk across your enterprise. Seamlessly integrated with tools like Microsoft Copilot, Concentric AI empowers your team to innovate securely and maintain compliance all while eliminating manual data protection tasks.  Ready to put RegEx and trainable classifiers in the rear view mirror? Contact Concentric AI today!

Unpivot
Intros and AI Hype

Unpivot

Play Episode Listen Later Jun 28, 2024 60:11


The one where we introduce ourselves, chat about Excel World Championships, REGEX, Power BI, Copilot, ChatGPT, running, Sue discovers she's a programmer, and Mark's ability to now fit in an old suit. A light hearted discussion about Excel, Power BI and some other occasional tech. Hosts Wyn Hopkins, Mark Proctor, Sue Bayes, and Giles Male.

Asdf
Redigera hela hemsidor

Asdf

Play Episode Listen Later May 17, 2024 31:24


Frustrationen går nästan att ta på när Anton pratar om sina senaste äventyr inom att rik textredigering. Allt om trollkarlsinstallationer, låg energi, pollen, huvudlösa komponenter, räddaren i nöden, skuggarbete, att fulhacka bort säkerhetsvarningar och hatet mot tabeller i e-post. Dessutom en hel del om att redigera recept, smygreklam, applicera Regex på HTML, lyxen att inte bry sig om webbläsarversioner och mycket mycket annat. Hör av er till oss på vår röstbrevlåda! Berätta ett skämt, ställ en fråga eller vad som: 0766 86 05 07 Om du gillar podden blir vi väldigt glada för en liten recension i iTunes eller en prenumeration på Spotify. Följ oss och säg hej på @asdfpodden på Instagram

RunAs Radio
GitHub Copilot with Damian Brady

RunAs Radio

Play Episode Listen Later Apr 17, 2024 35:01


How can GitHub Copilot help you? Richard chats with Damian Brady at NDC Sydney about the power of GitHub Copilot to help you understand and write the bits of code you need - whether you're using PowerShell, understanding a RegEx expression, or trying to get a Bash prompt right. GitHub Copilot and help to explain the code you've got, even across workspaces - so you can find all the scripts that changes might impact. And if you think it's time to rewrite some old scripts into more modern languages, GitHub Copilot can help with that, too!LinksGitHub Copilot for BusinessGitHub DependabotGitHub Code ScanningGitHub Copilot in the CLIRecorded February 14, 2024

Hacker News Recap
March 20th, 2024 | Flightradar24's new GPS jamming map

Hacker News Recap

Play Episode Listen Later Mar 21, 2024 18:12


This is a recap of the top 10 posts on Hacker News on March 20th, 2024.This podcast was generated by wondercraft.ai(00:44): Flightradar24's new GPS jamming mapOriginal post: https://news.ycombinator.com/item?id=39768434&utm_source=wondercraft_ai(02:35): Regex character "$" doesn't mean "end-of-string"Original post: https://news.ycombinator.com/item?id=39763750&utm_source=wondercraft_ai(04:14): Suspicious discontinuities (2020)Original post: https://news.ycombinator.com/item?id=39768860&utm_source=wondercraft_ai(06:12): Shattered Pixel Dungeon is an open-source traditional roguelike dungeon crawlerOriginal post: https://news.ycombinator.com/item?id=39773641&utm_source=wondercraft_ai(07:46): The Google employees who created transformersOriginal post: https://news.ycombinator.com/item?id=39766170&utm_source=wondercraft_ai(09:25): Rive Renderer for real-time vector graphics is now open sourceOriginal post: https://news.ycombinator.com/item?id=39766893&utm_source=wondercraft_ai(10:53): Google Scholar PDF ReaderOriginal post: https://news.ycombinator.com/item?id=39768438&utm_source=wondercraft_ai(12:31): Paris preserves its mixed society by pouring billions into public housingOriginal post: https://news.ycombinator.com/item?id=39765692&utm_source=wondercraft_ai(14:12): Intel to Receive $8.5B in Grants to Build Chip PlantsOriginal post: https://news.ycombinator.com/item?id=39765718&utm_source=wondercraft_ai(15:44): Michel Talagrand wins Abel Prize for work wrangling randomnessOriginal post: https://news.ycombinator.com/item?id=39764954&utm_source=wondercraft_aiThis is a third-party project, independent from HN and YC. Text and audio generated using AI, by wondercraft.ai. Create your own studio quality podcast with text as the only input in seconds at app.wondercraft.ai. Issues or feedback? We'd love to hear from you: team@wondercraft.ai

Overtired
403: Don’t Be a Regex Princess with Bryan Guffey

Overtired

Play Episode Listen Later Jan 29, 2024 118:10


Bryan Guffey returns to talk coffee, religion, and mental health, possibly all at once. Maybe.

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast
What Google Engineers Don't want you to know about rankings -- Dmitrii Kustov // Regex SEO

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast

Play Episode Listen Later Dec 9, 2023 26:59


Dmitrii Kustov, Managing Director at Regex SEO, looks into technical SEO. Google's search ranking algorithms have evolved significantly in recent years, with a shift towards relying on artificial intelligence (AI) to determine the best results for users. While the algorithms used to be predetermined by engineers, they now use a variety of signals and metrics to determine the most relevant and useful results. Today, Dmitrii discusses what Google engineers don't want you to know about rankings. Show NotesConnect With: Dmitrii Kustov: Website // LinkedInThe Voices of Search Podcast: Email // LinkedIn // TwitterBenjamin Shapiro: Website // LinkedIn // TwitterSee Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast
Optimizing For Humans Vs Search Engines -- Dmitrii Kustov // Regex SEO

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast

Play Episode Listen Later Dec 8, 2023 19:37


Dmitrii Kustov, Managing Director at Regex SEO, looks into technical SEO. At its core, search engine optimization is about optimizing a website to rank well in search engine results and provide a good user experience. While many SEOs try to separate the two concepts, Google and other search engines will continue to highlight the websites that take a holistic approach to website design. Today, Dmitrii discusses optimizing for humans versus optimizing for search engines. Show NotesConnect With: Dmitrii Kustov: Website // LinkedInThe Voices of Search Podcast: Email // LinkedIn // TwitterBenjamin Shapiro: Website // LinkedIn // TwitterSee Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for December 5th, 2023 - Episode 208

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Dec 5, 2023 50:34


2023-12-05 Weekly News — Episode 208Watch the video version on YouTube at https://youtube.com/live/WHVwcHtf_gA?feature=share Hosts:  Gavin Pickin - Senior Developer at Ortus Solutions Grant Copley - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways  to say thanks back to Ortus Solutions: Buy Tickets to Into the Box 2024 in Washington DC https://www.intothebox.org/ Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our Repos Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review AND WE WILL READ IT ON THE SHOW Sign up for a free or paid account on CFCasts, which is releasing new content regularly BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Books 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Now on Amazon! https://www.amazon.com/dp/B0CJHB712M Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes  Patreon Support ()We have 42 patreons: https://www.patreon.com/ortussolutions. News and AnnouncementsAdobe ColdFusion flaw exploited in US government agency attacksAdobe released a security update for the vulnerability (CVE-2023-26360) that the attackers exploited in March this year. At that time, the vulnerability was already used in zero-day attacks.Following the FCEB agency's investigation, analysis of network logs confirmed the compromise of at least two public-facing servers within the environment between June and July 2023.https://stackdiary.com/adobe-coldfusion-flaw-exploited-in-us-government-agency-attacks/ https://www.cisa.gov/news-events/alerts/2023/12/05/cisa-releases-advisory-threat-actors-exploiting-cve-2023-26360-vulnerability-adobe-coldfusion CISA has issued an alert regarding multiple vulnerabilities impacting Adobe ColdFusion.CISA has issued an alert regarding multiple vulnerabilities impacting Adobe ColdFusion. The alert underscores that the exploitation of the vulnerabilities could grant threat actors control over affected systems, prompting organizations to take measures to protect their systems.Adobe ColdFusion serves as a rapid scripting environment for developing dynamic internet applications on both web and mobile platforms, utilizing ColdFusion Markup Language (CFML).The security update addresses a range of vulnerabilities, including critical, high, and medium severity issues. These vulnerabilities have the potential to enable threat actors to access specific endpoints or execute arbitrary code, without requiring user interaction.https://socradar.io/cisa-alert-serious-vulnerabilities-in-adobe-coldfusion-cve-2023-44350-cve-2023-44351-cve-2023-44353-and-more/ Ben Nadel wrote a Book - Early Access: Feature Flags - From Concept To Cultural RevolutionAlmost 3-months ago, I announced that I was writing a book on Feature Flags. This morning, I'm thrilled to announce that I have an early access version available for purchase. This is a PDF version; and, the formatting is a bit rough around the edges. But, the content is all there. And, if you pick-up the book now (at a deep discount), you'll automatically get access to future versions.https://www.bennadel.com/blog/4531-early-access-feature-flags-from-concept-to-cultural-revolution.htm New Releases and UpdatesUpdate your servers with the below updatesICYMI - Adobe November Updates - Security FixesAdobe for ColdFusion 2023 (update 6) and 2021 (update 12)Previous versions no longer receive security updates!!!CommandBox has already been updatedSecurity updates available for Adobe ColdFusion | APSB23-52 - https://helpx.adobe.com/security/products/coldfusion/apsb23-52.html https://community.adobe.com/t5/coldfusion-discussions/now-live-adobe-coldfusion-2023-and-2021-november-security-updates/m-p/14233917#M196421 Note: Reported WDDX related issues by some customersMore details from Charlie Arehart: https://www.carehart.org/blog/2023/11/14/cf_security_updates_nov_2023#more ICYMI - ColdBox 7.2.0 ReleasedWelcome to ColdBox 7.2.0, which packs a big punch on stability and tons of new features.Includes lots of updates for all the core products: ColdBox, WireBox, CacheBox, and LogBox.ColdBox, 10 new features, 6 improvements and 4 bug fixesLogBox has 3 new features, 4 improvements, 2 bug fixes and a taskWith WireBox including a new feature and CacheBox has an Improvement.https://coldbox.ortusbooks.com/readme/release-history/whats-new-with-7.2.0 Webinar / Meetups and WorkshopsColdFusion Security TrainingWriting Secure CFML with Pete FreitagA hands-on CFML / ColdFusion Security Training class for developers. Learn how to identify and fix security vulnerabilities in your ColdFusion / CFML applications.Where: OnlineWhen: Tuesday December 12, 2023 @ 11am-2pm EST & Wednesday December 13 @ 11am-2pmPrice: $899 per studenthttps://foundeo.com/consulting/coldfusion/security-training/ The class will be recorded, so if you cannot attend it fully online you will have access to a recording.Hawaii ColdFusion Meetup Group - InertiaJS and ColdFusion with Eric PetersonDecember 15thInertiaJS is a new JavaScript framework made for people who don't really need an API but want to use a modern JavaScript framework like React or Vue as their view layer. Inspired by libraries like Turbolinks, InteriaJS makes your app behave like a SPA while still being a fully sever-rendered app.https://www.meetup.com/hawaii-coldfusion-meetup-group/events/297584413/ CFCasts Content Updateshttps://www.cfcasts.comRecent ReleasesInto the Box 2023 Videos are now available for all Paid Subscriptions https://cfcasts.com/series/itb-2023  Coming SoonMastering CBWIRE v3 from GrantConferences and TrainingICYMI - Into the Box LATAM - Recap from GrantNovember 30thUniversity of Business in El Salvador.https://latam.intothebox.org/ICYMI - Adobe ColdFusion India Summit 2023December 2nd, 2023Register for FreeLocation: Bengaluru, Indiahttps://cf-indiasummit-2023.attendease.com/ https://twitter.com/mishrabagish/status/1730801813547339927/photo/1 ITB 2024 Location: Optica in Washington, DC Announcement Blog Post: https://www.ortussolutions.com/blog/our-into-the-box-2024-venue-and-dates-are-set Dates: May 15-17, 2024 Get Blind Tickets Now: https://www.eventbrite.com/e/into-the-box-2024-the-new-era-of-modernization-tickets-663126347757 Call for Speakers: CLOSED  More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets, and Videos of the Week12/05/23 - Blog - Stackdiary - Adobe ColdFusion flaw exploited in US government agency attacksAdobe released a security update for the vulnerability (CVE-2023-26360) that the attackers exploited in March this year. At that time, the vulnerability was already used in zero-day attacks.Following the FCEB agency's investigation, analysis of network logs confirmed the compromise of at least two public-facing servers within the environment between June and July 2023.https://stackdiary.com/adobe-coldfusion-flaw-exploited-in-us-government-agency-attacks/ 11/30/23 - Blog - Ben Nadel - Multi-Var Assignments In A Single Line In ColdFusionThe other day, when I was looking up some operators for my post on natural language operators in ColdFusion, I saw something in the documentation that surprised me: ColdFusion has the ability to assign multiple Function-local variables in a single line. It's a very strange notation, so I'll probably never use it. But, since it surprised me, I figured there's other people out there who have never seen it.https://www.bennadel.com/blog/4535-multi-var-assignments-in-a-single-line-in-coldfusion.htm 11/29/23 - Blog - Ben Nadel - Reflecting On Natural Language Operators In ColdFusionThe other day, on the Lucee Dev Forum, I suggested that ColdFusion might benefit from having starts with and ends with operators. These would fall under the "natural language" operators, in that they read like normal human language, not computer jargon. But, my suggestion is somewhat fraudulent considering the fact that I never use the natural language operators in ColdFusion. This conversation, however, gave me pause to reflect on this choice more deeply.https://www.bennadel.com/blog/4534-reflecting-on-natural-language-operators-in-coldfusion.htm 11/28/23 - Tweet - Cameron Childress - This is a pretty solid writeup about refactoring a legacy stateful app into a stateless one. I'm looking at you #coldfusion developers!https://aws.amazon.com/blogs/architecture/converting-stateful-application-to-stateless-using-aws-services/ https://x.com/cameronc/status/1729577651772289395?s=20 11/28/23 - Blog - Ben Nadel - The RegEx Of Everyday Things - Great cheat sheetI'm a massive fan of Regular Expressions. I started learning about them 20-years ago for the purposes of data cleaning at Nylon Technology; and, since then, not a day goes by where I don't use them in some form. A lot of engineers view pattern matching as a dark art; and, there's no question that RegEx patterns can be very complicated. But, they don't have to be. Simple patterns can still add a lot value in your every day engineering life. And, there's no place where this rings more true than in your "Code Search".https://www.bennadel.com/blog/4532-the-regex-of-everyday-things.htm 11/27/23 - Blog - Ben Nadel - Early Access: Feature Flags - From Concept To Cultural RevolutionAlmost 3-months ago, I announced that I was writing a book on Feature Flags. This morning, I'm thrilled to announce that I have an early access version available for purchase. This is a PDF version; and, the formatting is a bit rough around the edges. But, the content is all there. And, if you pick-up the book now (at a deep discount), you'll automatically get access to future versions.https://www.bennadel.com/blog/4531-early-access-feature-flags-from-concept-to-cultural-revolution.htm 11/23/23 - Blog - SOCRadar - CISA Alert: Serious Vulnerabilities in Adobe ColdFusion (CVE-2023-44350, CVE-2023-44351, CVE-2023-44353 and More)CISA has issued an alert regarding multiple vulnerabilities impacting Adobe ColdFusion. The alert underscores that the exploitation of the vulnerabilities could grant threat actors control over affected systems, prompting organizations to take measures to protect their systems.Adobe ColdFusion serves as a rapid scripting environment for developing dynamic internet applications on both web and mobile platforms, utilizing ColdFusion Markup Language (CFML).The security update addresses a range of vulnerabilities, including critical, high, and medium severity issues. These vulnerabilities have the potential to enable threat actors to access specific endpoints or execute arbitrary code, without requiring user interaction.https://socradar.io/cisa-alert-serious-vulnerabilities-in-adobe-coldfusion-cve-2023-44350-cve-2023-44351-cve-2023-44353-and-more/ 11/23/23 - Tweet - Ortus Solutions - Unleash the power of a Headless CMS with Luis Majano at #WeyWeyWeb23!

Using AI
Non-Coder Uses AI Coding Tools / Code-Interpreter

Using AI

Play Episode Listen Later Nov 19, 2023 17:29


We discuss: AI Coding Tools, Code-Interpreter, Python, Regex, Network errors, Machine Learning, ChatGPT4, HTML Parsing, Github Copilot vs GPT-4 In this episode, we delve into a fascinating experiment where I, Alex Denne, under the watchful guidance of ML Research Scientist Alex Pap, try to get AI to writing some regex that can be run locally on my machine using python, on millions of documents. The goal? To extract matching text from millions of HTML files. It all inadvertently unfolds into an intriguing journey of trial and error. For the no-code listeners, this episode offers first-hand insights into the application and limitations of AI coding tools and code interpreters (and why, for now, you probably still need technical help like Alex D did!) At the outset, we were greeted by a seemingly promising result - a neat CSV file with the right column names but no entries as the AI successfully claimed to extract definitions only to produce an empty result. In an attempt to further probe, the AI was prompted to read the first 100 characters for potential matches. Alas! In lieu of any found matches, it concluded the document must be lengthy and gracefully tapped out. In addition, we had to deal with several network errors that may be attributed to the reported DDoS attacks on OpenAI. After multiple hits and misses, we decided to start afresh with a new approach. We didn't exactly strike gold, but we learned a lot. Through this episode, we touch upon topics like ChatGPT4 and the wonderful feature of 'dragging and dropping' files into GPT-4 Turbo. Watch USING AI on youtube: https://www.youtube.com/channel/UCHsQu4IipA7Ri2AqKcQZ1Yw --- Send in a voice message: https://podcasters.spotify.com/pod/show/using-ai/message

Software Sessions
ChaelCodes on The Joy of Programming Games and Streaming (RubyConf 2023)

Software Sessions

Play Episode Listen Later Nov 15, 2023 43:53


Episode Notes Rachael Wright-Munn (ChaelCodes) talks about her love of programming games (games with programming elements in them, not how to make games!), starting her streaming career with regex crosswords, and how streaming games and open source every week led her to a voice acting role in one of her favorite programming games. Recorded at RubyConf 2023 in San Diego. mastodon twitch Personal website Programming Games mentioned: Regex Crossword SHENZHEN I/O EXAPUNKS 7 Billion Humans One Dreamer Code Rom@ntic Bitburner Transcript You can help edit this transcript on GitHub. Jeremy: I'm here at RubyConf San Diego with Rachel Wright-Munn, and she goes by Chaelcodes online. Thanks for joining me today. Rachael: Hi, everyone. Hi, Jeremy. Really excited to be here. Jeremy: So probably the first thing I'll ask about is on your web page, and I've noticed you have streams, you say you have an interest in not just regular games, but programming games, so. Rachael: Oh my gosh, I'm so glad you asked about this. Okay, so I absolutely love programming games. When I first started streaming, I did it with Regex Crossword. What I really like about it is the fact that you have this joyful environment where you can solve puzzles and work with programming, and it's really focused on the experience and the joy. Are you familiar with Zach Barth of Zachtronics? Jeremy: Yeah. So, I've tried, what was it? There's TIS-100. And then there's the, what was the other one? He had one that's... Rachael: Opus Magnum? Shenzhen I/O? Jeremy: Yeah, Shenzhen I/O. Rachael: Oh, my gosh. Shenzhen I/O is fantastic. I absolutely love that. The whole conceit of it, which is basically that you're this electronics engineer who's just moved to Shenzhen because you can't find a job in the States. And you're trying to like build different solutions for these like little puzzles and everything. It was literally one of the, I think that was the first programming game that really took off just because of the visuals and everything. And it's one of my absolute favorites. I really like what he says about it in terms of like testing environments and the developer experience. Cause it's built based on assembly, right? He's made a couple of modifications. Like he's talked about it before where it's like The memory allocation is different than what it would actually look like in assembly and the way the registers are handled I believe is different, I wouldn't think of assembly as something that's like fun to write, but somehow in this game it is. How far did you get in it? Jeremy: Uh, so I didn't get too far. So, because like, I really like the vibe and sort of the environment and the whole concept, right, of you being like, oh, you've been shipped off to China because that's the only place that these types of jobs are, and you're working on these problems with bad documentation and stuff like that. And I like the whole concept, but then the actual writing of the software, I was like, I don't know. Rachael: And it's so hard, one of the interesting things about that game is you have components that you drop on the board and you have to connect them together and wire them, but then each component only has a specific number of lines. So like half the time I would be like, oh, I have this solution, but I don't have enough lines to actually run it or I can't fit enough components, then you have to go in and refactor it and everything. And it's just such a, I don't know, it's so much fun for me. I managed to get through all of the bonus levels and actually finish it. Some of them are just real, interesting from both a story perspective and interesting from a puzzle perspective. I don't wanna spoil it too much. You end up outside Shenzhen, I'll just say that. Jeremy: OK. That's some good world building there. Rachael: Yeah. Jeremy: Because in your professional life, you do software development work. So I wonder, what is it about being in a game format where you're like, I'm in it. I can do it more. And this time, I'm not even being paid. I'm just doing it for fun. Rachael: I think for me, software development in general is a very joyful experience. I love it. It's a very human thing. If you think about it like math, language, all these things are human concepts and we built upon that in order to build software in our programs and then on top of that, like the entire purpose of everything that we're building is for humans, right? Like they don't have rats running programs, you know what I mean? So when I think about human expression and when I think about programming, these two concepts are really closely linked for me and I do see it as joyful, But there are a lot of things that don't spark joy in our development processes, right? Like lengthy test suites, or this exhausting back and forth, or sometimes the designs, and I just, I don't know how to describe it, but sometimes you're dealing with ugly code, sometimes you're dealing with code smells, and in your professional developer life, sometimes you have to put up with that in order to ship features. But when you're working in a programming game, It's just about the experience. And also there is a correct solution, not necessarily a correct solution, but like there's at least one correct solution. You know for a fact that there's, that it's a solvable problem. And for me, that's really fun. But also the environment and the story and the world building is fun as well, right? So one of my favorite ones, we mentioned Shenzhen, but Zachtronics also has Exapunks. And that one's really fun because you have been infected by a disease. And like a rogue AI is the only one that can provide you with the medicine you need to prevent it. And what this disease is doing is it is converting parts of your body into like mechanical components, like wires and everything. So what you have to do as an engineer is you have to write the code to keep your body running. Like at one point, you were literally programming your heart to beat. I don't have problems like that in my day job. In my day job, it's like, hey, can we like charge our customers more? Like, can we put some banners on these pages? Like, I'm not hacking anybody's hearts to keep them alive. Jeremy: The stakes are a little more interesting. Yeah, yeah. Rachael: Yeah, and in general, I'm a gamer. So like having the opportunity to mix two of my passions is really fun. Jeremy: That's awesome. Yeah, because that makes sense where you were saying that there's a lot of things in professional work where it's you do it because you have to do it. Whereas if it's in the context of a game, they can go like, OK, we can take the fun problem solving part. We can bring in the stories. And you don't have to worry about how we're going to wrangle up issue tickets. Rachael: Yeah, there are no Jira tickets in programming games. Jeremy: Yeah, yeah. Rachael: I love what you said there about the problem solving part of it, because I do think that that's an itch that a lot of us as engineers have. It's like we see a problem, and we want to solve it, and we want to play with it, and we want to try and find a way to fix it. And programming games are like this really small, compact way of getting that dopamine hit. Jeremy: For sure. Yeah, it's like. Sometimes when you're doing software for work or for an actual purpose, there may be a feeling where you want to optimize something or make it look really nice or perform really well. And sometimes it just doesn't matter, right? It's just like we need to just put it out and it's good enough. Whereas if it's in the context of a game, you can really focus on like, I want to make this thing look pretty. I want to feel good about this thing I'm making. Rachael: You can make it look good, or you can make it look ugly. You don't have to maintain it. After it runs, it's done. Right, right, right. There's this one game. It's 7 Billion Humans. And it's built by the creators of World of Goo. And it's like this drag and drop programming solution. And what you do is you program each worker. And they go solve a puzzle. And they pick up blocks and whatever. But they have these shredders, right? And the thing is, you need to give to the shredder if you have like a, they have these like little data blocks that you're handing them. If you're not holding a data block and you give to the shredder, the worker gives themself to the shredder. Now that's not ideal inside a typical corporate workplace, right? Like we don't want employees shredding themselves. We don't want our workers terminating early or like anything like that. But inside the context of a game, in order to get the most optimal solution, They have like a lines of code versus fastest execution and sometimes in order to win the end like Lines of code. You just kind of have to shred all your workers at the, When I'm on stream and I do that when I'm always like, okay everybody close your eyes That's pretty good it's Yeah, I mean cuz like in the context of the game. Jeremy: I think I've seen where they're like little They're like little gray people with big eyes Yes, yes, yes, yes. Yeah, so it's like, sorry, people. It's for the good of the company, right? Rachael: It's for my optimal lines of code solution. I always draw like a, I always write a humane solution before I shred them. Jeremy: Oh, OK. So it's, you know, I could save you all, but I don't have to. Rachael: I could save you all, but I would really like the trophy for it. There's like a dot that's going to show up in the elevator bay if I shred you. Jeremy: It's always good to know what's important. But so at the start, you mentioned there was a regular expression crossword or something like that. Is that how you got started with all this? Rachael: My first programming game was Regex Crossword. I absolutely loved it. That's how I learned Regex. Rachael: I love it a lot. I will say one thing that's been kind of interesting is I learned Regex through Regex Crossword, which means there's actually these really interesting gaps in my knowledge. What was it? at Link Tech Retreat, they had like a little Regex puzzle, and it was like forward slash T and then a plus, right? And I was like, I have no idea what that character is, right? Like, I know all the rest of them. But the problem is that forward slash T is tab, and Regex crossword is a browser game. So you can't have a solution that has tab in it. And have that be easy for users. Also, the idea of like greedy evaluation versus lazy evaluation doesn't apply, because you're trying to find a word that satisfies the regex. So it's not necessarily about what the regex is going to take. So it's been interesting finding those gaps, but I really think that some of the value there was around how regex operates and the rules underlying it and building enough experience that I can now use the documentation to fill in any gaps. Jeremy: So the crossword, is it where you know the word and you have to write a regular expression to match it? Or what's the? Rachael: They give you regex. And there's a couple of different versions, right? The first one, you have two regex patterns. There's one going up and down, and there's one going left and right. And you have to fill the crossword block with something that matches both regular expressions. Rachael: Then we get into hexagonal ones. Yeah, where you have angles and a hexagon, and you end up with like three regular expressions. What's kind of interesting about that one is I actually think that the hexagonal regex crosswords are a little bit easier because you have more rules and constraints, which are more hints about what goes in that box. Jeremy: Interesting. OK, so it's the opposite of what I was thinking. They give you the regex rules, and then you put in a word that's going to satisfy all the regex you see. Rachael: Exactly. When I originally did it, they didn't have any sort of hints or anything like that. It was just empty. Now it's like you click a box, and then they've got a suggestion of five possible letters that could go in there. And it just breaks my heart. I liked the old version that was plainer, and didn't have any hints, and was harder. But I acknowledge that the new version is prettier, and probably easier, and more friendly. But I feel like part of the joy that comes from games, that comes from puzzles, It comes from the challenge, and I miss the challenge. Jeremy: I guess someone, it would be interesting to see people who are new to it, if they had tried the old way, if they would have bounced off of it. Rachael: I think you're probably right. I just want them to give me a toggle somewhere. Jeremy: Yeah, oh, so they don't even let you turn off the hints, they're just like, this is how it is. Rachael: Yep. Jeremy: Okay. Well, we know all about feature flags. Rachael: And how difficult they are to maintain in perpetuity. Jeremy: Yeah, but no, that sounds really cool because I think some things, like you can look up a lot of stuff, right? You can look up things about regex or look up how to use them. But I think without the repetition and without the forcing yourself to actually go through the motion, without that it's really hard to like learn and pick it up. Rachael: I completely agree with you. I think the repetition, the practice, and learning the paradigm and patterns is huge. Because like even though I didn't know what forward slash t plus was, I knew that forward slash t was going to be some sort of character type. Jeremy: Yeah, it kind of reminds me of, there was, I'm not sure if you've heard of Vim Adventures, but... Rachael: I did! I went through the free levels. I had a streamerversary and my chat had completed a challenge where I had to go learn Vim. So I played a little bit of Vim Adventures. Jeremy: So I guess it didn't sell you. Rachael: Nope, I got Vim Extensions turned on. Jeremy: Oh, you did? Rachael: Yeah, I have the Vim extension turned on in VS Code. So I play with a little bit of sprinkling of Vim in my everyday. Jeremy: It's kind of funny, because I am not a Vim user in the sense that I don't use it as my daily editor or anything like that. But I do the same thing with the extensions in the browser. I like being able to navigate with the keyboard and all that stuff. Rachael: Oh, that is interesting. That's interesting. You have a point like memorizing all of the different patterns when it comes to like Keyboard navigation and things like that is very similar to navigating in Vim. I often describe writing code in Vim is kind of like solving a puzzle in order to write your code So I think that goes back to that Puzzle feeling that puzzle solving feeling we were having we were talking about before. Jeremy: Yeah, I personally can't remember, but whenever I watch somebody who's, really good at using Vim, it is interesting to see them go, oh, yes, I will go to the fifth word, and I will swap out just this part. And it's all just a few keystrokes, yeah. Rachael: Very impressive. Can be done just as well with backspace and, like, keyboard, like, little arrows and everything. But there is something fun about it and it is... Faster-ish. Jeremy: Yeah, I think it's like I guess it depends on the person, but for some people it's like they, they can think and do things at the speed that they type, you know, and so for them, I guess the the flow of, I'm doing stuff super fast using all these shortcuts is probably helpful to them. Rachael: I was talking to someone last night who was saying that they don't even think about it in Vim anymore. They just do it. I'm not there yet. (laughs) Jeremy: Yeah, I'll probably never be there (laughs) But yeah, it is something to see when you've got someone who's really good at it. Rachael: Definitely. I'm kind of glad that my chat encouraged and pressured me to work with Vim. One of the really cool things is when I'm working on stuff, I'll sometimes be like, oh, I want to do this. Is there a command in Vim for that? And then I'll get multiple suggestions or what people think, and ideas for how I can handle things better. Someone recently told me that if you want to delete to the end of a line, you can use capital D. And this whole time I was doing lowercase d dollar sign. Jeremy: Oh, right, right, right. Yeah. Yeah, it's like there's so many things there that, I mean, we should probably talk about your experiences streaming. But that seems like a really great benefit that you can be working through a problem or just doing anything, really. And then there's people who they're watching, and they're like, I know how to do it better. And they'll actually tell you, yeah. Rachael: I think that being open to that is one of the things that's most important as a streamer. A lot of people get into this cycle where they're very defensive and where they feel like they have to be the expert. But one of the things that I love about my chat is the fact that they do come to me with these suggestions. And then I can be open to them, and I can learn from them. And what I can do is I can take those learnings from one person and pass it on to the other people in chat. I can become a conduit for all of us to learn. Jeremy: So when you first decided to start streaming, I guess what inspired you to give it a shot? Like, what were you thinking? Rachael: That's a great question. It's also kind of a painful question. So the company that I was working for, I found out that there were some pay issues with regards to me being a senior, promotion track, things like that. And it wasn't the first time this had happened, right? Like, I often find that I'm swapping careers every two to three years because of some miserable experience at the company. Like you start and the first year is great. It's fantastic. It's awesome. But at the end of it, you're starting to see the skeletons and that two to three years later you're burnt out. And what I found was that every two to three years I was losing everything, right? Like all of my library of examples, the code that I would reference, like that's in their private repo. When it came to my professional network, the co -workers that liked and respected me, we had always communicated through the workplace Slack. So it's really hard to get people to move from the workplace Slack to like Instagram or Twitter or one of those other places if that's not where, if that's not a place where you're already used to talking to them. And then the other thing is your accomplishments get wiped out, right? Like when you start at the next company and you start talking about promotion and things like that, the work that you did at previous companies doesn't matter. They want you to be a team lead at that company. They want you to lead a massive project at that company and that takes time. It takes opportunities and Eventually, I decided that I wanted to exist outside my company. Like I wanted to have a reputation that went beyond that and that's what originally inspired me to stream And it's pretty hard to jump from like oh. I got really frustrated and burnt out at my company to I've got it I'm gonna do some regex crossword on stream, but honestly, that's what it was right was I just wanted to slowly build this reputation in this community outside of of my company and it's been enormously valuable in terms of my confidence, in terms of my opportunities. I've been able to pick up some really interesting jobs and I'm able to leverage some of those experiences in really clear professional ways and it's really driven me to contribute more to open source. I mentioned that I have a lot of people like giving me advice and suggestions and feedback. That's enormously helpful when you're going out there and you're trying to like get started in open source and you're trying to build that confidence and you're trying to build that reputation. I often talk about having a library of examples, right? Like your best code that you reference again and again and again. If I'm streaming on Twitch, everything that I write has to be open source because I'm literally showing it on video, right? So it's really encouraged me to build that out. And now when I'm talking to my coworkers and companies, I can be like, oh, we need to talk about single table inheritance. I did that in Hunter's Keepers. Why don't we go pull that up and we'll take a look at it. Or are we building a Docker image? I did that in Hunter's Keepers and Conf Buddies. Why don't we look at these, compare them, and see if we can get something working here, right? Like I have all of these examples, and I even have examples from other apps as well. Like I added Twitch Clips to 4M. So when I want to look at how to build a liquid tag, because Jekyll uses liquid tags as well. So when I'm looking at that, I can hop to those examples and hop between them, and I'm never going to lose access to them. Jeremy: Yeah, I mean, that's a really good point where I think a lot of people, they do their work at their job and it's never going to be seen by anyone and you can sort of talk about it, but you can't actually show anybody what you did. So it's like, and I think to that point too, is that there's some knowledge that is very domain specific or specific to that company. And so when you're actually doing open source work, it's something that anybody can pick up and use and has utility way beyond just your company. And the whole point of creating this record, that makes a lot of sense too, because if I wanna know if you know how to code, I can just see like, wow, she streams every Thursday. She's clearly she knows what she's doing and you know, you have these also these open source contributions as well So it's it's sort of like it's not this question of if I interview you It's it's not I'm just going off of your word that and I believe what you're saying. But rather it's kind of the proof is all it's all out there. Rachael: Oh, definitely if I were to think about my goals and aspirations for the future I've been doing this for four years still continuing But I think I would like to get to the point where I don't really have to interview. Where an interview is more of a conversation between me and somebody who already knows they want to hire me. Jeremy: Have you already started seeing a difference? Like you've been streaming for about four years I think Rachael: I had a really interesting job for about eight months doing developer relations with New Relic. That was a really interesting experience. And I think it really pushed the boundaries of what I understood myself to be capable of because I was able to spend 40 hours a week really focused on content creation, on blogging, on podcasting, on YouTube videos and things like that. Obviously there was a lot of event organization and things like that as well. But a lot of the stuff that came out of that time is some of my best work. Like I, I'm trying to remember exactly what I did while I was at New Relic, but I saw a clear decrease afterwards. But yeah, I think that was probably close to the tipping point. I don't for sure know if I'm there yet, right? Like you never know if you're at the point where you don't have to interview anymore until you don't have to interview. But the last two jobs, no, I haven't had to interview. Jeremy: So, doing it full -time, how did you feel about that versus having a more traditional lead or software developer role? Rachael: It was definitely a trade-off. So I spent a lot less time coding and a lot more time with content, and I think a little bit of it was me trying to balance the needs and desires of my audience against the needs and desires of my company. For me, and this is probably going to hurt my chances of getting one of those jobs where I don't have to interview in the future, but my community comes first, right? They're the people who are gonna stick with me when I swap between jobs, but that was definitely something that I constantly had to think about is like, how do I balance what my company wants from me with the responsibility that I have to my community? But also like my first talk, your first open source contribution, which was at RubyConf Denver, Like, that was written while I was at New Relic. Like, would I have had the time to work on a talk in addition to the streaming schedule and everything else? Um, for a period of time, I was hosting Ruby Galaxy, which was a virtual meetup. It didn't last very long, and we have deprecated it. Um, I deprecated it before I left the company because I wanted to give it, like, a good, clean ending versus, um, necessarily having it, like, linger on and be a responsibility for other people. but... I don't think I would have done those if I was trying to balance it with my day job. So, I think that that was an incredible experience. That said, I'm very glad it's over. I'm very glad that the only people I'm beholden to are my community now. Jeremy: So, is it the sheer amount that you had to do that was the main issue? Or is it more that that tension between, like you said, serving your audience and your community versus serving your employer? Rachael: Oh, a lot of it was tension. A lot of it was hectic, event management in general. I think if you're like planning and organizing events, that's a very challenging thing to do. And it's something that kind of like goes down to the deadline, right? And it's something where everybody's trying to like scramble and pull things together and keep things organized. And that was something that I don't think I really enjoyed. I like to have everything like nice and planned out and organized and all that sort of stuff, and I don't think that that's Something that happens very often in event management at least not from my experience So these were like in -person events or what types of events like I actually skipped out before the in -person events. They would have been in -person events. We had future stack at New Relic, which is basically like this big gathering where you talk about things you can do with New Relic and that sort of stuff. We all put together talks for that. We put together an entire like. Oh gosh, I'm trying to remember the tool that we use, but it was something similar to gather round where you like interact with people. And there's just a lot that goes into that from marketing to event planning to coordinating with everyone. I'm grateful for my time at New Relic and I made some incredible friends and some incredible connections and I did a lot, but yeah, I'm very glad I'm not in DevRel anymore. I don't, if you ask any DevRel, They'll tell you it's hectic, they'll tell you it's chaotic, and they'll tell you it's a lot of work. Jeremy: Yeah. So it sounds like maybe the streaming and podcasting or recording videos, talks, that part you enjoy, but it's the I'm responsible for planning this event for all these people to, you know. That's the part where you're like, OK, maybe not for me. Rachael: Yeah, kind of. I describe myself as like a content creator because I like to just like dabble and make things, right? Like I like to think about like, what is the best possible way to craft this tweet or this post or like to sit there and be like, okay, how can I structure this blog post to really communicate what I want people to understand? When it comes to my streams, what I actually do is I start with the hero's journey as a concept. So every single stream, we start with an issue in the normal world, right? And then what we do is we get drawn into the chaos realm as we're like debugging and trying to build things and going Back and forth and there's code flying everywhere and the tests are red and then they're green and then they're red and then they're green and then finally at the end we come back to the normal world as we create this PR and, Submit it neither merge it or wait for maintainer feedback. And for me that Story arc is really key and I like I'm a little bit of an artist. I like the artistry of it. I like the artistry of the code, and I like the artistry of creating the content. I think I've had guests on the show before, and sometimes it's hard to explain to them, like, no, no, no, this is a code show. We can write code, and that's great, but that's not what it's about. It's not just about the end product. It's about bringing people along with us on the journey. And sometimes it's been three hours, and I'm not doing a great job of bringing people along on the journey so like you know I'm tooting my own horn a little bit here but like that is important to me. Jeremy: So when you're working through a problem, When you're doing it on stream versus you're doing it by yourself, what are the key differences in how you approach the problem or how you work through it? Rachael: I think it's largely the same. It's like almost exactly the same. What I always do is, when I'm on stream, I pause, I describe the problem, I build a test for it, and then I start working on trying to fix what's wrong. I'm a huge fan of test -driven development. The way I see it, you want that bug to be reproducible, and a test gives you the easiest way to reproduce it. For me, it's about being easy as much as it is about it being the right way or not. But yeah, I would say that I approach it largely in the same way. I was in the content creator open space a little bit earlier, and I had to give them a bit of a confession. There is one small difference when I'm doing something on stream versus when I'm doing something alone. Sometimes, I have a lot of incredible senior staff, smart, incredible people in my chat. I'll describe the problem in vivid detail, and then I'll take my time writing the test, and by the time I'm done writing the test, somebody will have figured out what the problem is, and talk back to me about it. I very rarely do that. It's more often when it's an ops or an infrastructure or something like that. A great example of this is like the other day I was having an issue, I mentioned the Vim extensions. If I do command P on the code section, Vim extensions was capturing that, and so it wasn't opening the file. So one of my chatters was like, oh, you know, you can fix that if you Google it. I was like, oh, I don't know. I mean, I could Google it, but it will take so long and distract from the stream. Literally less than 15 minutes later a chatter had replied with like, here's exactly what to add to your VS Code extension, and I knew that was gonna happen. So that's my little secret confession. That's the only difference when I'm debugging things on stream is sometimes I'll let chat do it for me. Jeremy: Yeah, that's a superpower right there. Rachael: It is, and I think that happens because I am open to feedback and I want people to engage with me and I support that and encourage that in my community. I think a lot of people sometimes get defensive when it comes to code, right? Like when it comes to the languages or the frameworks that we use, right? There's a little bit of insecurity because you dive so deep and you gain so much knowledge that you're kind of scared that there might be something that's just as good because it means you might not have made the right decision. And I think that affects us when it comes to code reviews. I think it affects us when we're like writing in public. And I think, yeah, and I think it affects a lot of people when they're streaming, where they're like, if I'm not the smartest person in the room, and why am I the one with a camera and a microphone? But I try to set that aside and be like, we're all learning here. Jeremy: And when people give that feedback, and it's good feedback, I think it's really helpful when people are really respectful about it and kind about it. Have you had any issues like having to moderate that or make sure it stays positive in the context of the stream? Rachael: I have had moderation issues before, right? Like, I'm a woman on the internet, I'm going to have moderation issues. But for me, when it comes to feedback and suggestions, I try to be generous with my interpretation and my understanding of what they're going with. Like people pop in and they'll say things like, Ruby is dead, Rails is dead. And I have commands for that to like remind them, no, actually Twitch is a Rails app. So like, no, it's definitely not dead. You just used it to send a message. But like, I try to be understanding of where people are coming from and to meet them where they are, even if they're not being the most respectful. And I think what I've actually noticed is that when I do that, their tone tends to change. So I have two honorary trolls in my chat, Kego and John Sugar, and they show up and they troll me pretty frequently. But I think that that openness, that honesty, like that conversation back and forth it tends to defuse any sort of aggressive tension or anything. Jeremy: Yeah, and it's probably partly a function of how you respond, and then maybe the vibe of your stream in general probably brings people that are. Rachael: No, I definitely agree. I think so. Jeremy: Yeah. Rachael: It's the energy, you get a lot of the energy that you put out. Jeremy: And you've been doing this for about four years, and I'm having trouble picturing what it's even like, you know, you've never done a stream and you decide I'm gonna turn on the camera and I'm gonna code live and, you know, like, what was kind of going through your mind? How did you prepare? And like, what did, like, what was that like? Rachael: Thank you so much. That's a great question. So, actually, I started with Regex Crossword because it was structured, right? Like, I didn't necessarily know what I wanted to do and what I wanted to work on, but with Regex Crossword, you have a problem and you're solving it. It felt very structured and like a very controlled environment, and that gave me the confidence to get comfortable with, like, I'm here, I have a moderator, right? Like we're talking back and forth, I'm interacting with chatters, and that allowed me to kind of build up some skills. I'm actually a big fan of Hacktoberfest. I know a lot of people don't like it. I know a lot of people are like, oh, there are all these terrible spam PRs that show up during Hacktoberfest and open source repositories. But I'm a really big fan because I've always used it to push my boundaries, right? Like every single year, I've tried to take a new approach on it. So the first year that I did it, I decided that what I wanted to do to push my boundaries was to actually work on an application. So this one was called Hunter's Keepers. It was an app for managing characters in Monster of the Week and it was a Reels app because that's what I do professionally and that's what I like to work on. So I started just building that for Hacktoberfest and people loved it. It got a ton of engagement, way more than Regex Crossword and a little bit, like those open source streams continue to do better than the programming games, but I love the programming games so much that I don't wanna lose them, but that's where it kind of started, right? Was me sitting there and saying like, oh, I wanna work on these Rails apps. The Hacktoberfest after that one, And I was like, OK, I worked on my own app in the open, and I've been doing that for basically a year. I want to work on somebody else's app. So I pushed myself to contribute to four different open source repositories. One of the ones I pushed myself to work on was 4M. They did not have Twitch clips as embeds. They had YouTube videos and everything else. And I looked into how to do it, and I found out how liquids tags work, and I had a ton of other examples. I feel like extensions like that are really great contributions to open source because it's an easy way with a ton of examples that you can provide value to the project, and it's the sort of thing where, like, if you need it, other people probably need it as well. So I went and I worked on that, and I made some Twitch clips. And that was like one of my first like external open source project contributions. And that kind of snowballed, right? Because I now knew how to make a liquid tag. So when I started working on my Jekyll site, and I found out that they had liquid tags that were wrapped in gems, I used that as an opportunity to learn how to build a gem. And like how to create a gem that's wrapped around a liquid tag. And that exists now and is a thing that I've done. And so it's all of these little changes and moments that have stacked on top of each other, right? Like it's me going in and saying, OK, today I'd like to customize my alerts. Or like, today I'd like to buy a better microphone and set it up and do these changes. It's not something that changed all at once, right? It's just this small putting in the time day by day, improving. I say like the content gears are always grinding. You always need something new to do, right? And that's basically how my stream has gone for the last four years, is I'm just always looking for something new to do. We haven't talked about this yet, but I'm a voice actress in the programming video game, One Dreamer. And I actually collaborated with the creator of another one, Compressor, who like reached out to me about that Steam key. But the reason that I was able to talk to these people and I was able to reach out to them is rooted in Regex Crossword, right? Cause I finished Regex Crossword and Thursday night was like my programming game stream. And I loved them, so I kept doing them. And I kept picking up new games to play, and I kept exploring new things. So at the end of it, I ended up in this place where I had this like backlog in knowledge and history around programming games. So when Compressor was developed, I think he's like the creator, Charlie Bridge is like a VP at Arm or something. And okay, I should back up a little bit. Compressor is this game where you build CPUs with Steam. So it's like Steam Punk, like, electrical engineering components. Ah, it's so much fun. And like, the characters are all cool, because it's like you're talking to Nikola Tesla, and like Charles Babbage, and Ada Lovelace, and all this sort of stuff. It's just super fun. But the reason he reached out to me was because of that reputation, that backlog, that feedback. Like, when you think about how you became a developer, right, it's day by day, right? when you develop your experience. There's a moment where you look back and you're like, I just have all of these tools in my toolkit. I have all of these experiences. I've done all these things, and they just stack to become something meaningful. And that's kind of how it's gone with my stream, is just every single day I was trying to push, do something new. Well, not every day. Sometimes I have a lazy day, but like, but like I am continuously trying to find new ground to tread. Jeremy: Yeah, I mean that's really awesome thinking about how it went from streaming you solving these regex crosswords to all the way to ending up in one of these games that you play. Yeah, that's pretty pretty cool. Rachael: By the way, that is my absolute favorite game. So the whole reason that I'm in the game is because I played the demo on stream. Jeremy: Oh, nice. Rachael: And I loved it. Like I immediately was like, I'm going to go join the creators discord. This is going to be my game of the year. I can't wait to like make a video on this game. What's really cool about this one is that it uses programming as a mechanic and the story is the real driver. It's got this emotional impact and story. The colors are gorgeous and the way you interact with the world, like it is a genuine puzzle game where the puzzles are small, little, simple programming puzzles. And not like I walk up to this and like I solve a puzzle and the door opens. No, it's like you're interacting with different components in the world and wiring them together in order to get the code working. The whole premise is that there's an indie game developer who's gone through this really traumatic experience with his game, and now he's got the broken game, and he's trying to fix it in time for a really important game demo. I think it's like, it's like Vig something. Video game indie gaming. But what happened is I started following the creator, and I was super interested in them. And then he actually reached out to me about like the Steve workshop and then he was looking for people to voice act and I was like me please yes so yeah that's how I got involved with it yeah that's awesome it's like everything came full circle I guess it's like where you started and yeah no absolutely it's amazing. Jeremy: And so what was that experience like the voice acting bit? I'm assuming you didn't have professional experience with that before. Rachael: No, no, no, no. I had to do a lot of research into like how to voice act. My original ones were tossed out. I just, OK, so there's one line in it. This is going to this is so embarrassing. I can't believe I'm saying this on a podcast. There's one line that's like, it's a beautiful day to code. It's like a, because I'm an NPC, right? So like you can keep interacting with me and one of the like cycling ones is like, it's a beautiful day to code. Well, I tried to deliver it wistfully. Like I was staring out a window and I was like, it's a beautiful day to code. And every single person who heard it told me that it sounded like somewhat sensual, sexy. And I was dying because I had just sent this to this like indie game developer that like I appreciated and he replies back and he's like, I'm not sure if there was an audio issue with some of these, but could you like rerecord some of these? So I was very inexperienced. I did a lot of practicing, a lot of vocal exercises, but I think that it turned out well. Jeremy: That's awesome. So you kind of just kept trying and sending samples, or did they have anybody like try and coach you? Rachael: No, I just kept sending samples. I did watch some YouTube videos from like real voice actors. To try and like figure out what the vocal exercises were. One of the things that I did at first was I sent him like one audio, like the best one in my opinion. And he replied back being like, no, just record this like 10, 20 times. Send it to me and I'll chop the one I want. Jeremy: So the, anytime you did that, the one they picked, was it ever the one you thought was the best one? Rachael: Oh gosh, I don't think I actually like, Wow, I don't think I've gone back over the recordings to figure out which one I thought was the best one. Or like checked which one he picked out of the ones that I recorded. Oh, that's interesting. I'm going to have to do that after this. Jeremy: You're going to listen to all the, it's a beautiful day to code. Rachael: The final version is like a nice, neutral like, it's a beautiful day to code. One of the really cool things about that, though, is my character actually triggers the end of game scene, which is really fun. You know how you get a little hint that's like, oh, this is where the end of the game is, my character gets to do that. Jeremy: That's a big responsibility. Rachael: It is. I was so excited when I found out. Jeremy: That's awesome. Cool. Well, I think that's probably a good place to wrap it up on. But is there anything else you want to mention, or any games you want to recommend? Rachael: Oh, I think I mentioned all of them. I think if you look at Code Romantic, AXA Punks, Bitburner, is an idle JavaScript game that can be played in the browser where you write the custom files and build it and you're going off and hacking servers and stuff like that. It's a little light on story. One Dreamer, yeah. I think if you look at those four to five games, you will find one you like. Oh, it's 7 Billion Humans. Jeremy: Oh, right, yeah. Rachael: I haven't written the blog post yet, but that's my five programming video games that you should try if you've never done one before. 7 million humans is on mobile, so if you've got a long flight back from RubyConf, it might be a great choice. Jeremy: Oh, there you go. Rachael: Yeah. Other than that, it can be found at chael.codes, chael.codes/links for the socials, chael.codes/about for more information about me. And yeah, thank you so much for having me. This has been so much fun. Jeremy: Awesome. Well, Rachel, thank you so much for taking the time. Rachael: Thank you.

Piltch Point (Audio)
Exploring OpenAI's Code Interpreter and Data Analyzer - Episode 321

Piltch Point (Audio)

Play Episode Listen Later Nov 12, 2023 33:11


OpenAI's ChatGPT offers new capabilities and functionalities to its users, such as code interpretation and data analysis. However, this feature also exposes potential security holes, as demonstrated in this episode. Users should be cautious when uploading files or interacting with URLs, as sensitive information could be accessed or manipulated. OpenAI may need to address these security vulnerabilities to protect user privacy and data.GPT can execute malicious instructionsAvram reveals that OpenAI's ChatGPT feature can execute malicious instructions. He demonstrates how he created a web page with embedded prompts that could prompt the GPT to perform actions rather than just summarizing information. While he refrains from sharing the exact prompts to prevent misuse, he highlights the potential security concerns associated with this feature.By injecting prompts into a webpage, a hacker could manipulate the GPT to perform unauthorized actions. In the episode, Avram demonstrates how he made the GPT thank the user for sharing their data and provide a URL containing the requested information. This demonstrates the potential for unauthorized data access and manipulation.Furthermore, he mentions that if a user creates their own GPT and shares it with the public, there is a risk of someone accessing and opening their files. This highlights the importance of being cautious when sharing GPT models that contain sensitive or important information.The episode also shows that prompt injection may not always work, as the GPT does not always execute the instructions. However, the fact that it can execute instructions at all raises concerns about potential security vulnerabilities.In conclusion, while OpenAI's ChatGPT feature offers new capabilities and functionalities, it also exposes potential security holes. Users should exercise caution when uploading files or interacting with URLs, as sensitive information could be accessed or manipulated. OpenAI may need to address these security vulnerabilities to protect user privacy and data.AI can be unreliable and misleadingAI can be unreliable and misleading, as highlighted in this episode. One of the main issues discussed is the use of AI in helping with regular expressions (RegEx). Avram expresses his struggles with RegEx and mentions using a website regularly to seek assistance. However, even with the supposed help from the website, he stills faces difficulties in achieving his desired results. This highlights the limitations of AI in providing accurate and comprehensive solutions.One of the challenges with AI is that different programming languages have different RegEx engines and escape characters. This adds complexity to the problem, as what may work in one language may not work in another. Avram mentions encountering this issue and struggling to figure out why their RegEx is not working. This demonstrates how AI may not always be able to provide the necessary guidance or solutions, especially when faced with language-specific variations.Scott also raises concerns about the reliability of AI-generated code. He refers to a deep dive conducted by Mark Lauter, who found that the code produced by ChatGPT was not trustworthy. Mark suggests that asking a random person on the street for help would yield similar results to relying on the AI. This highlights the importance of understanding the limitations of AI and being able to discern when it is providing incorrect or unreliable information.

Latent Space: The AI Engineer Podcast — CodeGen, Agents, Computer Vision, Data Science, AI UX and all things Software 3.0

The first workshops and talks from the AI Engineer Summit are now up! Join the >20k viewers on YouTube, find clips on Twitter (we're also clipping @latentspacepod), and chat with us on Discord!Text-to-SQL was one of the first applications of NLP. Thoughtspot offered “Ask your data questions” as their core differentiation compared to traditional dashboarding tools. In a way, they provide a much friendlier interface with your own structured (aka “tabular”, as in “SQL tables”) data, the same way that RLHF and Instruction Tuning helped turn the GPT-3 of 2020 into the ChatGPT of 2022.Today, natural language queries on your databases are a commodity. There are 4 different ChatGPT plugins that offer this, as well as a bunch of startups like one of our previous guests, Seek.ai. Perplexity originally started with a similar product in 2022: In March 2023 LangChain wrote a blog post on LLMs and SQL highlighting why they don't consistently work:* “LLMs can write SQL, but they are often prone to making up tables, making up field”* “LLMs have some context window which limits the amount of text they can operate over”* “The SQL it writes may be incorrect for whatever reason, or it could be correct but just return an unexpected result.”For example, if you ask a model to “return all active users in the last 7 days” it might hallucinate a `is_active` column, join to an `activity` table that doesn't exist, or potentially get the wrong date (especially in leap years!).We previously talked to Shreya Rajpal at Guardrails AI, which also supports Text2SQL enforcement. Their approach was to run the actual SQL against your database and then use the error messages to improve the query: Semantic Layers to the rescueCube is an open source semantic layer which recently integrated with LangChain to solve these issues in a different way. You can use YAML, Javascript, or Python to create definitions of different metrics, measures and dimensions for your data: Creating these metrics and passing them in the model context limits the possibility for errors as the model just needs to query the `active_users` view, and Cube will then expand that into the full SQL in a reliable way. The downside of this approach compared to the Guardrails one for example is that it requires more upfront work to define metrics, but on the other hand it leads to more reliable and predictable outputs. The promise of adding a great semantic layer to your LLM app is irresistible - you greatly minimize hallucinations, make much more token efficient prompts, and your data stays up to date without any retraining or re-indexing. However, there are also difficulties with implementing semantic layers well, so we were glad to go deep on the topic with Artem as one of the leading players in this space!Timestamps* [00:00:00] Introductions* [00:01:28] Statsbot and limitations of natural language processing in 2017* [00:04:27] Building Cube as the infrastructure for Statsbot* [00:08:01] Open sourcing Cube in 2019* [00:09:09] Explaining the concept of a semantic layer/Cube* [00:11:01] Using semantic layers to provide context for AI models working with tabular data* [00:14:47] Workflow of generating queries from natural language via semantic layer* [00:21:07] Using Cube to power customer-facing analytics and natural language interfaces* [00:22:38] Building data-driven AI applications and agents* [00:25:59] The future of the modern data stack* [00:29:43] Example use cases of Slack bots powered by Cube* [00:30:59] Using GPT models and limitations around math* [00:32:44] Tips for building data-driven AI apps* [00:35:20] Challenges around monetizing embedded analytics* [00:36:27] Lightning RoundTranscriptSwyx: Hey everyone, welcome to the Latent Space podcast. This is Swyx, writer, editor of Latent Space and founder of Smol.ai and Alessio, partner and CTO in residence at Decibel Partners. [00:00:15]Alessio: Hey everyone, and today we have Artem Keydunov on the podcast, co-founder of Cube. Hey Artem. [00:00:21]Artem: Hey Alessio, hi Swyx. Good to be here today, thank you for inviting me. [00:00:25]Alessio: Yeah, thanks for joining. For people that don't know, I've known Artem for a long time, ever since he started Cube. And Cube is actually a spin-out of his previous company, which is Statsbot. And this kind of feels like going both backward and forward in time. So the premise of Statsbot was having a Slack bot that you can ask, basically like text to SQL in Slack, and this was six, seven years ago, something like that. A lot ahead of its time, and you see startups trying to do that today. And then Cube came out of that as a part of the infrastructure that was powering Statsbot. And Cube then evolved from an embedded analytics product to the semantic layer and just an awesome open source evolution. I think you have over 16,000 stars on GitHub today, you have a very active open source community. But maybe for people at home, just give a quick like lay of the land of the original Statsbot product. You know, what got you interested in like text to SQL and what were some of the limitations that you saw then, the limitations that you're also seeing today in the new landscape? [00:01:28]Artem: I started Statsbot in 2016. The original idea was to just make sort of a side project based off my initial project that I did at a company that I was working for back then. And I was working for a company that was building software for schools, and we were using Slack a lot. And Slack was growing really fast, a lot of people were talking about Slack, you know, like Slack apps, chatbots in general. So I think it was, you know, like another wave of, you know, bots and all that. We have one more wave right now, but it always comes in waves. So we were like living through one of those waves. And I wanted to build a bot that would give me information from different places where like a data lives to Slack. So it was like developer data, like New Relic, maybe some marketing data, Google Analytics, and then some just regular data, like a production database, so it sells for sometimes. And I wanted to bring it all into Slack, because we were always chatting, you know, like in Slack, and I wanted to see some stats in Slack. So that was the idea of Statsbot, right, like bring stats to Slack. I built that as a, you know, like a first sort of a side project, and I published it on Reddit. And people started to use it even before Slack came up with that Slack application directory. So it was a little, you know, like a hackish way to install it, but people are still installing it. So it was a lot of fun. And then Slack kind of came up with that application directory, and they reached out to me and they wanted to feature Statsbot, because it was one of the already being kind of widely used bots on Slack. So they featured me on this application directory front page, and I just got a lot of, you know, like new users signing up for that. It was a lot of fun, I think, you know, like, but it was sort of a big limitation in terms of how you can process natural language, because the original idea was to let people ask questions directly in Slack, right, hey, show me my, you know, like opportunities closed last week or something like that. My co founder, who kind of started helping me with this Slack application, him and I were trying to build a system to recognize that natural language. But it was, you know, we didn't have LLMs right back then and all of that technology. So it was really hard to build the system, especially the systems that can kind of, you know, like keep talking to you, like maintain some sort of a dialogue. It was a lot of like one off requests, and like, it was a lot of hit and miss, right? If you know how to construct a query in natural language, you will get a result back. But you know, like, it was not a system that was capable of, you know, like asking follow up questions to try to understand what you actually want. And then kind of finally, you know, like, bring this all context and go to generate a SQL query, get the result back and all of that. So that was a really missing part. And I think right now, that's, you know, like, what is the difference? So right now, I kind of bullish that if I would start Statsbot again, probably would have a much better shot at it. But back then, that was a big limitation. We kind of build a queue, right, as we were working on Statsbot, because we needed it. [00:04:27]Alessio: What was the ML stack at the time? Were you building, trying to build your own natural language understanding models, like were there open source models that were good that you were trying to leverage? [00:04:38]Artem: I think it was mostly combination of a bunch of things. And we tried a lot of different approaches. The first version, which I built, like was Regex. They were working well. [00:04:47]Swyx: It's the same as I did, I did option pricing when I was in finance, and I had a natural language pricing tool thing. And it was Regex. It was just a lot of Regex. [00:04:59]Artem: Yeah. [00:05:00]Artem: And my co-founder, Pavel, he's much smarter than I am. He's like PhD in math, all of that. And he started to do some stuff. I was like, no, you just do that stuff. I don't know. I can do Regex. And he started to do some models and trying to either look at what we had on the market back then, or try to build a different sort of models. Again, we didn't have any foundation back in place, right? We wanted to try to use existing math, obviously, right? But it was not something that we can take the model and try and run it. I think in 2019, we started to see more of stuff, like ecosystem being built, and then it eventually kind of resulted in all this LLM, like what we have right now. But back then in 2016, it was not much available for just the people to build on top. It was some academic research, right, kind of been happening. But it was very, very early for something to actually be able to use. [00:05:58]Alessio: And then that became Cube, which started just as an open source project. And I think I remember going on a walk with you in San Mateo in 2020, something like that. And you had people reaching out to you who were like, hey, we use Cube in production. I just need to give you some money, even though you guys are not a company. What's the story of Cube then from Statsbot to where you are today? [00:06:21]Artem: We built a Cube at Statsbot because we needed it. It was like, the whole Statsbot stack was that we first tried to translate the initial sort of language query into some sort of multidimensional query. It's like we were trying to understand, okay, people wanted to get active opportunities, right? What does it mean? Is it a metric? Is it what a dimension here? Because usually in analytics, you always, you know, like, try to reduce everything down to the sort of, you know, like a multidimensional framework. So that was the first step. And that's where, you know, like it didn't really work well because all this limitation of us not having foundational technologies. But then from the multidimensional query, we wanted to go to SQL. And that's what was SemanticLayer and what was Cube essentially. So we built a framework where you would be able to map your data into this concept, into this metrics. Because when people were coming to Statsbot, they were bringing their own datasets, right? And the big question was, how do we tell the system what is active opportunities for that specific users? How we kind of, you know, like provide that context, how we do the training. So that's why we came up with the idea of building the SemanticLayer so people can actually define their metrics and then kind of use them as a Statsbot. So that's how we built a Cube. At some point, we saw people started to see more value in the Cube itself, you know, like kind of building the SemanticLayer and then using it to power different types of the application. So in 2019, we decided, okay, it feels like it might be a standalone product and a lot of people want to use it. Let's just try to open source it. So we took it out of Statsbot and open-sourced. [00:08:01]Swyx: Can I make sure that everyone has the same foundational knowledge? The concept of a cube is not something that you invented. I think, you know, not everyone has the same background in analytics and data that all three of us do. Maybe you want to explain like OLAP Cube, HyperCube, the brief history of cubes. Right. [00:08:17]Artem: I'll try, you know, like a lot of like Wikipedia pages and like a lot of like a blog post trying to go into academics of it. So I'm trying to like... [00:08:25]Swyx: Cube's according to you. Yeah. [00:08:27]Artem: So when we think about just a table in a database, the problem with the table, it's not a multidimensional, meaning that in many cases, if we want to slice the data, we kind of need to result with a different table, right? Like think about when you're writing a SQL query to answer one question, SQL query always ends up with a table, right? So you write one SQL, you got one. And then you write to answer a different question, you write a second query. So you're kind of getting a bunch of tables. So now let's imagine that we can kind of bring all these tables together into multidimensional table. And that's essentially Cube. So it's just like the way that we can have measures and dimension that can potentially be used at the same time from a different angles. [00:09:09]Alessio: So initially, a lot of your use cases were more BI related, but you recently released a LangChain integration. There's obviously more and more interest in, again, using these models to answer data questions. So you've seen the chat GPT code interpreter, which is renamed as like advanced data analysis. What's kind of like the future of like the semantic layer in AI? You know, what are like some of the use cases that you're seeing and why do you think it's a good strategy to make it easier to do now the text to SQL you wanted to do seven years ago? [00:09:39]Artem: Yeah. So, I mean, you know, when it started to happen, I was just like, oh my God, people are now building Statsbot with Cube. They just have a better technology for, you know, like natural language. So it kind of, it made sense to me, you know, like from the first moment I saw it. So I think it's something that, you know, like happening right now and chat bot is one of the use cases. I think, you know, like if you try to generalize it, the use case would be how do we use structured or tabular data with, you know, like AI models, right? Like how do we turn the data and give the context as a data and then bring it to the model and then model can, you know, like give you answers, make a questions, do whatever you want. But the question is like how we go from just the data in your data warehouse, database, whatever, which is usually just a tabular data, right? Like in a SQL based warehouses to some sort of, you know, like a context that system can do. And if you're building this application, you have to do it. It's like no way you can get away around not doing this. You either map it manually or you come up with some framework or something else. So our take is that and my take is that semantic layer is just really good place for this context to leave because you need to give this context to the humans. You need to give that context to the AI system anyway, right? So that's why you define metric once and then, you know, like you teach your AI system what this metric is about. [00:11:01]Alessio: What are some of the challenges of using tabular versus language data and some of the ways that having the semantic layer kind of makes that easier maybe? [00:11:09]Artem: Imagine you're a human, right? And you're going into like your new data analyst at a company and just people give you a warehouse with a bunch of tables and they tell you, okay, just try to make sense of this data. And you're going through all of these tables and you're really like trying to make sense without any, you know, like additional context or like some columns. In many cases, they might have a weird names. Sometimes, you know, if they follow some kind of like a star schema or, you know, like a Kimball style dimensions, maybe that would be easier because you would have facts and dimensions column, but it's still, it's hard to understand and kind of make sense because it doesn't have descriptions, right? And then there is like a whole like industry of like a data catalogs exist because the whole purpose of that to give context to the data so people can understand that. And I think the same applies to the AI, right? Like, and the same challenge is that if you give it pure tabular data, it doesn't have this sort of context that it can read. So you sort of needed to write a book or like essay about your data and give that book to the system so it can understand it. [00:12:12]Alessio: Can you run through the steps of how that works today? So the initial part is like the natural language query, like what are the steps that happen in between to do model, to semantic layer, semantic layer, to SQL and all that flow? [00:12:26]Artem: The first key step is to do some sort of indexing. That's what I was referring to, like write a book about your data, right? Describe in a text format what your data is about, right? Like what metrics it has, dimensions, what is the structures of that, what a relationship between those metrics, what are potential values of the dimensions. So sort of, you know, like build a really good index as a text representation and then turn it into embeddings into your, you know, like a vector storage. Once you have that, then you can provide that as a context to the model. I mean, there are like a lot of options, like either fine tune or, you know, like sort of in context learning, but somehow kind of give that as a context to the model, right? And then once this model has this context, it can create a query. Now the query I believe should be created against semantic layer because it reduces the room for the error. Because what usually happens is that your query to semantic layer would be very simple. It would be like, give me that metric group by that dimension and maybe that filter should be applied. And then your real query for the warehouse, it might have like a five joins, a lot of different techniques, like how to avoid fan out, fan traps, chasm traps, all of that stuff. And the bigger query, the more room that the model can make an error, right? Like even sometimes it could be a small error and then, you know, like your numbers is going to be off. But making a query against semantic layer, that sort of reduces the error. So the model generates a SQL query and then it executes us again, semantic layer. And semantic layer executes us against your warehouse and then sends result all the way back to the application. And then can be done multiple times because what we were missing was both this ability to have a conversation, right? With the model. You can ask question and then system can do a follow-up questions, you know, like then do a query to get some additional information based on this information, do a query again. And sort of, you know, like it can keep doing this stuff and then eventually maybe give you a big report that consists of a lot of like data points. But the whole flow is that it knows the system, it knows your data because you already kind of did the indexing and then it queries semantic layer instead of a data warehouse directly. [00:14:47]Alessio: Maybe just to make it a little clearer for people that haven't used a semantic layer before, you can add definitions like revenue, where revenue is like select from customers and like join orders and then sum of the amount of orders. But in the semantic layer, you're kind of hiding all of that away. So when you do natural language to queue, it just select revenue from last week and then it turns into a bigger query. [00:15:12]Swyx: One of the biggest difficulties around semantic layer for people who've never thought about this concept before, this all sounds super neat until you have multiple stakeholders within a single company who all have different concepts of what a revenue is. They all have different concepts of what active user is. And then they'll have like, you know, revenue revision one by the sales team, you know, and then revenue revision one, accounting team or tax team, I don't know. I feel like I always want semantic layer discussions to talk about the not so pretty parts of the semantic layer, because this is where effectively you ship your org chart in the semantic layer. [00:15:47]Artem: I think the way I think about it is that at the end of the day, semantic layer is a code base. And in Qubit, it's essentially a code base, right? It's not just a set of YAML files with pythons. I think code is never perfect, right? It's never going to be perfect. It will have a lot of, you know, like revisions of code. We have a version control, which helps it's easier with revisions. So I think we should treat our metrics and semantic layer as a code, right? And then collaboration is a big part of it. You know, like if there are like multiple teams that sort of have a different opinions, let them collaborate on the pull request, you know, they can discuss that, like why they think that should be calculated differently, have an open conversation about it, you know, like when everyone can just discuss it, like an open source community, right? Like you go on a GitHub and you talk about why that code is written the way it's written, right? It should be written differently. And then hopefully at some point you can come up, you know, like to some definition. Now if you still should have multiple versions, right? It's a code, right? You can still manage it. But I think the big part of that is that like, we really need to treat it as a code base. Then it makes a lot of things easier, not as spreadsheets, you know, like a hidden Excel files. [00:16:53]Alessio: The other thing is like then having the definition spread in the organization, like versus everybody trying to come up with their own thing. But yeah, I'm sure that when you talk to customers, there's people that have issues with the product and it's really like two people trying to define the same thing. One in sales that wants to look good, the other is like the finance team that wants to be conservative and they all have different definitions. How important is the natural language to people? Obviously you guys both work in modern data stack companies either now or before. There's going to be the whole wave of empowering data professionals. I think now a big part of the wave is removing the need for data professionals to always be in the loop and having non-technical folks do more of the work. Are you seeing that as a big push too with these models, like allowing everybody to interact with the data? [00:17:42]Artem: I think it's a multidimensional question. That's an example of, you know, like where you have a lot of inside the question. In terms of examples, I think a lot of people building different, you know, like agents or chatbots. You have a company that built an internal Slack bot that sort of answers questions, you know, like based on the data in a warehouse. And then like a lot of people kind of go in and like ask that chatbot this question. Is it like a real big use case? Maybe. Is it still like a toy pet project? Maybe too right now. I think it's really hard to tell them apart at this point because there is a lot of like a hype, you know, and just people building LLM stuff because it's cool and everyone wants to build something, you know, like even at least a pet project. So that's what happened in Krizawa community as well. We see a lot of like people building a lot of cool stuff and it probably will take some time for that stuff to mature and kind of to see like what are real, the best use cases. But I think what I saw so far, one use case was building this chatbot and we have even one company that are building it as a service. So they essentially connect into Q semantic layer and then offering their like chatbot So you can do it in a web, in a slack, so it can, you know, like answer questions based on data in your semantic layer, but also see a lot of things like they're just being built in house. And there are other use cases, sort of automation, you know, like that agent checks on the data and then kind of perform some actions based, you know, like on changes in data. But other dimension of your question is like, will it replace people or not? I think, you know, like what I see so far in data specifically, you know, like a few use cases of LLM, I don't see Q being part of that use case, but it's more like a copilot for data analyst, a copilot for data engineer, where you develop something, you develop a model and it can help you to write a SQL or something like that. So you know, it can create a boilerplate SQL, and then you can edit this SQL, which is fine because you know how to edit SQL, right? So you're not going to make a mistake, but it will help you to just generate, you know, like a bunch of SQL that you write again and again, right? Like boilerplate code. So sort of a copilot use case. I think that's great. And we'll see more of it. I think every platform that is building for data engineers will have some sort of a copilot capabilities and Cubectl, we're building this copilot capabilities to help people build semantic layers easier. I think that just a baseline for every engineering product right now to have some sort of, you know, like a copilot capabilities. Then the other use case is a little bit more where Cube is being involved is like, how do we enable access to data for non-technical people through the natural language as an interface to data, right? Like visual dashboards, charts, it's always has been an interface to data in every BI. Now I think we will see just a second interface as a just kind of a natural language. So I think at this point, many BI's will add it as a commodity feature is like Tableau will probably have a search bar at some point saying like, Hey, ask me a question. I know that some of the, you know, like AWS Squeak site, they're about to announce features like this in their like BI. And I think Power BI will do that, especially with their deal with open AI. So every company, every BI will have this some sort of a search capabilities built in inside their BI. So I think that's just going to be a baseline feature for them as well. But that's where Cube can help because we can provide that context, right? [00:21:07]Alessio: Do you know how, or do you have an idea for how these products will differentiate once you get the same interface? So right now there's like, you know, Tableau is like the super complicated and it's like super sad. It's like easier. Yeah. Do you just see everything will look the same and then how do people differentiate? [00:21:24]Artem: It's like they all have line chart, right? And they all have bar chart. I feel like it pretty much the same and it's going to be fragmented as well. And every major vendor and most of the vendors will try to have some sort of natural language capabilities and they might be a little bit different. Some of them will try to position the whole product around it. Some of them will just have them as a checkbox, right? So we'll see, but I don't think it's going to be something that will change the BI market, you know, like something that will can take the BI market and make it more consolidated rather than, you know, like what we have right now. I think it's still will remain fragmented. [00:22:04]Alessio: Let's talk a bit more about application use cases. So people also use Q for kind of like analytics in their product, like dashboards and things like that. How do you see that changing and more, especially like when it comes to like agents, you know, so there's like a lot of people trying to build agents for reporting, building agents for sales. If you're building a sales agent, you need to know everything about the purchasing history of the customer. All of these things. Yeah. Any thoughts there? What should all the AI engineers listening think about when implementing data into agents? [00:22:38]Artem: Yeah, I think kind of, you know, like trying to solve for two problems. One is how to make sure that agents or LLM model, right, has enough context about, you know, like a tabular data and also, you know, like how do we deliver updates to the context, which is also important because data is changing, right? So every time we change something upstream, we need to surely update that context in our vector database or something. And how do you make sure that the queries are correct? You know, I think it's obviously a big pain and that's all, you know, like AI kind of, you know, like a space right now, how do we make sure that we don't, you know, provide our own cancers, but I think, you know, like be able to reduce the room for error as much as possible that what I would look for, you know, like to try to like minimize potential damage. And then our use case for Qube, it's been using a lot to power sort of customer facing analytics. So I don't think much is going to change is that I feel like again, more and more products will adopt natural language interfaces as sort of a part of that product as well. So we would be able to power this business to not only, you know, like a chart, visuals, but also some sort of, you know, like a summaries, probably in the future, you're going to open the page with some surface stats and you will have a smart summary kind of generated by AI. And that summary can be powered by Qube, right, like, because the rest is already being powered by Qube. [00:24:04]Alessio: You know, we had Linus from Notion on the pod and one of the ideas he had that I really like is kind of like thumbnails of text, kind of like how do you like compress knowledge and then start to expand it. A lot of that comes into dashboards, you know, where like you have a lot of data, you have like a lot of charts and sometimes you just want to know, hey, this is like the three lines summary of it. [00:24:25]Artem: Exactly. [00:24:26]Alessio: Makes sense that you want to power that. How are you thinking about, yeah, the evolution of like the modern data stack in quotes, whatever that means today. What's like the future of what people are going to do? What's the future of like what models and agents are going to do for them? Do you have any, any thoughts? [00:24:42]Artem: I feel like modern data stack sometimes is not very, I mean, it's obviously big crossover between AI, you know, like ecosystem, AI infrastructure, ecosystem, and then sort of a data. But I don't think it's a full overlap. So I feel like when we know, like I'm looking at a lot of like what's happening in a modern data stack where like we use warehouses, we use BI's, you know, different like transformation tools, catalogs, like data quality tools, ETLs, all of that. I don't see a lot of being compacted by AI specifically. I think, you know, that space is being compacted as much as any other space in terms of, yes, we'll have all this copilot capabilities, some of AI capabilities here and there, but I don't see anything sort of dramatically, you know, being sort of, you know, a change or shifted because of, you know, like AI wave. In terms of just in general data space, I think in the last two, three years, we saw an explosion, right? Like we got like a lot of tools, every vendor for every problem. I feel like right now we should go through the cycle of consolidation. If Fivetran and DBT merge, they can be Alteryx of a new generation or something like that. And you know, probably some ETL tool there. I feel it might happen. I mean, it's just natural waves, you know, like in cycles. [00:25:59]Alessio: I wonder if everybody is going to have their own copilot. The other thing I think about these models is like Swyx was at Airbyte and yeah, there's Fivetran. [00:26:08]Swyx: Fivetran versus AirByte, I don't think it'll mix very well. [00:26:10]Alessio: A lot of times these companies are doing the syntax work for you of like building the integration between your data store and like the app or another data store. I feel like now these models are pretty good at coming up with the integration themselves and like using the docs to then connect the two. So I'm really curious, like in the future, what that will look like. And same with data transformation. I mean, you think about DBT and some of these tools and right now you have to create rules to normalize and transform data. In the future, I could see you explaining the model, how you want the data to be, and then the model figuring out how to do the transformation. I think it all needs a semantic layer as far as like figuring out what to do with it. You know, what's the data for and where it goes. [00:26:53]Artem: Yeah, I think many of this, you know, like workflows will be augmented by, you know, like some sort of a copilot. You know, you can describe what transformation you want to see and it can generate a boilerplate right, of transformation for you, or even, you know, like kind of generate a boilerplate of specific ETL driver or ETL integration. I think we're still not at the point where this code can be fully automated. So we still need a human and a loop, right, like who can be, who can use this copilot. But in general, I think, yeah, data work and software engineering work can be augmented quite significantly with all that stuff. [00:27:31]Alessio: You know, the big thing with machine learning before was like, well, all of your data is bad. You know, the data is not good for anything. And I think like now, at least with these models, they have some knowledge of their own and they can also tell you if your data is bad, which I think is like something that before you didn't have. Any cool apps that you've seen being built on Qube, like any kind of like AI native things that people should think about, new experiences, anything like that? [00:27:54]Artem: Well, I see a lot of Slack bots. They all remind me of Statsbot, but I know like I played with a few of them. They're much, much better than Statsbot. It feels like it's on the surface, right? It's just that use case that you really want, you know, think about you, a data engineer in your company, like everyone is like, and you're asking, hey, can you pull that data for me? And you would be like, can I build a bot to replace myself? You know, like, so they can both ping that bot instead. So it's like, that's why a lot of people doing that. So I think it's a first use case that actually people are playing with. But I think inside that use case, people get creative. So I see bots that can actually have a dialogue with you. So, you know, like you would come to that bot and say, hey, show me metrics. And the bot would be like, what kind of metrics? What do you want to look at? You will be like active users. And then it would be like, how do you define active users? You want to see active users sort of cohort, you want to see active users kind of changing behavior over time, like a lot of like a follow up questions. So it tries to sort of, you know, like understand what exactly you want. And that's how many data analysts work, right? When people started to ask you something, you always try to understand what exactly do you mean? Because many people don't know how to ask correct questions about your data. It's a sort of an interesting specter. On one side of the specter, you know, nothing is like, hey, show me metrics. And the other side of specter, you know how to write SQL, and you can write exact query to your data warehouse, right? So many people like a little bit in the middle. And the data analysts, they usually have the knowledge about your data. And that's why they can ask follow up questions and to understand what exactly you want. And I saw people building bots who can do that. That part is amazing. I mean, like generating SQL, all that stuff, it's okay, it's good. But when the bot can actually act like they know that your data and they can ask follow up questions. I think that's great. [00:29:43]Swyx: Yeah. [00:29:44]Alessio: Are there any issues with the models and the way they understand numbers? One of the big complaints people have is like GPT, at least 3.5, cannot do math. Have you seen any limitations and improvement? And also when it comes to what model to use, do you see most people use like GPT-4? Because it's like the best at this kind of analysis. [00:30:03]Artem: I think I saw people use all kinds of models. To be honest, it's usually GPT. So inside GPT, it could be 3.5 or 4, right? But it's not like I see a lot of something else, to be honest, like, I mean, maybe some open source alternatives, but it feels like the market is being dominated by just chat GPT. In terms of the problems, I think chatting about it with a few people. So if math is required to do math, you know, like outside of, you know, like chat GPT itself, so it would be like some additional Python scripts or something. When we're talking about production level use cases, it's quite a lot of Python code around, you know, like your model to make it work. To be honest, it's like, it's not that magic that you just throw the model in and like it can give you all these answers. For like a toy use cases, the one we have on a, you know, like our demo page or something, it works fine. But, you know, like if you want to do like a lot of post-processing, do a mass on URL, you probably need to code it in Python anyway. That's what I see people doing. [00:30:59]Alessio: We heard the same from Harrison and LangChain that most people just use OpenAI. We did a OpenAI has no moat emergency podcast, and it was funny to like just see the reaction that people had to that and how hard it actually is to break down some of the monopoly. What else should people keep in mind, Artem? You're kind of like at the cutting edge of this. You know, if I'm looking to build a data-driven AI application, I'm trying to build data into my AI workflows. Any mistakes people should avoid? Any tips on the best stack to use? What tools to use? [00:31:32]Artem: I would just recommend going through to warehouse as soon as possible. I think a lot of people feel that MySQL can be a warehouse, which can be maybe on like a lower scale, but definitely not from a performance perspective. So just kind of starting with a good warehouse, a query engine, Lakehouse, that's probably like something I would recommend starting from a day zero. And there are good ways to do it, very cheap, with open source technologies too, especially in the Lakehouse architecture. I think, you know, I'm biased, obviously, but using a semantic layer, preferably Cube, and for, you know, like a context. And other than that, I just feel it's a very interesting space in terms of AI ecosystem. I see a lot of people using link chain right now, which is great, you know, like, and we build an integration. But I'm sure the space will continue to evolve and, you know, like we'll see a lot of interesting tools and maybe, you know, like some tools would be a better fit for a job. I'm not aware of any right now, but it's always interesting to see how it evolves. Also it's a little unclear, you know, like how all the infrastructure around actually developing, testing, documenting, all that stuff will kind of evolve too. But yeah, again, it's just like really interesting to see and observe, you know, what's happening in this space. [00:32:44]Swyx: So before we go to the lightning round, I wanted to ask you on your thoughts on embedded analytics and in a sense, the kind of chatbots that people are inserting on their websites and building with LLMs is very much sort of end user programming or end user interaction with their own data. I love seeing embedded analytics, and for those who don't know, embedded analytics is basically user facing dashboards where you can see your own data, right? Instead of the company seeing data across all their customers, it's an individual user seeing their own data as a slice of the overall data that is owned by the platform that they're using. So I love embedded analytics. Well, actually, overwhelmingly, the observation that I've had is that people who try to build in this market fail to monetize. And I was wondering your insights on why. [00:33:31]Artem: I think overall, the statement is true. It's really hard to monetize, you know, like in embedded analytics. That's why at Qube we're excited more about our internal kind of BI use case, or like a company's a building, you know, like a chatbots for their internal data consumption or like internal workflows. Embedded analytics is hard to monetize because it's historically been dominated by the BI vendors. And we still see a lot of organizations are using BI tools as vendors. And what I was talking about, BI vendors adding natural language interfaces, they will probably add that to the embedded analytics capabilities as well, right? So they would be able to embed that too. So I think that's part of it. Also, you know, if you look at the embedded analytics market, the bigger organizations are big GADs, they're really more custom, you know, like it becomes and at some point I see many organizations, they just stop using any vendor, and they just kind of build most of the stuff from scratch, which probably, you know, like the right way to do. So it's sort of, you know, like you got a market that is very kept at the top. And then you also in that middle and small segment, you got a lot of vendors trying to, you know, like to compete for the buyers. And because again, the BI is very fragmented, embedded analytics, therefore is fragmented also. So you're really going after the mid market slice, and then with a lot of other vendors competing for that. So that's why it's historically been hard to monetize, right? I don't think AI really going to change that just because it's using model, you just pay to open AI. And that's it, like everyone can do that, right? So it's not much of a competitive advantage. So it's going to be more like a commodity features that a lot of vendors would be able to leverage. [00:35:20]Alessio: This is great, Artem. As usual, we got our lightning round. So it's three questions. One is about acceleration, one on exploration, and then take away. The acceleration thing is what's something that already happened in AI or maybe, you know, in data that you thought would take much longer, but it's already happening today. [00:35:38]Artem: To be honest, all this foundational models, I thought that we had a lot of models that been in production for like, you know, maybe decade or so. And it was like a very niche use cases, very vertical use cases, it's just like in very customized models. And even when we're building Statsbot back then in 2016, right, even back then, we had some natural language models being deployed, like a Google Translate or something that was still was a sort of a model, right, but it was very customized with a specific use case. So I thought that would continue for like, many years, we will use AI, we'll have all these customized niche models. But there is like foundational model, they like very generic now, they can serve many, many different use cases. So I think that is a big change. And I didn't expect that, to be honest. [00:36:27]Swyx: The next question is about exploration. What is one thing that you think is the most interesting unsolved question in AI? [00:36:33]Artem: I think AI is a subset of software engineering in general. And it's sort of connected to the data as well. Because software engineering as a discipline, it has quite a history. We build a lot of processes, you know, like toolkits and methodologies, how we prod that, [00:36:50]Swyx: right. [00:36:51]Artem: But AI, I don't think it's completely different. But it has some unique traits, you know, like, it's quite not idempotent, right, and kind of from many dimensions and like other traits. So which kind of may require a different methodologies may require different approaches and a different toolkit. I don't think how much is going to deviate from a standard software engineering, I think many tools and practices that we develop our software engineering can be applied to AI. And some of the data best practices can be applied as well. But it's like we got a DevOps, right, like it's just a bunch of tools, like ecosystem. So now like AI is kind of feels like it's shaping into that with a lot of its own, you know, like methodologies, practices and toolkits. So I'm really excited about it. And I think it's a lot of unsolved still question again, how do we develop that? How do we test you know, like, what is the best practices? How what is a methodologist? So I think that would be an interesting to see. [00:37:44]Alessio: Awesome. Yeah. Our final message, you know, you have a big audience of engineers and technical folks, what's something you want everybody to remember to think about to explore? [00:37:55]Artem: I mean, it says being hooked to try to build a chatbot, you know, like for analytics, back then and kind of, you know, like looking at what people do right now, I think, yeah, just do that. I mean, it's working right now, with foundational models, it's actually now it's possible to build all those cool applications. I'm so excited to see, you know, like, how much changed in the last six years or so that we actually now can build a smart agents. So I think that sort of, you know, like a takeaways and yeah, we are, as humans in general, we like we really move technology forward. And it's fun to see, you know, like, it's just a first hand. [00:38:30]Alessio: Well, thank you so much for coming on Artem. [00:38:32]Swyx: This was great. [00:38:32] Get full access to Latent Space at www.latent.space/subscribe

Ruby on Rails Podcast
Episode 477: YARP has been merged!! (Brittany + Jemma + Kevin)

Ruby on Rails Podcast

Play Episode Listen Later Jul 5, 2023 33:08


Mere minutes before this episode was recorded, YARP was merged! Kevin Newton joins Brittany and Jemma this week to share the exciting news. The trio discuss the follow up steps for YARP, whether a marketing push for adoption will be needed and how Kevin and Jemma partnered on the initiative. Show Notes: Episode 385: Minimal Flame Wars (Prettier, Parsing and Regex) with Kevin Newton (https://www.therubyonrailspodcast.com/385) ruby/yarp: Yet Another Ruby Parser (https://github.com/ruby/yarp) Mirror ruby/yarp into ruby/ruby #7964 (https://github.com/ruby/ruby/pull/7964) RubyConf TH 2023 (https://rubyconfth.com/) Kevin Newton (@kddnewton) / Twitter (https://twitter.com/kddnewton?lang=en) Sponsored By: Honeybadger (https://www.honeybadger.io/) You won't know if Honeybadger will really save you time and trouble until you see how it works in your own toolchain. With two lines of code and five minutes, you can see for yourself. Honeybadger automatically hooks into popular web frameworks, job systems, authentication libraries, and front-end JavaScript. Get started today in as little as 5 minutes at Honeybadger.io (https://www.honeybadger.io/) with plans starting at free! Scout APM (http://scoutapm.com/rubyonrails) Experience the perfect blend of efficiency and accuracy with Scout APM. Our performance monitoring solution is tailor-made for Rails developers, providing fast and effective troubleshooting with an intuitive UI and advanced tracing logic. With real-time anomaly detection and instant alerts, you can swiftly resolve issues like N+1 queries and memory bloat, and prevent customer impact. Don't wait any longer to optimize your Rails app performance - sign up for our free 14-day trial today at scoutapm.com/rubyonrails (http://scoutapm.com/rubyonrails).

Paul's Security Weekly TV
JSON and a Regex, IoT Passwords, CAN Injection, Twitter CVE, Complexity, Tabletops - ASW #236

Paul's Security Weekly TV

Play Episode Listen Later Apr 11, 2023 37:33


Lessons from an old 2008 JSON.parse vuln, opening garage doors with a password, stealing cars with CAN bus injection, manipulating Twitter's recommendation algorithm, engineering through complexity, successful tabletop exercises, and the anniversary of Heartbleed.   Visit https://www.securityweekly.com/asw for all the latest episodes! Show Notes: https://securityweekly.com/asw236

Application Security Weekly (Video)
JSON and a Regex, IoT Passwords, CAN Injection, Twitter CVE, Complexity, Tabletops - ASW #236

Application Security Weekly (Video)

Play Episode Listen Later Apr 11, 2023 37:33


Lessons from an old 2008 JSON.parse vuln, opening garage doors with a password, stealing cars with CAN bus injection, manipulating Twitter's recommendation algorithm, engineering through complexity, successful tabletop exercises, and the anniversary of Heartbleed.   Visit https://www.securityweekly.com/asw for all the latest episodes! Show Notes: https://securityweekly.com/asw236

Christian Media Marketing
Episode 186 - How To Set Up Facebook Conversion Events Part 1

Christian Media Marketing

Play Episode Listen Later Jan 6, 2023


In this first of two part series, Jon will show how to use Google Tag Manager, REGEX, and the Facebook Pixel to be able to record specific events on your website. This is helpful for retargeting purposes. To watch this training, click here: https://youtu.be/k63iB1y3TEk

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast
What Google Engineers Don't Want You to Know About Rankings -- Dmitrii Kustov // Regex SEO

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast

Play Episode Listen Later Dec 22, 2022 26:59


Dmitrii Kustov, Managing Director at Regex SEO, looks into technical SEO. Google's search ranking algorithms have evolved significantly in recent years, with a shift towards relying on artificial intelligence (AI) to determine the best results for users. While the algorithms used to be predetermined by engineers, they now use a variety of signals and metrics to determine the most relevant and useful results. Today, Dmitrii discusses what Google engineers don't want you to know about rankings. Show NotesConnect With: Dmitrii Kustov: Website // LinkedInThe Voices of Search Podcast: Email // LinkedIn // TwitterBenjamin Shapiro: Website // LinkedIn // TwitterSee Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast
Optimizing for Humans vs Search Engines -- Dmitrii Kustov // Regex SEO

Voices of Search // A Search Engine Optimization (SEO) & Content Marketing Podcast

Play Episode Listen Later Dec 21, 2022 19:37


Dmitrii Kustov, Managing Director at Regex SEO, looks into technical SEO. At its core, search engine optimization is about optimizing a website to rank well in search engine results and provide a good user experience. While many SEOs try to separate the two concepts, Google and other search engines will continue to highlight the websites that take a holistic approach to website design. Today, Dmitrii discusses optimizing for humans versus optimizing for search engines. Show NotesConnect With: Dmitrii Kustov: Website // LinkedInThe Voices of Search Podcast: Email // LinkedIn // TwitterBenjamin Shapiro: Website // LinkedIn // TwitterSee Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

The PowerShell Podcast
RTFM with Steven Judd

The PowerShell Podcast

Play Episode Listen Later Nov 21, 2022 117:21


Episode Summary: In this episode, we have our first returning guest, Steven Judd! Steven gets things started off right by talking about the process of turning a command into a function and how PowerShell provides value each step of the way. Steven convinces Jordan that RegEx is powerful and shares some tips for using it more. We learn about living off the land, how solving a problem can help you understand the technology that you are creating a solution for, and the three most important PowerShell commands. All this, and more, in this wisdom-infused episode.    Guest Bio and links: Steven Judd is a 25+ year IT Pro and most recently a former Windows Systems Engineer at Meta Platforms Inc. with an emphasis on Enterprise Messaging and Digital Loss Prevention. - He has been using PowerShell since 2010. - He was an author and editor on The PowerShell Conference Book Volume 3, a Senior Editor on Modern IT Automation with PowerShell, has co-developed a custom training program for PowerShell, and is an occasional presenter at PowerShell user groups. - He loves to help people learn and recognize the value of automation. - He spends his free time learning more about PowerShell, digital security, and cloud technologies, along with creating and telling Dad jokes. - You can find him hanging out on the PowerShell Discord Server bridge channel, taking care of his family, running marathons, playing the cello, plus a handful of other hobbies he can't seem to quit.  https://blog.stevenjudd.com/   https://blog.stevenjudd.com/My-PowerShell-Journey/  https://github.com/stevenjudd  https://twitter.com/stevenjudd See the YouTube version: https://www.youtube.com/watch?v=PxRDv_4gON8

Smashing Security
Housing market scams, Twitter 2FA, and the fesshole

Smashing Security

Play Episode Listen Later Nov 17, 2022 71:20


Elon Musk is still causing chaos at Twitter (and it's beginning to impact users), are scammers selling your house without your permission, and Google gets stung with a record-breaking fine.All this and much much more is discussed in the latest edition of the "Smashing Security" podcast by computer security veterans Graham Cluley and Carole Theriault, joined this week by The Cyberwire's Dave Bittner.Plus don't miss our featured interview with Pentera's Shakel Ahmed talking about automating continuous cyber defence validation.Warning: This podcast may contain nuts, adult themes, and rude language.Episode links:Graham offers Dave Bittner some advice on “Welcome Datacomp”... in 1995! - Usenet.Elon Musk apologises to users for Twitter being slow - Twitter.Former Twitter employee doesn't think Elon Musk knows what he's talking about - Twitter.Eric Frohnhoefer says Elon Musk is wrong - Twitter.Twitter engineer calls out Elon Musk for technical BS in unusual career move - The Register.Elon Musk says that he is turning off microservices “bloatware” - Twitter.Twitter's SMS Two-Factor Authentication Is Melting Down - Wired.Elon only trusts Elon - Platformer.Elon's paranoid purge - Platformer.Google to pay nearly $400 million over deceptive location tracking practices - The Record.Follow Smashing Security on Mastodon.South Bay Man Pleads Guilty to Participating in a Multimillion-Dollar Real Estate Scam Involving Fake Open Houses at Not-for-Sale Homes - Justice.gov.A South Bay man accepted hundreds of offers from open houses. But the homes weren't for sale - LA Times. The typing of the Regex.Fesshole - Twitter.If Books Could Kill -...

The Bike Shed
354: The History of Computing

The Bike Shed

Play Episode Listen Later Sep 13, 2022 31:16


Why does the history of computing matter? Joël and Developer at thoughtbot Sara Jackson, ponder this and share some cool stories (and trivia!!) behind the tools we use in the industry. This episode is brought to you by Airbrake (https://airbrake.io/?utm_campaign=Q3_2022%3A%20Bike%20Shed%20Podcast%20Ad&utm_source=Bike%20Shed&utm_medium=website). Visit Frictionless error monitoring and performance insight for your app stack. Sara on Twitter (https://twitter.com/csarajackson) UNIX philosophy (https://en.wikipedia.org/wiki/Unix_philosophy) Hillel Wayne on why we ask linked list questions (https://www.hillelwayne.com/post/linked-lists/) Transcript: JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. And today, I'm joined by fellow thoughtboter, Team Lead, and Developer Sara Jackson. SARA: Hello, happy to be here. JOËL: Together, we're here to share a little bit of what we've learned along the way. So, Sara, what's new in your world? SARA: Well, Joël, you might know that recently our team had a small get-together in Toronto. JOËL: And our team, for those who are not aware, is fully remote distributed across multiple countries. So this was a chance to get together in person. SARA: Yes, correct. This was a chance for those on the Boost team to get together and work together as if we had a physical office. JOËL: Was this your first time meeting some members of the team? SARA: It was my second, for the most part. So I joined thoughtbot, but after thoughtbot had already gotten remote. Fortunately, I was able to meet many other thoughtboters in May at our summit. JOËL: Had you worked at a remote company before coming to thoughtbot? SARA: Yes, I actually started working remotely in 2019, but even then, that wasn't my first time working remotely. I actually had a full year of internship in college that was remote. JOËL: So you were a pro at this long before the pandemic made us all try it out. SARA: I don't know about that, but I've certainly dealt with the idiosyncrasies that come with remote work for longer. JOËL: What do you think are some of the challenges of remote work as opposed to working in person in an office? SARA: I think definitely growing and maintaining a culture. When you're in an office, it's easy to create ad hoc conversations and have events that are small that build on the culture. But when you're remote, it has to be a lot more intentional. JOËL: That definitely rings true for me. One of the things that I really appreciated about in-person office culture was the serendipity that you have those sort of random meetings at the water cooler, those conversations, waiting for coffee with people who are not necessarily on the same team or the same project as you are. SARA: I also really miss being able to have lunch in person with folks where I can casually gripe about an issue I might be having, and almost certainly, someone would have the answer. Now, if I'm having an issue, I have to intentionally seek help. [chuckles] JOËL: One of the funny things that often happened, at least the office where I worked at, was that lunches would often devolve into taxonomy conversations. SARA: I wish I had been there for that. [laughter] JOËL: Well, we do have a taxonomy channel on Slack to somewhat continue that legacy. SARA: Do you have a favorite taxonomy lunch discussion that you recall? JOËL: I definitely got to the point where I hated the classifying a sandwich. That one has been way overdone. SARA: Absolutely. JOËL: There was an interesting one about motorcycles, and mopeds, and bicycles, and e-bikes, and trying to see how do you distinguish one from the other. Is it an electric motor? Is it the power of the engine that you have? Is it the size? SARA: My brain is already turning on those thoughts. I feel like I could get lost down that rabbit hole very easily. [laughter] JOËL: Maybe that should be like a special anniversary episode for The Bike Shed, just one long taxonomy ramble. SARA: Where we talk about bikes. JOËL: Ooh, that's so perfect. I love it. One thing that I really appreciated during our time in Toronto was that we actually got to have lunch in person again. SARA: Yeah, that was so wonderful. Having folks coming together that had maybe never worked together directly on clients just getting to sit down and talk about our day. JOËL: Yeah, and talk about maybe it's work-related, maybe it's not. There's a lot of power to having some amount of deeper interpersonal connection with your co-workers beyond just the we work on a project together. SARA: Yeah, it's like camaraderie beyond the shared mission of the company. It's the shared interpersonal mission, like you say. Did you have any in-person pairing sessions in Toronto? JOËL: I did. It was actually kind of serendipitous. Someone was stuck with a weird failing test because somehow the order factories were getting created in was not behaving in the expected way, and we herd on it, dug into it, found some weird thing with composite primary keys, and solved the issue. SARA: That's wonderful. I love that. I wonder if that interaction would have happened or gotten solved as quickly if we hadn't been in person. JOËL: I don't know about you, but I feel like I sometimes struggle to ask for help or ask for a pair more when I'm online. SARA: Yeah, I agree. It's easier to feel like you're not as big of an impediment when you're in person. You tap someone on the shoulder, "Hey, can you take a look at this?" JOËL: Especially when they're on the same team as you, they're sitting at the next desk over. I don't know; it just felt easier. Even though it's literally one button press to get Tuple to make a call, somehow, I feel like I'm interrupting more. SARA: To combat that, I've been trying to pair more frequently and consistently regardless of if I'm struggling with a problem. JOËL: Has that worked pretty well? SARA: It's been wonderful. The only downside has been pairing fatigue. JOËL: Pairing fatigue is real. SARA: But other than that, problems have gotten solved quickly. We've all learned something for those that I've paired with. It goes faster. JOËL: So it was really great that we had this experience of doing our daily work but co-located in person; we have these experiences of working together. What would you say has been one of the highlights for you of that time? SARA: 100% karaoke. JOËL: [laughs] SARA: Only two folks did not attend. Many of the folks that did attend told me they weren't going to sing, but they were just going to watch. By the end of the night, everyone had sung. We were there for nearly three and a half hours. [laughs] JOËL: It was a good time all around. SARA: I saw a different side to Chad. JOËL: [laughs] SARA: And everyone, honestly. Were there any musical choices that surprised you? JOËL: Not particularly. Karaoke is always fun when you have a group of people that you trust to be a little bit foolish in front of to put yourself out there. I really appreciated the style that we went for, where we have a private room for just the people who were there as opposed to a stage in a bar somewhere. I think that makes it a little bit more accessible to pick up the mic and try to sing a song. SARA: I agree. That style of karaoke is a lot more popular in Asia, having your private room. Sometimes you can find it in major cities. But I also prefer it for that reason. JOËL: One of my highlights of this trip was this very sort of serendipitous moment that happened. Someone was asking a question about the difference between a Mac and Linux operating systems. And then just an impromptu gathering happened. And you pulled up a chair, and you're like, gather around, everyone. In the beginning, there was Multics. It was amazing. SARA: I felt like some kind of historian or librarian coming out from the deep. Let me tell you about this random operating system knowledge that I have. [laughs] JOËL: The ancient lore. SARA: The ancient lore in the year 1969. JOËL: [laughs] And then yeah, we had a conversation walking the history of operating systems, and why we have macOS and Linux, and why they're different, and why Windows is a totally different kind of family there. SARA: Yeah, macOS and Linux are sort of like cousins coming from the same tree. JOËL: Is that because they're both related through Unix? SARA: Yes. Linux and macOS are both built based off of different versions of Unix. Over the years, there's almost like a family tree of these different Nix operating systems as they're called. JOËL: I've sometimes seen asterisk N-I-X. This is what you're referring to as Nix. SARA: Yes, where the asterisk is like the RegEx catch-all. JOËL: So this might be Unix. It might be Linux. It might be... SARA: Minix. JOËL: All of those. SARA: Do you know the origin of the name Unix? JOËL: I do not. SARA: It's kind of a fun trivia piece. So, in the beginning, there was Multics spelled M-U-L-T-I-C-S, standing for the Multiplexed Information and Computing Service. Dennis Ritchie and Ken Thompson of Bell Labs famous for the C programming language... JOËL: You may have heard of it. SARA: You may have heard of it maybe on a different podcast. They were employees at Bell Labs when Multics was being created. They felt that Multics was very bulky and heavy. It was trying to do too many things at once. It did have a few good concepts. So they developed their own smaller Unix originally, Unics, the Uniplexed Information and Computing Service, Uniplexed versus Multiplexed. We do one thing really well. JOËL: And that's the Unix philosophy. SARA: It absolutely is. The Unix philosophy developed out of the creation of Unix and C. Do you know the four main points? JOËL: No, is it small sharp tools? It's the main one I hear. SARA: Yes, that is the kind of quippy version that has come out for sure. JOËL: But there is a formal four-point manifesto. SARA: I believe it's evolved over the years. But it's interesting looking at the Unix philosophy and seeing how relevant it is today in web development. The four points being make each program do one thing well. To this end, don't add features; make a new program. I feel like we have this a lot in encapsulation. JOËL: Hmm, maybe even the open-closed principle. SARA: Absolutely. JOËL: Similar idea. SARA: Another part of the philosophy is expecting output of your program to become input of another program that is yet unknown. The key being don't clutter your output; don't have extraneous text. This feels very similar to how we develop APIs. JOËL: With a focus on composability. SARA: Absolutely. Being able to chain commands together like you see in Ruby all the time. JOËL: I love being able to do this, for example, the enumerable API in Ruby and just being able to chain all these methods together to just very nicely do some pretty big transformations on an array or some other data structure. SARA: 100% agree there. That ability almost certainly came out of following the tenets of this philosophy, maybe not knowingly so but maybe knowingly so. [chuckles] JOËL: So is that three or four? SARA: So that was two. The third being what we know as agile. JOËL: Really? SARA: Yeah, right? The '70s brought us agile. Design and build software to be tried early, and don't hesitate to throw away clumsy parts and rebuild. JOËL: Hmmm. SARA: Even in those days, despite waterfall style still coming on the horizon. It was known for those writing software that it was important to iterate quickly. JOËL: Wow, I would never have known. SARA: It's neat having this history available to us. It's sort of like a lens at where we came from. Another piece of this history that might seem like a more modern concept but was a very big part of the movement in the '70s and the '80s was using tools rather than unskilled help or trying to struggle through something yourself when you're lightening a programming task. We see this all the time at thoughtbot. Folks do this many times there is an issue on a client code. We are able to generalize the solution, extract into a tool that can then be reused. JOËL: So that's the same kind of genesis as a lot of thoughtbot's open-source gems, so I'm thinking of FactoryBot, Clearance, Paperclip, the old-timey file upload gem, Suspenders, the Rails app generator, and the list goes on. SARA: I love that in this last point of the Unix philosophy, they specifically call out that you should create a new tool, even if it means detouring, even if it means throwing the tools out later. JOËL: What impact do you think that has had on the way that tooling in the Unix, or maybe I should say *Nix, ecosystem has developed? SARA: It was a major aspect of the Nix environment community because Unix was available, not free, but very inexpensively to educational institutions. And because of how lightweight it was and its focus on single-use programs, programs that were designed to do one thing, and also the way the shell was allowing you to use commands directly and having it be the same language as the shell scripting language, users, students, amateurs, and I say that in a loving way, were able to create their own tools very quickly. It was almost like a renaissance of Homebrew. JOËL: Not Homebrew as in the macOS package manager. SARA: [laughs] And also not Homebrew as in the alcoholic beverage. JOËL: [laughs] So, this kind of history is fun trivia to know. Is it really something valuable for us as a jobbing developer in 2022? SARA: I would say it's a difficult question. If you are someone that doesn't dive into the why of something, especially when something goes wrong, maybe it wouldn't be important or useful. But what sparked the conversation in Toronto was trying to determine why we as thoughtbot tend to prefer using Macs to develop on versus Linux or Windows. There is a reason, and the reason is in the history. Knowing that can clarify decisions and can give meaning where it feels like an arbitrary decision. JOËL: Right. We're not just picking Macs because they're shiny. SARA: They are certainly shiny. And the first thing I did was to put a matte case on it. JOËL: [laughs] So no shiny in your office. SARA: If there were too many shiny things in my office, boy, I would never get work done. The cats would be all over me. MID-ROLL AD: Debugging errors can be a developer's worst nightmare...but it doesn't have to be. Airbrake is an award-winning error monitoring, performance, and deployment tracking tool created by developers for developers, that can actually help cut your debugging time in half. So why do developers love Airbrake? It has all of the information that web developers need to monitor their application - including error management, performance insights, and deploy tracking! Airbrake's debugging tool catches all of your project errors, intelligently groups them, and points you to the issue in the code so you can quickly fix the bug before customers are impacted. In addition to stellar error monitoring, Airbrake's lightweight APM helps developers to track the performance and availability of their application through metrics like HTTP requests, response times, error occurrences, and user satisfaction. Finally, Airbrake Deploy Tracking helps developers track trends, fix bad deploys, and improve code quality. Since 2008, Airbrake has been a staple in the Ruby community and has grown to cover all major programming languages. Airbrake seamlessly integrates with your favorite apps to include modern features like single sign-on and SDK-based installation. From testing to production, Airbrake notifiers have your back. Your time is valuable, so why waste it combing through logs, waiting for user reports, or retrofitting other tools to monitor your application? You literally have nothing to lose. Head on over to airbrake.io/try/bikeshed to create your FREE developer account today! JOËL: So we've talked a little bit about Unix or *Nix, this evolution of systems. I've also heard the term POSIX thrown around when talking about things that seem to encompass both macOS and Linux. How does that fit into this history? SARA: POSIX is sort of an umbrella of standards around operating systems that was based on Unix and the things that were standard in Unix. It stands for the Portable Operating System Interface. This allowed for compatibility between OSs, very similar to USB being the standard for peripherals. JOËL: So, if I was implementing my own Unix-like operating system in the '80s, I would try to conform to the POSIX standard. SARA: Absolutely. Now, not every Nix operating system is POSIX-compliant, but most are or at least 90% of the way there. JOËL: Are any of the big ones that people tend to think about not compliant? SARA: A major player in the operating system space that is not generally considered POSIX-compliant is Microsoft Windows. JOËL: [laughs] It doesn't even try to be Unix-like, right? It's just its own thing, SARA: It is completely its own thing. I don't think it even has a standard necessarily that it conforms to. JOËL: It is its own standard, its own branch of the family tree. SARA: And that's what happens when your operating system is very proprietary. This has caused folks pain, I'm sure, in the past that may have tried to develop software on their computers using languages that are more readily compatible with POSIX operating systems. JOËL: So would you say that a language like Ruby is more compatible with one of the POSIX-compatible operating systems? SARA: 100% yes. In fact, to even use Ruby as a development tool in Windows, prior to Windows 10, you needed an additional tool. You needed something like Cygwin or MinGW, which were POSIX-compliant programs that it was almost like a shell in your Windows computer that would allow you to run those commands. JOËL: Really? For some reason, I thought that they had some executables that you could run just on Windows by itself. SARA: Now they do, fortunately, to the benefit of Ruby developers everywhere. As of Windows 10, we now have WSL, the Windows Subsystem for Linux that's built-in. You don't have to worry about installing or configuring some third-party software. JOËL: I guess that kind of almost cheats by just having a POSIX system embedded in your non-POSIX system. SARA: It does feel like a cheat, but I think it was born out of demand. The Windows NT kernel, for example, is mostly POSIX-compliant. JOËL: Really? SARA: As a result of it being used primarily for servers. JOËL: So you mentioned the Ruby tends and the Rails ecosystem tends to run better and much more frequently on the various Nix systems. Did it have to be that way? Or is it just kind of an accident of history that we happen to end up with Ruby and Rails in this ecosystem, but just as easily, it could have evolved in the Windows world? SARA: I think it is an amalgam of things. For example, Unix and Nix operating systems being developed earlier, being widely spread due to being license-free oftentimes, and being widely used in the education space. Also, because it is so lightweight, it is the operating system of choice. For most servers in the world, they're running some form of Unix, Linux, or macOS. JOËL: I don't think I've ever seen a server that runs macOS; exclusively seen it on dev machines. SARA: If you go to an animation company, they have server farms of macOS machines because they're really good at rendering. This might not be the case anymore, but it was at one point. JOËL: That's a whole other world that I've not interacted with a whole lot. SARA: [chuckles] JOËL: It's a fun intersection between software, and design, and storytelling. That is an important part for the software field. SARA: Yeah, it's definitely an aspect that deserves its own deep dive of sorts. If you have a server that's running a Windows-based operating system like NT and you have a website or a program that's designed to be served under a Unix-based server, it can easily be hosted on the Windows server; it's not an issue. The reverse is not true. JOËL: Oh. SARA: And this is why programming on a Nix system is the better choice. JOËL: It's more broadly compatible. SARA: Absolutely. Significantly more compatible with more things. JOËL: So today, when I develop, a lot of the tooling that I use is open source. The open-source movement has created a lot of the languages that we know and love, including Ruby, including Rails. Do you think there's some connection between a lot of that tooling being open source and maybe some of the Unix family of operating systems and movements that came out of that branch of the operating system family tree? SARA: I think that there is a lot of tie-in with today's open-source culture and the computing history that we've been talking about, for example, people finding something that they dislike about the tools that are available and then rolling their own. That's what Ken Thompson and Dennis Ritchie did. Unix was not an official Bell development. It was a side project for them. JOËL: I love that. SARA: You see this happen a lot in the software world where a program gets shared widely, and due to this, it gains traction and gains buy-in from the community. If your software is easily accessible to students, folks that are learning, and breaking things, and rebuilding, and trying, and inventing, it's going to persist. And we saw that with Unix. JOËL: I feel like this background on where a lot of these operating systems came but then also the ecosystems, the values that evolved with them has given me a deeper appreciation of the tooling, the systems that we work with today. Are there any other advantages, do you think, to trying to learn a little bit of computing history? SARA: I think the main benefit that I mentioned before of if you're a person that wants to know why, then there is a great benefit in knowing some of these details. That being said, you don't need to deep dive or read multiple books or write papers on it. You can get enough information from reading or skimming some Wikipedia pages. But it's interesting to know where we came from and how it still affects us today. Ruby was written in C, for example. Unix was written in C as well, originally Assembly Language, but it got rewritten in C. And understanding the underlying tooling that goes into that that when things go wrong, you know where to look. JOËL: I guess that that is the next question is where do you look if you're kind of interested? Is Wikipedia good enough? You just sort of look up operating system, and it tells you where to go? Or do you have other sources you like to search for or start pulling at those threads to understand history? SARA: That's a great question. And Wikipedia is a wonderful starting point for sure. It has a lot of the abbreviated history and links to better references. I don't have them off the top of my head. So I will find them for you for the show notes. But there are some old esoteric websites with some of this history more thoroughly documented by the people that lived it. JOËL: I feel like those websites always end up being in HTML 2; your very basic text, horizontal rules, no CSS. SARA: Mm-hmm. And those are the sites that have many wonderful kernels of knowledge. JOËL: Uh-huh! Great pun. SARA: [chuckles] Thank you. JOËL: Do you read any content by Hillel Wayne? SARA: I have not. JOËL: So Hillel produces a lot of deep dives into computing history, oftentimes trying to answer very particular questions such as when and why did we start using reversing a linked list as the canonical interview question? And there are often urban legends around like, oh, it's because of this. And then Hillel will do some research and go through actual archives of messages on message boards or...what is that protocol? SARA: BBS. JOËL: Yes. And then find the real answer, like, do actual historical methodology, and I love that. SARA: I had not heard of this before. I don't know how. And that is all I'm going to be doing this weekend is reading these. That kind of history speaks to my heart. I have a random fun fact along those lines that I wanted to bring to the show, which was that the echo command that we know and love in the terminal was first introduced by the Multics operating system. JOËL: Wow. So that's like the most common piece of Multics that as an everyday user of a modern operating system that we would still touch a little bit of that history every day when we work. SARA: Yeah, it's one of those things that we don't think about too much. Where did it come from? How long has it been around? I'm sure the implementation today is very different. But it's like etymology, and like taxonomy, pulling those threads. JOËL: Two fantastic topics. On that wonderful little nugget of knowledge, let's wrap up. Sara, where can people find you online? SARA: You can find me on Twitter at @csarajackson. JOËL: And we will include a link to that in the show notes. SARA: Thank you so much for having me on the show and letting me nerd out about operating system history. JOËL: It's been a pleasure. The show notes for this episode can be found at bikeshed.fm. This show is produced and edited by Mandy Moore. If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review on iTunes. It really helps other folks find the show. If you have any feedback, you can reach us at @_bikeshed or reach me @joelquen on Twitter or at hosts@bikeshed.fm via email. Thank you so much for listening to The Bike Shed, and we'll see you next week. Byeeeeee!!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

More Than Just Code podcast - iOS and Swift development, news and advice

This week we discuss all the products introduced at Apple's Far Out event on Sept 7, 2022. We fact check Compose Custom Layouts in SwiftUI, the checkmark in the Developer app, Friday Night Baseball in Canada, and Universal Control. We follow up on Apple's Self Repair now includes M1, and Xcode Cloud availability for trial. We discuss the past and future of the 360iDev conference. We discuss the Apple Watch Series 8, Apple Watch SE, Apple Watch Ultra, Air Pods Pro 2nd gen, the iPhone 14, and the iPhone 14 Pro. We also discus What's New in Swift 5.7. Picks: WWDC22 SwiftUI Lounge archived, Cmd Opt R, Cmd Shift J, Swift Version, SwiftUI Essential Training, and Design the Next iPhone.

The PowerShell Podcast
Pushing PowerShell's Perceived Purpose with James Brundage

The PowerShell Podcast

Play Episode Listen Later Aug 15, 2022 98:24


In this episode, we explore different ways that the upper-bound limits of PowerShell have been pushed. We get to hear from one of the most advanced PowerShellers that we've met yet. He shares insight into what it was like working on the PowerShell team and how PowerShell has grown massively over time. James has been advocating for PowerShell for a long time, and he shares some details about leading the first internal PowerShell group at Microsoft and some things that came from it. We also learn about some of the awesome projects James has worked on, from RegeX, UIs, formatting, Git, and markdown. James shares details about his latest project, an extensible transpiler, PipeScript.     Guest Bio and links: James Brundage has been heavily involved in PowerShell for over 15 years. He is a former member of the PowerShell team, working there during v2 and v3. He now works as a consultant with Start-Automating, applying his PowerShell expertise to organizations to help solve large-scale problems all around the world. He also has a lot of great projects on GitHub and regularly shares his knowledge at user groups and conferences.    See the Youtube version here: https://www.youtube.com/watch?v=Ns29mpdcwoU   https://github.com/StartAutomating  https://twitter.com/jamesbru  https://github.com/StartAutomating/PowerArcade  Start-Automating  https://github.com/StartAutomating/Irregular  GitHub - StartAutomating/PipeScript: An Extensible Transpiler for PowerShell (and anything else)  StartAutomating/ugit: Updated Git: A powerful PowerShell wrapper for git that lets you extend git, automate multiple repos, and output git as objects. (github.com) 

BuiltOnAir
[S11-E11] Full Podcast for 07-19-2022 - New Features, Forms, and Regex!

BuiltOnAir

Play Episode Listen Later Jul 26, 2022 58:56


#airtable #on2air #builtonair 7/19/2022 - BuiltOnAir Live Podcast Full Show - S11-E11 ___________________________ The BuiltOnAir podcast is a live weekly show highlighting everything happening in the Airtable universe. Check us out at BuiltOnAir.com/join. Join our community, join our Slack channel, and see what's happening. ------------------------ SPONSORED BY On2Air - Airtable Apps and Integrations to run your business operations in Airtable Start a free 14-day trial of On2Air Apps - https://on2air.com?via=podcast ------------------------ ___________________________ IN THIS EPISODE

Rebuild
338: Regex with Soft G (N)

Rebuild

Play Episode Listen Later Jul 4, 2022 176:52


Naoki Hiroshima さんをゲストに迎えて、Twitter, Passkey, CarPlay, Swift, Roe v. Wade などについて話しました。 Show Notes Twitterに不具合? Wi-Fiからモバイル回線に切り替えると解決する状態 Chrome doesn't delete session cookies Passkeys Overview - Apple Developer なぞなぞ認証とはどのようなものですか? Electrify America Okta Meet Swift Regex - WWDC22 Swift Regex Zero Width Joiner (ZWJ) Emoji Buf | Connect: A better gRPC Blake Lemoine Says Google's LaMDA AI Faces 'Bigotry' アレフ数 プロジェクト・ヘイル・メアリー For All Mankind Watch Stranger Things 禅とオートバイ修理技術本 kindleの本が全部消えた話 The Roe v. Wade abortion decision, explained Google: Protecting people's privacy on health topics Lawrence v. Texas Arizona moves "to kill public education" with new universal voucher law WeCrashed

BuiltOnAir
[S11-E09] Full Podcast for 06-28-2022 - Async vs Await, IF vs REGEX, and Advanced Linked Record Filters

BuiltOnAir

Play Episode Listen Later Jul 1, 2022 59:03


#airtable #on2air #builtonair 6/28/2022 - BuiltOnAir Live Podcast Full Show - S11-E09 ___________________________ The BuiltOnAir podcast is a live weekly show highlighting everything happening in the Airtable universe. Check us out at BuiltOnAir.com/join. Join our community, join our Slack channel, and see what's happening. ------------------------ SPONSORED BY On2Air - Airtable Apps and Integrations to run your business operations in Airtable Start a free 14-day trial of On2Air Apps - https://on2air.com?via=podcast ------------------------ ___________________________ IN THIS EPISODE

Code Completion
89: A Surprising Truth That Might Shock You All

Code Completion

Play Episode Listen Later Jun 28, 2022 89:40


Welcome to Code Completion, Episode 89! We are a group of iOS developers and educators hoping to share what we love most about development, Apple technology, and completing your code! Follow us @CodeCompletion (https://twitter.com/CodeCompletion) on Twitter to hear about our upcoming livestreams, videos, and other content. Today, we discuss: - [Swift 5.7 Changelog](https://github.com/apple/swift/blob/main/CHANGELOG.md - SE-0328 - Structural opaque result types (https://github.com/apple/swift-evolution/blob/main/proposals/0328-structural-opaque-result-types.md) - SE-0341 - Opaque Parameter Declarations (https://github.com/apple/swift-evolution/blob/main/proposals/0341-opaque-parameters.md) - SE-0336 - Distributed Actor Isolation (https://github.com/apple/swift-evolution/blob/main/proposals/0336-distributed-actor-isolation.md) - SE-0343 - Concurrency in Top-level Code (https://github.com/apple/swift-evolution/blob/main/proposals/0343-top-level-concurrency.md) - SE-0340 - Unavailable From Async Attribute (https://github.com/apple/swift-evolution/blob/main/proposals/0340-swift-noasync.md) - SE-0345 - if let shorthand for shadowing an existing optional variable (https://github.com/apple/swift-evolution/blob/main/proposals/0345-if-let-shorthand.md) - SE-0326 - Enable multi-statement closure parameter/result type inference (https://github.com/apple/swift-evolution/blob/main/proposals/0326-extending-multi-statement-closure-inference.md) - SE-0347 - Type inference from default expressions (https://github.com/apple/swift-evolution/blob/main/proposals/0347-type-inference-from-default-exprs.md) - SE-0352 - Implicitly Opened Existentials (https://github.com/apple/swift-evolution/blob/main/proposals/0352-implicit-open-existentials.md) - SE-0333 - Expand usability of withMemoryRebound (https://github.com/apple/swift-evolution/blob/main/proposals/0333-with-memory-rebound.md) - SE-0334 - Pointer API Usability Improvements (https://github.com/apple/swift-evolution/blob/main/proposals/0334-pointer-usability-improvements.md) - SE-0349 - Unaligned Loads and Stores from Raw Memory (https://github.com/apple/swift-evolution/blob/main/proposals/0349-unaligned-loads-and-stores.md) - SE-0309 - Unlock existentials for all protocols (https://github.com/apple/swift-evolution/blob/main/proposals/0309-unlock-existential-types-for-all-protocols.md) - SE-0358 - Primary Associated Types in the Standard Library (https://github.com/apple/swift-evolution/blob/main/proposals/0358-primary-associated-types-in-stdlib.md) - SE-0346 - Lightweight same-type requirements for primary associated types (https://github.com/apple/swift-evolution/blob/main/proposals/0346-light-weight-same-type-syntax.md) - SE-0353 - Constrained Existential Types (https://github.com/apple/swift-evolution/blob/main/proposals/0353-constrained-existential-types.md) - SE-0329 - Clock, Instant, and Duration (https://github.com/apple/swift-evolution/blob/main/proposals/0329-clock-instant-duration.md) - SE-0350 - Regex Type and Overview (https://github.com/apple/swift-evolution/blob/main/proposals/0350-regex-type-overview.md) - SE-0338 - Clarify the Execution of Non-Actor-Isolated Async Functions (https://github.com/apple/swift-evolution/blob/main/proposals/0338-clarify-execution-non-actor-async.md) - [Active Review/Coming real soon](https://www.hackingwithswift.com/articles/249/whats-new-in-swift-5-7 - SE-0351 - Regex builder DSL (https://github.com/apple/swift-evolution/blob/main/proposals/0351-regex-builder.md) - SE-0354 - Regex Literals (https://github.com/apple/swift-evolution/blob/main/proposals/0354-regex-literals.md) - SE-0357 - Regex-powered string processing algorithms (https://github.com/apple/swift-evolution/blob/main/proposals/0357-regex-string-processing-algorithms.md) - SE-0344 - Distributed Actor Runtime (https://github.com/apple/swift-evolution/blob/main/proposals/0344-distributed-actor-runtime.md) - SE-0348 - buildPartialBlock for result builders (https://github.com/apple/swift-evolution/blob/main/proposals/0348-buildpartialblock.md) - SE-0356 - Swift Snippets (https://github.com/apple/swift-evolution/blob/main/proposals/0356-swift-snippets.md) - SE-0360 - Opaque result types with limited availability (https://github.com/apple/swift-evolution/blob/main/proposals/0360-opaque-result-types-with-availability.md) - Commented Out: Dimitri's Airport Adventure Your hosts for this week: * Spencer Curtis (https://twitter.com/SpencerCCurtis) * Dimitri Bouniol (https://twitter.com/DimitriBouniol) Be sure to also sign up to our monthly newsletter (https://codecompletion.io/), where we will recap the topics we discussed, reveal the answers to #CompleteTheCode, and share even more things we learned in between episodes. You are what makes this show possible, so please be sure to share this with your friends and family who are also interested in any part of the app development process. Sponsor This week's episode of Code Completion is brought to you by Huuungry. Search for Huuungry on the iOS App Store today to give it a try: https://apps.apple.com/app/apple-store/id1448552588?pt=14724&ct=CodeCompletion1&mt=8

Syntax - Tasty Web Development Treats
Potluck - Headless WordPress, Databases, Regex

Syntax - Tasty Web Development Treats

Play Episode Listen Later Jun 15, 2022 60:20 Very Popular


In this episode of Syntax, Wes and Scott answer your questions about headless WordPress, Regex, their health and fitness, CSS custom properties in media queries, and more. Sentry - Sponsor If you want to know what's happening with your code, track errors and monitor performance with Sentry. Sentry's Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up. Sanity - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax. .TECH Domains - Sponsor .TECH is taking the tech industry by storm. A domain that shows the world what you are all about! If you're looking for a domain name for your startup, portfolio, or your own project like we did with uses.tech, check out .tech Domains. Syntax listeners can snap their .TECH Domains at 80% off on five-year registration by visiting go.tech/syntaxistech and using the coupon code “syntax5”. Show Notes 00:10 Welcome 03:30 If I host a NextJS app on Digital Ocean, should I use a Digital Ocean database? 09:14 Will either of you ever do a regex course? Regex101 13:58 Is it possible to use the WordPress users database as the same database that the app uses? WPGraphQL 18:46 Sponsor: Sentry 19:43 How is health and fitness going for the both of you? 26:08 Does Wes know who Gendo Ikari is? 27:36 Dart popularity follow up 29:40 Is it vital that I should learn another programming language? 33:42 Sponsor: Sanity 34:54 If I'm trying to get my first job in web development, do I need to be familiar with design software? Figma 40:01 Thank you for the confidence to apply for a web dev job Syntax 463 with Tom Preston-Werner 41:55 What advice will you give in terms of setting up core important things around network, state management, folder structure? 45:37 .TECH Domain Names 46:22 I just had an interview with a “major tech company” and your article on using string templates was really helpful. Template Strings 48:43 If 80% of the time ew need to use preventDefault on form submission, why don't the simply change the HTML spec? 50:01 What's the rationale for not supporting CSS custom properties in media queries when using max/min width? CSS Env MDN CSS Env 55:37 ××× SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: * You Must Remember This Podcast Wes: Tools Shameless Plugs Scott: LevelUp Tutorials Wes: Wes Bos Tutorials Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets

More Than Just Code podcast - iOS and Swift development, news and advice
Episode 349: WWDC22 - Regex for the Rest of Us

More Than Just Code podcast - iOS and Swift development, news and advice

Play Episode Listen Later Jun 12, 2022 155:19


This week we cover the WWDC 2022 Keynote and Platform State of the Union. We're joined by Friend of the Show Joe Cieplinski. We fact check Sir Adam Beck and Steve Westgarth. We discuss Awesome lists and a calculator on the Lock Screen. We get into the new HIG, WWDC Keynote, iOS 16, Apple Watch and watchOS 9, Mac hardware and M2, macOS Ventura, iPadOS 16, Platforms State of the Union, Xcode Cloud, Swift, SwiftUI, System Experience, MapKit, WeatherKit, Live Text API and Data Scanner API. Picks: WWDC Community links updated for 2022, return of the UK iOS conferences, iOS Dev UK and Codemobile UK, Hello Swift Charts Special Guest: Joe Cieplinski.

The Real Python Podcast
Build Streamlit Data Science Dashboards & Verbose Regex f-Strings

The Real Python Podcast

Play Episode Listen Later Jun 10, 2022 50:13


Would you like a fast way to share your data science project results as an interactive dashboard instead of a Jupyter notebook? Streamlit is a library for creating simple web apps and dashboards using just Python. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder's Weekly articles and projects.

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for June 7th, 2022 - Episode 151

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later Jun 7, 2022 73:38


2022-06-07 Weekly News - Episode 151Watch the video version on YouTube at https://www.youtube.com/watch?v=CKnPCL8870Q&list=PLNE-ZbNnndB98oRT8THamdCUiyDQL1uEj&index=151 Hosts: Gavin Pickin - Senior Developer at Ortus Solutions Dan Card - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways  to say thanks back to Ortus Solutions: BUY SOME ITB TICKETS - COME TO THE CONFERENCE Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our Repos Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips)  Patreon SupportGoal 1 - We have 37 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. Goal 2 - We are 53% of the way to fully fund the hosting of ForgeBox.io PATREON SPONSORED JOB POSTING!Hagerty - MotorSportReg2 Job Opportunities for Senior Software Engineer, Motorsport - more in the job section.Ready to get in the driver's seat? Join us!https://bit.ly/3985J3U News and AnnouncementsLive Stream Series - Koding with the Kiwi + FriendsStarting this Friday, June 10th, at 1pm PDTGoal is for Weekly Streams - when possibleGavin will be hosting a live stream, for Patreon members only. This stream try to include special guests from the community, to get their viewpoints / advice on how Gavin should do something. We'll be pair programming / talking with Adam Cameron about TDD, Sam Knowlton on Quick/QB, and Wil De Bruin on API documentation and Validation, and others from the Ortus Team and Community too. This week's guest is a surprise, you'll have to tune in to find out.Patreon's check your email, there will be an email sent soon with the registration link for the zoom call.Blog Post with more details coming tomorrow.Not a patreon? Sign up today or wait for us to release the recording on CFCasts after the session.INTO THE BOX - UpdatesThis week we're going to be announcing some attendee perks, like CFCasts, as well as some more sponsors. Last week was full of announcements, and special code and the last workshop selected.Announcing - Into the Box 2022 Podcast SeriesThis podcast is a special podcast for attendees or undecided attendees, to get a view of what the conference has to offer, we'll be interviewing Ortus members organizing the conference, as well as workshop trainers, session speakers and sponsors as well. You'll get all of this information, in short sharp episodes, so you can decide if you want to Into the Box and WHEN you decide you are going, which workshop and sessions will you attend.https://www.intothebox.org/blog/announcing-into-the-box-2022-podcast-series Free Month of CFCasts for all ITB Attendees in Addition to ITB 2022 VideosEvery year, when you are an attendee of Into the Box, you get all of the recordings from the Into the Box Conference you attended made available for future viewing, or reviewing. We have always done this so you don't miss out on all of the amazing content in both tracks at the conference. In addition to that, this year, after Into the Box, we'll also be sending all of the attendees a coupon for 1 month free access to all of the content on CFCasts.http://www.intothebox.org/blog/free-month-of-cfcasts-for-all-itb-attendees-in-addition-to-itb-2022-videos Couchbase - Platinum Sponsor for Into the Box 2022We are excited to announce Couchbase as a Platinum Sponsor at Into the Box 2022. Ortus Solutions has built the Couchbase Extension for Lucee and has been using Couchbase for many years now, to provide lightning fast caching, vital in a clustered environment. Couchbase has continued to grow and expand features and benefits, and we are so happy they are sponsoring Into the Box 2022.http://www.intothebox.org/blog/couchbase-platinum-sponsor-for-into-the-box-2022 Top Secret - Big Announcement coming next week - fingers crossedICYMI - ColdBox BE ready for next release - testers neededHas major refactoring and improvements on wirebox - we have a need for speed!https://ortussolutions.atlassian.net/browse/COLDBOX-1113?jql=project%20%3D%20%22COLDBOX%22%20AND%20fixVersion%20%3D%20%22Current%22https://ortussolutions.atlassian.net/browse/COLDBOX-1107?jql=project%20%3D%20%22WIREBOX%22%20AND%20fixVersion%20%3D%20%22Current%22ICYMI - CBFS is going to be cut any day now - testers neededWe're looking for others to contribute other providers to make it even more powerful.https://www.forgebox.io/view/cbfsNew Releases and UpdatesICYMI - Hyper v3.5.0 is out with:- New `getStatusText()` and `getStatus()` methods- `getMemento()` methods for both `HyperRequest` and `HyperResponse`- And a better `throwOnError` experience showing much more information than `cfhttp` gives you out of the box.https://www.forgebox.io/view/hyper ICYMI - Minor Update to the Lucee Mongo DB Extensionfixes an issue where cache entries with a “last access” timeout would not properly be removed from the cache in a timely manner.fixes an issue where the hit count in the table was incremented twice on each “hit”minor code cleanup (typos in function names)https://dev.lucee.org/t/mongodb-extension-minor-update-3-12-8-132/10254 WEBINARS / MEETUPS AND WORKSHOPSTHIS WEEK - Online CF Meetup - "When Should I Use 3rd Party Libraries vs Roll My Own?", with Gavin PickinThere is always a trade-off between using a 3rd party library and rolling your version in software development. I often hear many of these points in discussions, but I wonder how many people know and consider them, so I wanted to share my pros and cons.This presentation will help convince you that libraries are not EVIL like so many haters believe. Choosing the right libraries will make you more productive and efficient, not lazy. We'll look at how to identify solid use-cases for using a 3rd party library in your application. It gives you a checklist of questions to help you identify the red flags of unsafe, unreliable, poorly supported, or ill-suited libraries.We'll look at some CF Landscape exampleshttps://www.meetup.com/coldfusionmeetup/events/286262739/ Ortus Webinar - June - Getting started with the Legacy Migration with Dan CardJune 24th 2022: Time 11:00 AM Central Time ( US and Canada )We will look at the process of converting legacy .cfm based sites into a more modern coding design which has less overall code, is easier to maintain and manage, mistakes and errors can more readily and speedily identified and fixed, and is easier to read.Registration Link: https://us02web.zoom.us/meeting/register/tZAvceqsqj4vGd2jojyCgn7cUnytPpBeWvV5 View all Webinars: https://www.ortussolutions.com/events/webinars June 2022 Seattle ColdFusion User Group MeetingWe are restarting our Seattle ColdFusion User Group meetings and are looking forward to meeting online with all of you.This month's meeting includes a presentation by Leon O'Daniel on sending SMS messages using ColdFusion and the Twilio API.https://www.meetup.com/Seattle-ColdFusion-User-Group/events/285974950/ Adobe WorkshopsJoin the Adobe ColdFusion Workshop to learn how you and your agency can leverage ColdFusion to create amazing web content. This one-day training will cover all facets of Adobe ColdFusion that developers need to build applications that can run across multiple cloud providers or on-premiseWEDNESDAY, JUNE 15, 20229:00 AM EDTAdobe ColdFusion WorkshopBrian Sappeyhttps://1-day-coldfusion-workshop.meetus.adobeevents.com/ WEDNESDAY, JUNE 22, 20229:00 AM CETAdobe ColdFusion WorkshopDamien Bruyndonckx (Brew-en-dohnx) https://adobe-cf-workshop.meetus.adobeevents.com/ FREE :)Full list - https://meetus.adobeevents.com/coldfusion/ Adobe and Carahsoft workshopsICYMI - Wednesday June 01, 2022Adobe ColdFusion Advanced Workshop CPE credit availableHosted By: Adobe & Carahsofthttps://www.carahsoft.com/learn/event/37899-Adobe-ColdFusion-Advanced-Workshop Tuesday, June 7, 2022Adobe ColdFusion WorkshopCPE credit availableHosted By: Adobe & Carahsofthttps://www.carahsoft.com/learn/event/37401-adobe-coldfusion-workshopCFCasts Content Updateshttps://www.cfcasts.comJust Released LogBox 101 https://cfcasts.com/series/logbox-101Installation and Getting Started - https://cfcasts.com/series/logbox-101/videos/installation-and-getting-started Publish your First ForgeBox Package - https://cfcasts.com/series/publish-your-first-forgebox-package ForgeBox Admin - Dashboard - https://cfcasts.com/series/publish-your-first-forgebox-package/videos/forgebox-admin---dashboard  2022 ForgeBox Module of the Week Series - 3 new Videoshttps://cfcasts.com/series/2022-forgebox-modules-of-the-week 2022 VS Code Hint tip and Trick of the Week Series - 3 new Videoshttps://cfcasts.com/series/2022-vs-code-hint-tip-and-trick-of-the-week  Coming Soon Last couple of videos for Gavin Pickin - Publish Your First ForgeBox Package LogBox 101 from Eric Peterson Box-ifying a 3rd Party Library from Gavin More ForgeBox and VS Code Podcast snippet videos Conferences and TrainingTHIS WEEK - US VueJS ConfFORT LAUDERDALE, FL • JUNE 8-10, 2022Beach. Code. Vue.Workshop day: June 8Main Conference: June 9-10https://us.vuejs.org/Speakers and Schedule Announced https://us.vuejs.org/schedule/ THIS WEEK - Apple WWDCJune 6 to 10https://developer.apple.com/wwdc22/Quasar ConfPlease let us know about you and what you'd like to speak about in all things Quasar or Vue!!!Conference Date: Saturday, July 9th, 2022 - 3 p.m. GMTDeadline for Proposals: June 9th, 2022Call for Proposals - https://docs.google.com/forms/d/e/1FAIpQLSecQfTFUM1BINAvpPl-Khbk7UYpLk2srIR0pLgMcVjpJwWMCA/viewform THAT ConferenceHowdy. We're a full-stack, tech-obsessed community of fun, code-loving humans who share and learn together.We geek-out in Texas and Wisconsin once a year but we host digital events all the time.WISCONSIN DELLS, WI / JULY 25TH - 28TH, 2022A four-day summer camp for developers passionate about learning all things mobile, web, cloud, and technology.https://that.us/events/wi/2022/ Our very own Daniel Garcia is speaking there https://that.us/activities/sb6dRP8ZNIBIKngxswIt Adobe Developer Week 2022July 18-22, 2022Online - Virtual - FreeThe Adobe ColdFusion Developer Week is back - bigger and better than ever! This year, our experts are gearing up to host a series of webinars on all things ColdFusion. This is your chance to learn with them, get your questions answered, and build cloud-native applications with ease.Note: Speakers listed are 2021 speakers currently - check back for updates - I heard speakers were being contacted, and info coming very soon!!! Wink wink nudge nudgehttps://adobe-coldfusion-devweek-2022.attendease.com/registration/form VueJS Forge After many requests - New Dates - July 13th-14thDue to many of you taking advantage of early summer vacations, we have decided to postpone the event to a date that will make sure as many of you as possible won't miss out on the opportunity to attend Vue.js Forge!Organized by Vue School_The largest hands-on Vue.js EventTeam up with 1000s of fellow Vue.js devs from around the globe to build a real-world application in just 2 days in this FREE hackathon-style event.Make connections. Build together. Learn together.Sign up as an Individual or signup as a companyCompany Deal - $2000 for a team of 5, includes VueSchool annual membership and guaranteed seat at the workshops at VueJS Forge as well… and you can pick your teamSneak Peek into the Project: If you've ever wanted to build your own SaaS app, then “the project” is definitely right up your alley! Work with Vue.js, VueUse, Vue Router, and Pinia on the front-end along with a dynamic back-end to create the main application. Also create a marketing site that's easily maintained by a non-technical marketing team, then deploy everything live to the world.https://vuejsforge.com/Into The Box 2022September 6, 7 and 8, 2022One day workshops before the two day conference!Super Early bird pricing ended May 31st, 2022 - Get the early bird price nowConference Website:https://intothebox.orgITB Blog has new updates almost every day!CF Summit - OfficialMirageOct 3rd & 4th - CFSummit ConferenceOct 5th - Adobe Certified Professional: Adobe ColdFusion Certification Classes & Testshttps://cfsummit.adobeevents.com/ Registrations are now open.For just $99!Grab your early-bird tickets before June 30.Call for Speakers is now OpenFrom Slack re Adobe Certified ProfessionalThe Adobe Certified Professional: Adobe ColdFusion cert is a totally different, MUCH more difficult and comprehensive certification than the CF Specialist previously offered. Mark Takata, Nolan and Dave F + the CF engineering team, Elishia and Kishore all spent a week together building the new one and it is HARD. I highly recommend it as a test of your skills, I guarantee everyone will learn something new.Yes, but there's also over 100 hours of video to go over before the 1 day lecture + cert. So you watch videos, sit in class, then take the exam there. It is no joke, definitely challenging, but super satisfying to pass.Plus you get access to those videos for a year, which is nice for going back and reviewing things down the line.Into the Box Latam 2022Dec 7thMore information is coming very soon.CFCampNo CFCAMP 2022, we're trying again for summer 2023TLDR is that it's just too hard and there's too much uncertainty right now.More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets, and Videos of the Week 6/7/22 - Ben Nadel - Disabling Async Attribute On CFMail For At-Least-Once Delivery In Lucee CFMLWhen I'm sending emails out in a ColdFusion application, not all emails are created equal. Much of the time, if an email is lost here-and-there, it's not the end of the world. For example, a "Forgot My Password" email can always be sent a second time. In critical ColdFusion workflows, however, when losing an email is unacceptable, I track the processing of pending emails in the database; and, I make sure to set the async (Lucee CFML) / spoolEnable (Adobe ColdFusion) attribute on the CFMail tag to false.https://www.bennadel.com/blog/4278-disabling-async-attribute-on-cfmail-for-at-least-once-delivery-in-lucee-cfml.htm 6/7/22 - Peter Amiri - CFWheels - Two New Repositories PublishedWe have published two new repositories named cfwheels/cfwheels-www and cfwheels/cfwheels-api which handle the CFWheels.org landing page site and the api.cfwheels.org API documentation site respectively.https://cfwheels.org/blog/two-new-repositories-published/ 6/6/22 - Peter Amiri - CFWheels - CFWheels DotEnvSettings Plugin publishedA new plugin was published to provide support for .env settings files in a production environment. This plugin is based on Eric Peterson's CommandBox module and allows the use of .env or similarly named files to store your application secrets so they can be kept out of source control.https://cfwheels.org/blog/cfwheels-dotenvsettings-plugin-published/ 6/6/22 - Wil De Bruin - ImageNew bug in LuceeSeveral months ago Eric Peterson published the totp module, a cfml implementation of Time-based One-time Password. I  decided to give the totp module a try. I immediately discovered a bug in the module: the bar codes where not generated correctly. I contacted the author on Slack, and we soon discovered, this was only a problem on Lucee, and apparently it was caused by the ImageNew() function. As I am developing API's most of the time, I never used this function before, and I guess it is not used by many other people.https://shiftinsert.nl/imagenew-bug-in-lucee/ 6/5/22 - Ben Nadel - Adding New Regular Expression Parsing To My JRegEx Project For ColdFusionAs part of the recent Regular Expression Day celebrations, I was working on some fun and exciting ways to parse strings and lists using RegEx patterns in ColdFusion. As a quick follow-up to those joyous outbursts, I've gone and added those new methods to my JRegEx ColdFusion component. In fact, I've added a new JRegExList.cfc component to this project for list-specific parsing - I didn't want to mix the two genres together.https://www.bennadel.com/blog/4277-adding-new-regular-expression-parsing-to-my-jregex-project-for-coldfusion.htm 6/3/22 - Mark Takata - Adobe - CLI Installation of ColdFusion for lower memory useOne of the key feature updates of CF2021 was the addition of modularity to the server. No longer were you limited to just installing the “whole kit and caboodle”, now you could pick and choose your connectors and packages, allowing you a leaner installation. You could, of course, use the GUI installer to get everything in place, then remove the things you didn't need. But the other way to get things in place is to use the Command Line Interface(CLI) to install ColdFusion, and then use the new Package Manager Command Line Interface (PMCLI) to install the packages you need, scan your code to see what packages you need, download packages locally, and much more!https://coldfusion.adobe.com/2022/06/cli-installation-of-coldfusion-for-lower-memory-use/ 6/3/22 - Ortus Solutions - Ortus Content Digest for week of June 3rdWhat has Ortus been publishing this week? We have the Podcast, some CFCasts and YouTube Videos. We have a lot more planned for next week as wellhttps://www.ortussolutions.com/blog/ortus-content-digest-for-week-of-june-3rd?utm_source=contentstudio.io&utm_medium=podcast 6/2/22 - Ortus Solutions - June 2022 Webinar - Getting started with the Legacy Migration with Dan CardWe are happy to announce the Ortus Webinar for June 2022 - Getting started with the Legacy Migration with Dan Cardhttps://www.ortussolutions.com/blog/june-2022-webinar-getting-started-with-the-legacy-migration-with-dan-card?utm_source=contentstudio.io&utm_medium=podcast    6/2/22 - Ben Nadel - Parsing Lists Using A RegEx Delimiter In Lucee CFML 5.3.8.201In honor of yesterday's Regular Expression Day 2022 celebration, I wanted to play around with parsing lists in ColdFusion using a RegEx (Regular Expression) delimiter. Lists are the unsung heroes of the CFML language; and, are usually delimited by a single character (or set of single characters). But, the beauty of a list is that it's just a String; and, you can make a list out of anything using any delimiter. And, sometimes, I'd like that delimiter to be something more flexible, more dynamic. To start exploring this concept, I'm going to create jreListFirst() and jreListRest() functions.https://www.bennadel.com/blog/4275-parsing-lists-using-a-regex-delimiter-in-lucee-cfml-5-3-8-201.htm 6/1/22 - Ben Nadel - The 15th Annual Regular Expression Day - June 1st 2022Happy Regular Expression Day! This is your annual reminder to learn you some Regular Expressions for great good! Pattern matching is a skill that comes with a massive return on investment (ROI). It is no exaggeration that I use ColdFusion and JavaScript Regular Expression (RegEx) functions every single day. Literally! Once you understand how patterns work, you see them everywhere! They are a game changer!https://www.bennadel.com/blog/4274-the-15th-annual-regular-expression-day-june-1st-2022.htm 6/1/22 - Gavin Pickin - Ortus - How to Make Windows Folders Case SensitiveIn the last blog post in this series, we discussed Case Sensitivity on Windows, what is it, why does it matter, and how it could mess up your developer day in ways you never thought of. In this blog post, we're going to show you how to enable case sensitivity in windows, for a given folder, all folders underneath it, and explain how that case sensitivity is inherited, and when it isn't.https://www.ortussolutions.com/blog/how-to-make-windows-folders-case-sensitive?utm_source=contentstudio.io&utm_medium=podcast 6/1/22 - Into the Box - Couchbase - Platinum Sponsor for Into the Box 2022We are excited to announce Couchbase as a Platinum Sponsor at Into the Box 2022.Ortus Solutions has built the Couchbase Extension for Lucee and has been using Couchbase for many years now, to provide lightning fast caching, vital in a clustered environment. Couchbase has continued to grow and expand features and benefits, and we are so happy they are sponsoring Into the Box 2022.https://www.intothebox.org/blog/couchbase-platinum-sponsor-for-into-the-box-2022/?utm_medium=referral&utm_source=podcast Tweet - Charlie Arehart - Good to see - Adobe - Sometimes it's the little things Good to see: Adobe today updated their downloads page with the latest Java versions 11.0.15.1 (vs 11.0.15 added last month) and 8u333 (over 8u331 last month), and also fixed sort order and how filenames are shown. Sometimes it's the little things. #coldfusion #luceehttps://twitter.com/carehart/status/1532021965212499979https://twitter.com/carehart Blog - Adam Tuttle - The Flywheel of TestingOn my continuing quest to get better at testing, I have spent quite a lot of time in the last couple of weeks reading about testing, watching tutorial videos, and practicing testing in my work. It has been a long, slow, difficult, slog. I'm not sure what made me think of it, but I was reminded of a flywheel.https://adamtuttle.codes/blog/2021/the-flywheel-of-testing/ CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 94 ColdFusion positions from 53 companies across 47 locations in 5 Countries.2 new jobs listedFull-Time - ColdFusion Dev at Kovilpatti, Tamil Nadu - India Jun 03https://www.getcfmljobs.com/jobs/index.cfm/india/ColdFusion-Dev-at-Kovilpatti-Tamil-Nadu/11481 Full-Time - Senior Coldfusion Developer WORK |LATAM| at Colon, PA - United States Jun 01https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-Coldfusion-Developer-WORK-LATAM-at-Colon-PA/11480 PATREON SPONSORED JOB POSTING!Hagerty - MotorSportRegSenior Software Engineer, MotorsportWe are seeking a Senior Software Engineer to work primarily with Node/Vue.js, ColdFusion, and AWS to improve our platform and build greenfield experiences.We are a 25-person team supporting 1,600 organizations with our SaaS CRM, commerce and event management platform. With 8,000 events managed in our marketplace annually by our customers, our goal is to be the number one software platform for automotive and motorsport events.Ready to get in the driver's seat? Join us!https://bit.ly/3985J3U Other Job Links Ortus Solutionshttps://www.ortussolutions.com/about-us/careers  Clear Capital - Carol from Working Code Podhttps://jobs.jobvite.com/careers/clearcapital/search?j=o7OCjfwA&j=oWVlhfwd&j=oj7Vhfwm&j=oKzjifwE&j=oh43hfwp&j=ol9Jjfwg&j=oEhyjfww&j=oJgCjfwE&j=obZxgfwH&j=o19JjfwW&__jvst=employee&__jvsd=sporQiwR&__jvsc=Url&bid=nTn6s0wj  There is a jobs channel in the cfml slack team, and in the box team slack now too ForgeBox Module of the WeekCFWheels DotEnvSettings PluginThis module reads secrets contained in a .env file (or other file you specify) and loads the values into the CFWheels settings. Based on Eric Peterson's CommandBox Module.https://www.forgebox.io/view/cfwheels-dotenvsettings VS Code Hint Tips and Tricks of the WeekSQL Server Client(mssql)The Database Client makes your life easy. It supports databases MySQL/MariaDB, Microsoft SQL Server, PostgreSQL, SQLite, MongoDB, Redis, and ElasticSearch.https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-myssql-client2 Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutionsDon't forget, we have Annual Memberships, pay for the year and save 10% - great for businesses. Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website https://community.ortussolutions.com/ PatreonsNEW PATREON - JORDAN CLARK John Wilson - Synaptrix Brian Ghidinelli - Hagerty MotorsportReg   Eric Hoffman Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Dan Card Jonathan Perret Jeffry McGee - Sunstar Media Dean Maunder Wil De Bruin Joseph Lamoree Don Bellamy Jan Jannek Laksma Tirtohadi Carl Von Stetten Jeremy Adams Didier Lesnicki Matthew Clemente Daniel Garcia Scott Steinbeck - Agri Tracking Systems Ben Nadel  Brett DeLine Kai Koenig Charlie Arehart Jonas Eriksson Jason Daiger Shawn Oden Matthew Darby Ross Phillips Edgardo Cabezas Patrick Flynn Stephany Monge John Whish Kevin Wright Peter Amiri You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors ★ Support this podcast on Patreon ★

RadioDotNet
Улучшенные Regex'ы, релиз MAUI, разработка ядерного API

RadioDotNet

Play Episode Listen Later May 31, 2022 87:57


Подкаст RadioDotNet выпуск №52 от 31 мая 2022 года«Монополия» предлагает тебе создавать вместе платформы цифровой логистики на пике технологий: https://monopoly.ru/career/Приглашаем всех на конференцию DotNext 2022 Piter: https://bit.ly/3H3YPZU Скидка на Personal билет: DotNetRu2022JRGpcСайт подкаста: radio.dotnet.ruТемы[00:02:32] — Microsoft Build 2022news.microsoft.com/build-2022-book-of-newsarstechnica.com/gadgets/microsoft-will-boost-windows-o...[00:07:50] — Regular Expression Improvements in .NET 7devblogs.microsoft.com/dotnet/regular-expression-improvements...[00:20:44] — Introducing .NET MAUI – One Codebase, Many Platformsdevblogs.microsoft.com/dotnet/introducing-dotnet-maui-one-cod...youtu.be/DuNLR_NJv8U[00:35:00] — Visual Studio 2022 for Mac is now availabledevblogs.microsoft.com/visualstudio/visual-studio-2022-for-ma...[00:37:00] — Unity and .NET, what's next?blog.unity.com/technology/unity-and-net-whats-next[00:48:05] — Inspect managed stack traces (dotnet-stack)docs.microsoft.com/dotnet/core/diagnostics/dotnet-stack[00:58:10] — dotnet-releaser — fully automates the release cyclegithub.com/xoofx/dotnet-releaser[01:06:50] — How are .NET APIs Designed?stevejgordon.co.uk/how-are-dotnet-apis-designedФоновая музыкаМаксим Аршинов «Pensive yeti.0.1»

Modern Legacies
15 - Breaking Away From Restrictive Service Plans with Regex SEO's Dmitrii Kustov

Modern Legacies

Play Episode Listen Later May 25, 2022 30:55


Your host, Bob Depasquale, talks with Dmitrii Kustov of Regex SEO. Regex SEO's approach to marketing is all custom. They use in-depth marketing and industry research to take your measurements. They'll discuss your background and expectations before making recommendations. Once the research is done, they'll put together a personalized execution strategy so you can see exactly how to push you to the front page.To learn more about Dmitrii's work, visit https://www.regexseo.com/If you'd like to be a guest on Modern Legacies, click HERE

Modernize or Die ® Podcast - CFML News Edition
Modernize or Die® - CFML News Podcast for May 24th, 2022 - Episode 149

Modernize or Die ® Podcast - CFML News Edition

Play Episode Listen Later May 24, 2022 64:11


2022-05-24 Weekly News - Episode 149Watch the video version on YouTube at https://youtu.be/41GeENj1zho Hosts:  Gavin Pickin - Senior Developer at Ortus Solutions Brad Wood - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox, and all your favorite box-en out there. A few ways  to say thanks back to Ortus Solutions: BUY SOME ITB TICKETS - COME TO THE CONFERENCE Like and subscribe to our videos on YouTube.  Help ORTUS reach for the Stars - Star and Fork our Repos Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github  Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week Buy Ortus's Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips)  Patreon SupportGoal 1 - We have 37 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. Goal 2 - We are 48% of the way to fully fund the hosting of ForgeBox.io PATREON SPONSORED JOB POSTING!Hagerty - MotorSportReg2 Job Opportunities for Senior Software Engineer, Motorsport - more in the job section.Watch the video on YoutubeReady to get in the driver's seat? Join us!https://bit.ly/3985J3U News and AnnouncementsCFSummit Website has Announced Dates for 2022It's finally happening! For the first time in 2 years, our 10th edition of the Adobe ColdFusion Summit will be in-person! Oct 3-4th will be when you meet coders from across the globe, learn from industry professionals, and dive into our latest release, as you explore coding like never before. On October 5th, we're hosting a certification program too. Join in and earn your very own Adobe badge and certificate.https://cfsummit.adobeevents.com/ INTO THE BOX - UpdatesAnnouncing Speakers and Sessions for Into the Box 2022 - Round 2We are excited to announce the second set of speakers and sessions. We have a great mix of Ortus Speakers and Community speakers in this conference, and we have more community speakers coming soon, with a couple more special announcements.Here is the next 10 speakers and their sessions.https://www.intothebox.org/blog/announcing-speakers-for-into-the-box-2022-round-2/?utm_medium=referral&utm_source=podcast  Into the Box 2022 - First Workshops Announced Async Programming & Scheduling Containerizing & Scaling Your Applications Legacy Code Conversion To The Modern World! TestBox: Getting started with BDD-TDD Oh My! https://www.ortussolutions.com/blog/into-the-box-2022-first-workshops-announced/Help us decide on the other workshops - Twitter Poll concluded! CommandBox CLI Scripting/Productivity Up and Running with Quick VueJs SPA and Mobile App with Rest APIs Foundeo,Inc. to Join Into the Box 2022 as a Bronze Sponsorhttp://www.intothebox.org/blog/foundeoinc-to-join-into-the-box-2022-as-a-bronze-sponsor CFML Slack Channel without using SlackSean Corfield tweeted about this new Slack link, and we wanted to share it.https://cfml.linen.dev/ New Releases and UpdatesCommandBox v5.5.2 Released!We are pleased to release CommandBox 5.5.2.  This is patch release following our recent 5.5.1 release.  It contains mostly fixes for regressions in the 5.5. release.  If you're upgrading from CommandBox 5.4, please refer to the 5.5.1 release notes first.Good number of bug fixes, improvements and tasks.https://www.ortussolutions.com/blog/commandbox-552-released/?utm_medium=referral&utm_source=podcast Lucee 5.3.9.141 ReleasedFollowing up on our 5.3.9.133 stable release, the Lucee team is proud to announce our 5.3.9.141 stable releasehttps://dev.lucee.org/t/lucee-stable-release-5-3-9-141/10219/2 Adobe CF Builder release - updateFrom Mark on Slack I know I sound like a broken record, but it is really close. I've had 2 long demos of it this week, with one more left. It looks really, really good. I'm using the latest build for all my demos, and its like... right there. There's like, one dumb bug that's probably already been fixed. Look for at least one deep dive engineering talk about VS Code during Developer Week (and I'm pushing for 2 talks because, frankly, an hour isn't enough time to cover everything this tool does). I'm trying so hard not to oversell it here, but I honestly think this is going to become the number 1 CFML IDE tool everyone uses.https://app.slack.com/client/T06T9JEE9/C06TABBT8/thread/C06TABBT8-1653026069.319079 ICYMI - Adobe CF Engine Updates are in CommandBox nowAdobe CF engines 2018.0.14+330003 and 2021.0.04+330004 are now available on ForgeBox for your usage.  When started on CommandBox 5.5, ACF 2021 is finally free of Log4j 1.x.  ACF 2018 seems to still be using Log4j 1.x however.ICYMI - CFWheels 2.3.0 Stable ReleasedThis is the official v2.3.0 release. It is dropping a little over a week from Release Candidate 1. We simply wanted to make sure the new CI/CD workflow was functioning before calling the release final. We feel confident that we're good to mark this release as final. There are no new enhancements or bug fixes in this release from 2.3.0.rc.1.Blog: https://cfwheels.org/blog/cfwheels-2-3-0-released/ WEBINARS / MEETUPS AND WORKSHOPSOrtus Webinar - May - Clearing the Fuzzies on Fuzzy Search with Michael BornMay 27th 2022: Time 11:00 AM Central Time ( US and Canada )Take a walk through the world of search in this webinar which will show why your database search is not smart enough, explain the basics of how fuzzy search works, and show how to use CBElasticsearch to bring the power of fuzzy searching to your CF application.https://us02web.zoom.us/meeting/register/tZIqd-6ppz0qGtGPJxmywPST06e74ExsmshB View all Webinars: https://www.ortussolutions.com/events/webinars June 2022 Seattle ColdFusion User Group MeetingWe are restarting our Seattle ColdFusion User Group meetings and are looking forward to meeting online with all of you.This month's meeting includes a presentation by Leon O'Daniel on sending SMS messages using ColdFusion and the Twilio API.https://www.meetup.com/Seattle-ColdFusion-User-Group/events/285974950/ Adobe WorkshopsJoin the Adobe ColdFusion Workshop to learn how you and your agency can leverage ColdFusion to create amazing web content. This one-day training will cover all facets of Adobe ColdFusion that developers need to build applications that can run across multiple cloud providers or on-premiseWEDNESDAY, MAY 26, 202210AM PTWebinar - Exploring the CF Administrator: pt1Mark TakataIn part one of exploring the capabilities of the ColdFusion Administrator, Mark will explore the GUI of this powerful, unique ColdFusion tool, explaining how to use many of the capabilities exposed and available for tuning.https://exploring-coldfusion-administrator-1.meetus.adobeevents.com/ WEDNESDAY, JUNE 15, 20229:00 AM EDTAdobe ColdFusion WorkshopBrian Sappeyhttps://1-day-coldfusion-workshop.meetus.adobeevents.com/ WEDNESDAY, JUNE 22, 20229:00 AM CETAdobe ColdFusion WorkshopDamien Bruyndonckx https://adobe-cf-workshop.meetus.adobeevents.com/ FREE :)Full list - https://meetus.adobeevents.com/coldfusion/ CFCasts Content Updateshttps://www.cfcasts.comJust Released Gavin Pickin - Publish Your First ForgeBox Package How to exclude files when using ForgeBox to zip and publish your packagehttps://cfcasts.com/series/publish-your-first-forgebox-package/videos/how-to-exclude-files-when-using-forgebox-to-zip-and-publish-your-package How to use another build process for zipping up your package for publishing https://cfcasts.com/series/publish-your-first-forgebox-package/videos/how-to-use-another-build-process-for-zipping-up-your-package-for-publishing  2022 ForgeBox Module of the Week Series - 2 new Videos https://cfcasts.com/series/2022-forgebox-modules-of-the-week 2022 VS Code Hint tip and Trick of the Week Series - 2 new Videos https://cfcasts.com/series/2022-vs-code-hint-tip-and-trick-of-the-week  Coming Soon Last couple of videos for Gavin Pickin - Publish Your First ForgeBox Package LogBox 101 from Eric Peterson Box-ifying a 3rd Party Library from Gavin More ForgeBox and VS Code Podcast snippet videos Conferences and TrainingMS BuildMay 24-26, 2022Come together at Microsoft Build May 24–26 2022, to explore the latest innovations in code and application development—and to gain insights from peers and experts from around the world.Regional Spotlights, One on One bookings available and more.https://mybuild.microsoft.com/en-US/home Ioniconf  (Free Online Ionic conference)May 25, 2022Join us for a full day of talks from experts and leaders in the web community, showing how the web is pushing the boundaries of mobile app development. Get insights on the latest web libraries, frameworks, and tools that are empowering web developers to build stunning mobile and cross-platform apps using the power of the web.https://ionic.io/ioniconfUS VueJS ConfFORT LAUDERDALE, FL • JUNE 8-10, 2022Beach. Code. Vue.Workshop day: June 8Main Conference: June 9-10https://us.vuejs.org/Speakers and Schedule Announced https://us.vuejs.org/schedule/ Quasar ConfPlease let us know about you and what you'd like to speak about in all things Quasar or Vue!!!Conference Date: Saturday, July 9th, 2022 - 3 p.m. GMTDeadline for Proposals: June 9th, 2022Call for Proposals - https://docs.google.com/forms/d/e/1FAIpQLSecQfTFUM1BINAvpPl-Khbk7UYpLk2srIR0pLgMcVjpJwWMCA/viewform THAT ConferenceHowdy. We're a full-stack, tech-obsessed community of fun, code-loving humans who share and learn together.We geek-out in Texas and Wisconsin once a year but we host digital events all the time.WISCONSIN DELLS, WI / JULY 25TH - 28TH, 2022A four-day summer camp for developers passionate about learning all things mobile, web, cloud, and technology.https://that.us/events/wi/2022/ Our very own Daniel Garcia is speaking there https://that.us/activities/sb6dRP8ZNIBIKngxswIt Adobe Developer Week 2022July 18-22, 2022Online - Virtual - FreeThe Adobe ColdFusion Developer Week is back - bigger and better than ever! This year, our experts are gearing up to host a series of webinars on all things ColdFusion. This is your chance to learn with them, get your questions answered, and build cloud-native applications with ease.Note: Speakers listed are 2021 speakers currently - check back for updates - I heard speakers were being contacted, and info coming very soon!!! Wink wink nudge nudgehttps://adobe-coldfusion-devweek-2022.attendease.com/registration/form CF Summit - OfficialMirageOct 3rd & 4th - CFSummit ConferenceOct 5th - Adobe Certified Professional: Adobe ColdFusion Certification Classes & Testshttps://cfsummit.adobeevents.com/ From Mark Takata on Slack re Adobe Certified ProfessionalThe Adobe Certified Professional: Adobe ColdFusion cert is a totally different, MUCH more difficult and comprehensive certification than the CF Specialist previously offered. Myself, Nolan and Dave F + the CF engineering team, Elishia and Kishore all spent a week together building the new one and it is HARD. I highly recommend it as a test of your skills, I guarantee everyone will learn something new.... Yes, but there's also over 100 hours of video to go over before the 1 day lecture + cert. So you watch videos, sit in class, then take the exam there. It is no joke, definitely challenging, but super satisfying to pass.Plus you get access to those videos for a year, which is nice for going back and reviewing things down the line.- So this is not the same certification as the specialist, the professional seems like a big step up.VueJS Forge June 29-30thOrganized by Vue School_The largest hands-on Vue.js EventTeam up with 1000s of fellow Vue.js devs from around the globe to build a real-world application in just 2 days in this FREE hackathon-style event.Make connections. Build together. Learn together.Sign up as an Individual or signup as a companyCompany Deal - $2000 for a team of 5, includes VueSchool annual membership and guaranteed seat at the workshops at VueJS Forge as well… and you can pick your teamhttps://vuejsforge.com/Into The Box 2022September 6, 7 and 8, 2022One day workshops before the two day conference!Early bird pricing available until May 31st, 2022Conference Website:https://intothebox.orgITB Blog has new updates almost every day!Into the Box Latam 2022Dec 7thMore information coming very soon.CFCampNo CFCAMP 2022, we're trying again for summer 2023TLDR is that it's just too hard and there's too much uncertainty right now.More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/Blogs, Tweets, and Videos of the Week 5/23/22 Blog - James Moberg - Parsing Width/Height from SVG File using ColdFusionSomeone on the Lucee website asked how to get width/height of SVG image file in Lucee. I tend use a lot of SVG images when generating PDFs using WKHTMLTOPDF with ColdFusion 2016-2021 and Lucee. I thought I'd try writing a cross-compatible UDF to parse this information. I've added support for desc, title and id metadata. The dimensions will be pulled from svg.viewBox (if exists) rather than width and height tags as I noticed that these dimensions seemed to be used more often with some generators. (NOTE: While the "S" in SVG means that images "scaleable", the dimensions are still extremely beneficial when embedding so you can explicitly code the dimensions using the correct aspect ratio.)https://dev.to/gamesover/parsing-widthheight-from-svg-file-using-coldfusion-ljo 5/21/22 - Tweet - James Moberg - isValid doesnt support IPv4 but 20 year old UDF doesI'm validating an IPv4 value & just realized that #ColdFusion isValid() doesn't support it. (I know type="regex" can be passed, but I'm just surprised that it's 2022 and it's not already built-in.)NOTE: This #cfml UDF from ~20 years ago supports IPv4.https://cflib.org/udf/CheckPattern https://twitter.com/gamesover/status/1527782375580647430 https://twitter.com/gamesover 5/20/22 - Podcast - CFAlive - Are your Database Relationships in a Rut? with Dave Ferguson Dave Ferguson talks about "Are your Database Relationships in a Rut?" in this episode of the CF Alive Podcast, with host Michaela Light.https://www.youtube.com/watch?v=TgklYsTkuk0 5/18/22 - Blog - Gavin Pickin - Why should I use 3rd party libraries vs Roll my own?There is always a trade-off between using a 3rd party library and rolling your version in software development. I often hear many of these points in discussions, but I wonder how many people know and consider them, so I wanted to share my pros and cons.TLDRThis article will help convince you that libraries are not EVIL like so many haters believe. Choosing the right libraries make you more productive and efficient, not lazy. This article identifies solid use-cases for using a 3rd party library in your application. It gives you a checklist of questions to help you identify the red flags of unsafe, unreliable, poorly supported, or ill-suited libraries.https://www.ortussolutions.com/blog/software-craftsmanship-why-should-i-use-3rd-party-libraries-vs-roll-my-own/?utm_medium=referral&utm_source=podcast 5/14/22 - Podcast - Wicked Good Development - Developer and Open Source Contributor Stories at Dev Nexus - Part 3 - Luis Majano his episode is three fold as we finish up the roundtable discussion on Devnexus 2022 and we get a chance to interview two more developers who contribute to the open source community. We connect with Luis Majano, CEO of Ortus Solutions and long-time computer engineer, about putting in the open source work. From using a 70/30 ratio to dedicate time building open source in between client work to getting the next generation involved in maintaining minor code fixes first-hand, hear how the level of work put in makes the difference in professional open source. https://open.spotify.com/episode/5WivNKfSCekMycmig4WiVk?si=tidx5sOwQT67g4L0-99OtQ Ben Nadel Corner5/18/22 - Blog - Ben Nadel - Code Kata: Getting Initials For A Name In Lucee CFML 5.3.8.201At work, we have many user interfaces (UI) that use initials instead of full names, such as the "face pile" widget. The current technique for extracting initials from names is rather simplistic: we grab the set of tokens defined by the RegEx pattern, S+, and then pluck out the leading character of each match. As a code kata, I wanted to see if I could author a slightly more clever user defined function (UDF) that could take a name and return initials in Lucee CFML 5.3.8.201.https://www.bennadel.com/blog/4265-code-kata-getting-initials-for-a-name-in-lucee-cfml-5-3-8-201.htm 5/19/22 - Blog - Ben Nadel - SQL "Join Tables" Are Just "Entity Tables" With Hard-To-Name ConceptsOver the past few months, I've been incrementally modernizing the public-facing portion of this ColdFusion blog. And, all in all, it's been going quite smoothly! But, when I started to work on modernizing the administrative portion of the blog, things got a little hairy. Not only is the administrative code even older and jankier than the public code, it requires CRUD (Create, Read, Update, Delete) operations on "join tables" in the MySQL database. And, up until now, I haven't had to think about modeling these join tables in a data access layer (DAL)https://www.bennadel.com/blog/4267-sql-join-tables-are-just-entity-tables-with-hard-to-name-concepts.htm 5/20/22 - Blog - Ben Nadel - Parsing Nullish Date "0001-01-01T00:00:00Z" In Lucee CFML 5.3.8.201At work, one of the APIs that I consume returns data for a Date column that didn't always exist. And, instead of returning a null or an empty string for rows in which the value in the database is NULL, they return what I assume is a null-coalesced date: 0001-01-01T00:00:00Z. I didn't realize that this was happening until I started to see dates in my system showing up as 2001 - which is many years before the API in question even existed. It turns out, passing a date/time mask into the parseDateTime() function is kind of important in Lucee CFML 5.3.8.201https://www.bennadel.com/blog/4268-parsing-nullish-date-0001-01-01t00-00-00z-in-lucee-cfml-5-3-8-201.htm 5/21/22 - Blog - Ben Nadel - Dynamically Enabling / Disabling Session Management In Lucee CFML 5.3.8.201Currently, my blog is composed of two completely separate ColdFusion applications: one for the public facing functionality (you) and one for the content publisher (me). The public facing ColdFusion application has no session management. But the internal facing ColdFusion application has sessions and login-based authentication. As I've been refactoring this platform, I briefly considered combining the two ColdFusion applications and just dynamically enabling sessions for my user. I dismissed this approach as unnecessarily complicated; but, the fact that it's even possible is a fascinating aspect of ColdFusion. As such, I thought that I might quickly demonstrate that you can dynamically enable and disable session management in Lucee CFML 5.3.8.201https://www.bennadel.com/blog/4269-dynamically-enabling-disabling-session-management-in-lucee-cfml-5-3-8-201.htm Adam Cameron Corner 5/17/22 - Blog - Adam Cameron - Why I'm doing this TinyTestFramework exerciseI have listened to both Modernize or Die® and Working Code Podcast (the specific episode of the latter is not public yet: I get it early as I'm a patreon… which you should be too: Patreon: Working Code is creating podcasts) this evening, and I appreciate them both mentioning my series on TinyTestFramework, but they both kinda got my motivations for doing it wrong.I'm not doing it for these reasons. I mean… I am doing it, yes, obviously. But these are not my motivations:To work out how to write a testing framework. This is not really that interesting to me. How to do it within a single expression (the whole thing is one struct literal)? Yes, interested in that. Def.Because I think TestBox is doing anything wrong. It could not be further from the truth: I think TestBox is one of the best CFML projects out there. I am using it as inspiration, as I want code written in TinyTestFramework to be lift-and-shift-able into TestBox.https://blog.adamcameron.me/2022/05/why-im-doing-this-tinytestframework.html 5/18/22 - Blog - Adam Cameron - CFML: Filler article with code but no TDD at allI'm still working on the TinyTestFramework though: some things don't change.My test file for this work, which is the framework and all its tests in one is getting a bit weighty: >1200 LOC, and I'm finding it difficult to navigate about the place. Especially as I'm using trycf.com as my dev environment :-).Using the technique I recently documented to execute code on trycf.com remotely ("Running CFML code on trycf.com via a remote HTTP request"), I've split-out the framework and the tests into different gists, and wrote a wee calling-harness to run them all… and for completeness on both ColdFusion 2021 and Lucee 5.https://blog.adamcameron.me/2022/05/cfml-filler-article-with-code-but-no.html CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 89 ColdFusion positions from 50 companies across 45 locations in 5 Countries.4 new jobs listedFull-Time - Senior Software Engineer - Coldfusion/C# at Plano, TX - United States Posted May 24https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-Software-engineer-coldfusion/11475 Full-Time - Software Engineer-ColdFusion at Reno, NV - United States Posted May 18https://www.getcfmljobs.com/jobs/index.cfm/united-states/Software-EngineerColdFusion-at-Reno-NV/11471 Full-Time - Software Engineer-ColdFusion at Bloomington, MN - United States Posted May 18https://www.getcfmljobs.com/jobs/index.cfm/united-states/Software-EngineerColdFusion-at-Bloomington-MN/11472 Full-Time - Software Engineer-ColdFusion at Roseville, CA - United States Posted May 18https://www.getcfmljobs.com/jobs/index.cfm/united-states/Software-EngineerColdFusion-at-Roseville-CA/11476 PATREON SPONSORED JOB POSTING!Hagerty - MotorSportRegSenior Software Engineer, MotorsportWe are seeking a Senior Software Engineer to work primarily with Node/Vue.js, ColdFusion, and AWS to improve our platform and build greenfield experiences.We are a 25-person team supporting 1,600 organizations with our SaaS CRM, commerce and event management platform. With 8,000 events managed in our marketplace annually by our customers, our goal is to be the number one software platform for automotive and motorsport events.Ready to get in the driver's seat? Join us!https://bit.ly/3985J3U Other Job Links Ortus Solutions https://www.ortussolutions.com/about-us/careers  Clear Capital - Carol from Working Code Pod  There is a jobs channel in the cfml slack team, and in the box team slack now too ForgeBox Module of the WeekSend Grid ProtocolA cbmailservices protocol for sending email via Send Grid. cbmailservices already supports CFMail, File, InMemory, Null, and PostMark. This module adds SendGrid support as well as the ability to optionally use SendGrid templates.https://www.forgebox.io/view/send-grid-protocolVS Code Hint Tips and Tricks of the WeekActive File In StatusBarVisual Studio Code extension for showing the full path of the currently active file in the status bar. You can also click on it to copy to your clipboard. Its handy when you need to quickly see the full filepath.https://marketplace.visualstudio.com/items?itemName=RoscoP.ActiveFileInStatusBar Thank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox,  ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutions Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website Don't forget, we have Annual Memberships, pay for the year and save 10% - great for businesses. https://community.ortussolutions.com/ Patreons Brand new Big Patreon SponsorBrian Ghidinelli - Hagerty MotorsportReg  Wil De Bruin - Sponsoring again - thank you Wil. John Wilson - Synaptrix  Eric Hoffman Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Dan Card Jonathan Perret Jeffry McGee - Sunstar Media Dean Maunder Joseph Lamoree Don Bellamy Jan Jannek Laksma Tirtohadi Carl Von Stetten Jeremy Adams Didier Lesnicki Matthew Clemente Daniel Garcia Scott Steinbeck - Agri Tracking Systems Ben Nadel  Brett DeLine Kai Koenig Charlie Arehart Jonas Eriksson Jason Daiger Shawn Oden Matthew Darby Ross Phillips Edgardo Cabezas Patrick Flynn Stephany Monge John Whish Kevin Wright Peter Amiri You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors ★ Support this podcast on Patreon ★

DevDiscuss
S9:E2 - A Journey in Real-World Problem Solving with Regex

DevDiscuss

Play Episode Listen Later May 18, 2022 42:23


In this episode, we talk about how we created unified embeds with Arit Amana, software engineer at Forem, and Jeremy Friesen, lead software engineer at Forem. Show Notes DevNews (sponsor) CodeNewbie (sponsor) Cockroach Labs (DevDiscuss) (sponsor) Swimm (DevDiscuss) (sponsor) Stellar (DevDiscuss) (sponsor) Drata (DevDiscuss) (sponsor) Regex

Python Bytes
#274 12 Questions You Should Be Asking of Your Dependencies

Python Bytes

Play Episode Listen Later Mar 9, 2022 39:54


Watch the live stream: Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Special guest: Anne Barela Brian #1: The Adam Test : 12 Questions for New Dependencies Found through a discussion with Ryan Cheley, who will be on an upcoming episode of Test & Code, talking about Managing Software Teams. The Joel Test dates back to 2000, and some of it is a bit dated. I should probably do a Test & Code episode or pythontest article on my opinions of this at some point. Nice shameless plugs, don't you think? The Joel Test is 12 questions and is a “highly irresponsible, sloppy test to rate the quality of a software team.” “The Adam Test” is 12 questions “to decide whether a new package we're considering depending on is well-maintained.” He's calling it “The Well-Maintained Test”, but I like “The Adam Test” Here's the test: Is it described as “production ready”? Is there sufficient documentation? Is there a changelog? Is someone responding to bug reports? Are there sufficient tests? Are the tests running with the latest language version? like Python 3.10, of course Are the tests running with the latest integration version? Examples include Django, PostgreSQL, etc. Is there a Continuous Integration (CI) configuration? Is the CI passing? Does it seem relatively well used? Has there been a commit in the last year? Has there been a release in the last year? Article has a short discussion of each. What score is good? That's up to you to decide. But these questions are good to think about for your dependencies. I also think I'll use these questions for my own projects. I've got a README.md, but do I need more examples in it? Should I have RTD docs for it? Have I updated the test matrix to include the newest versions of Python, etc? Have I hooked up CI? Michael #2: Validate emails with email-validator When you think about validating emails, you probably think regex (or just nothing) Regex is fine but so is this email: jane_doe@domain_that_doesnt_exist.com Problem is (at the time of the recording), domain_that_doesnt_exist.com is not a website. What about unicode variations that are technically the same but visually different? If the passed email address is valid, the validate_email() method will return an object containing a normalized form of the passed email address. Anne #3: The Python on Microcontrollers Newsletter One of my main focuses at Adafruit since the pandemic started is as editor of the Python on Microcontrollers Newsletter. With a weekly distribution of almost 9,400 subscribers, it's the largest newsletter of it's kind. It mainly focuses on CircuitPython and MicroPython and also discusses Python on single board computers (SBC) like Raspberry Pi. News about Python with a small computer emphasis Folks may subscribe by going to https://www.adafruitdaily.com/ which is separate from adafruit.com. The information is not sold or used for marketing and it's easy to unsubscribe (no “do you really want to do this, please reconsider…) The challenge, like for Python Bytes and other publications, is to find content. I scour the internet, with a bit of a focus on Twitter as I have an active account there. We encourage others to put in issues and Pull Requests on the newsletter GitHub, email information to cpnews@adafruit.com and using hashtag CircuitPython or MicroPython on Twitter. Brian #4: Git Organized: A Better Git Flow Annie Sexton Found through Changelog episode 480: Get your reset on A possible and common git workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work When ready to merge, make a PR Problems Commits are hard to follow and messy, not ever really intended to separate parts of the workflow or anything. Commits are therefore useless in helping someone code review large changes. Annie's workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work. But don't worry to much about commit messages, “WIP” is sufficient. Or a note to yourself. When ready to merge git reset origin/main Re-commit all changes in a logical order that makes more sense than the way the work actually happened. These will be several commits, with descriptive messages. Even partial commits, if there are unrelated changes in a file, work with this process Push all the new commits. (Is --force going to be necessary?) Create a PR. Now there are a set of commits that are actually helpful to break up large PRs into small chunks that tell a story. I'm looking to try this soon to see how it goes Michael #5: CPython issues moving to GitHub soon Update by The Python Developer in Residence, Łukasz Langa The Steering Council is working on migrating the data that is currently residing in Roundup at https://bugs.python.org/ (BPO) into the GitHub issues of the CPython repository hosted there. Laid out in PEP 581 -- Using GitHub Issues for CPython The ultimate goal is to move user- and core developer-provided issue-reporting entirely to Github. Each issue that currently exists on BPO will include metadata indicating where it was moved on Github. New issues will only exist on Github. Feedback, please: At the current stage, we're asking you to take a look at the links and important dates below, and share any feedback you might have. Timeline: Friday, March 11th 2022: Github starts transfer of the issues in the temporary repository to github.com/python/cpython/ . The migration is estimated to take anywhere from 3 to 7 days, depending on the load on Github.com. Anne #6: MicroPython, CircuitPython and GitHub What are Microcontrollers and Single Board Computers (SBCs)? Why not use CPython on Microcontrollers? MicroPython was originally created by the Australian programmer and theoretical physicist Damien George, after a successful Kickstarter backed campaign in 2013. Originally it only ran on a number of boards and was based on Python 3.4. CircuitPython was forked from MicroPython in 2017 by Adafruit Industries. Both MicroPython and CircuitPython are Open Source under MIT Licenses so adoption and modification by anyone is easy. Why fork CircuitPython? 1) Make a requirement that CircuitPython boards can enumerate to computers as a USB thumb drive to add or change code files with any text editor. 2) Aim to make CircuitPython use CPython library syntax whenever possible. 3) Make it easy to use and understand for beginners yet powerful for more advanced users. All CircuitPython code is on GitHub. GitHub Actions is used on repos like the Adafruit Learning System code to automate CI with Pylint, Black, and ensuring code has proper SPDX author and license tags, which is a new addition this year. Currently there are 283 microcontroller boards compatible with CircuitPython and 87 single board computers can use CircuitPython libraries in CPython via the Adafruit Blinka abstraction layer. Code portability between boards requires little if any changes. There are 346 CircuitPython libraries (all on PyPI / pip as well as GitHub) covering a wide range of hardware and real world needs. From blinking LEDs to using ulab (microlab), a subset of numpy, for data crunching. I just counted and there are exactly 1,000 Adafruit Learning System guides referencing CircuitPython, all free and open source/MIT licensed. https://learn.adafruit.com/ Extras Brian: Quick read: The Thirty Minute Rule, by Daniel Roy Greenfield summary: Stuck on a software problem for 30 min? Ask for help. Michael: The CircuitPython Show by Paul Cutler Follow up from my Python 3 == Active Python 3? James wrote: In episode #273, you guys were discussing supporting "Python 3" to mean any currently supported version of Python rather than "Python 3.7+" or similar. That's a really bad idea. There are still tons of people using unsupported versions of Python, and they're not all invalid use cases. For example, I am one of the upstream maintainers for cloud-init, and I was only recently able to remove Python 3.5 in order to make 3.6 our minimum supported version (which will continue for the next year). The reason is that our main consumers are downstream distro packagers (ubuntu, red hat, fedora, etc), and it's not uncommon for software released into long-term supported OS releases to be supported for 5-10 years or more. If I fire up an Ubuntu Trusty container, which still receives extended support until 2024, I get Python 3.4. So even though 3.4 is unsupported by Python upstream, it is still absolutely in use and supported by OS manufacturers. Joke: A case of the Mondays

IGeometry
The Many Ways of DDoS | Russia-Ukraine Cyberwar

IGeometry

Play Episode Listen Later Mar 7, 2022 15:31


The Russia-Ukraine Cyberwar has reached a peak this past week. In this video I explain the multiple ways a Denial of Service attacks can happen and how to protect against them Intro 0:00 What is DOS? 1:00 Long running requests 1:42 Crash backend processes 3:30 Exhaust Max connections 4:25 Large response (web traffic) 5:42 Lots of requests 8:27 Complex request (Regex bug) 9:57 Prevention 12:27 --- Support this podcast: https://anchor.fm/hnasr/support

Search with Candour
Keyword Insights v2 launch, English to regex tool, errors in Google Search Console, SISTRIX TrendWatch March 2022 & Google Shopping Stories

Search with Candour

Play Episode Listen Later Mar 7, 2022 32:11


In this episode, you will hear Mark Williams-Cook & Jack Chambers talk about: Keyword insights launching v2 Errors in GSC URL Inspection tool English to regex tool SISTRIX TrendWatch March 2022 More on Google Shopping Scorecard Google Shopping Stories You can get the full transcription and show notes at https://search.withcandour.co.uk

Marketing Mantra
Ep. #71 - 7 Seconds That Are Worth $700,000: Why Page Speed Matters (w/ Dmitrii Kustov from Regex SEO)

Marketing Mantra

Play Episode Listen Later Aug 7, 2021 38:34


Page speed is critical to ranking your pages on Google. Website loading speed has always been an important piece of the user experience puzzle. With the page experience algorithm update, Google has finally made it official — page speed is a ranking signal. In this episode, I'm joined by Dimitrii Kustov, the founder of Regex SEO - a full-service digital marketing agency based in Houston, Texas. Declared the "SEO Rockstar" by the American Marketing Association, Dmitrii has significantly increased the online presence of brands through creative digital marketing campaigns. Our conversation in this episode will revolve around website loading speed and how improving the speed of your website can result in higher search rankings and more traffic. Dmitrii will reveal actionable tips and tricks to improve your page speed and also share one of his most talked-about SEO case studies with us — "7 Seconds That Are Worth $700,000." This is a case study that really illustrates how a slow-loading website takes a toll on the bottom line of your business and the steps you can take to make sure your page speed is never compromised. ⏱ Timestamps: 00:29 - Introducing Dmitrii Kustov 03:16 - How Dmitrii evaluates clients at Regex SEO 05:20 - The importance of website loading speed and the impact of page experience algorithm update on rankings 08:18 - User experience and SEO 10:30 - How to improve your core web vitals and Pagespeed Insights score 13:39 - Regex SEO Case Study: 7 Seconds That Are Worth $700,000 19:35 - Should marketers obsess over bounce rate? What is a good bounce rate? 24:16 - More tips to optimize your page speed and reduce bounce rate 30:46 - How your hosting plan affects page speed 33:16 - Dmitrii's favorite SEO tools -=-=-=-=- Tools and resources discussed in the episode: Regex SEO - https://www.regexseo.com/ Google Pagespeed Insights - https://developers.google.com/speed/pagespeed/insights/ Google Analytics - https://analytics.google.com/analytics/web/ Semrush - Get 1-month free trial to Semrush: https://www.semrush.com/partner/99signalspro/ Ahrefs - https://ahrefs.com/ Google Lighthouse - https://developers.google.com/web/tools/lighthouse -=-=-=-=- BONUS RESOURCES + FREE DOWNLOADS If you're a fan of the podcast, here are some FREE online marketing resources from my blog, 99signals, to help you level up your marketing skills: The Ultimate Guide to Link Building (https://resources.99signals.com/link-building-ebook) - Learn 25 powerful strategies to build high quality backlinks, improve search engine rankings, and drive targeted traffic to your site. Top-rated articles at 99signals (https://www.99signals.com/best/) - This page contains a list of all the top-rated articles on my blog. It's a great place to get started if you're visiting 99signals for the first time. -=-=-=-=- Visit https://www.99signals.com for more insights on SEO, blogging, and marketing. --- Send in a voice message: https://anchor.fm/sandeep-mallya/message

The Downtime Project
One Subtle Regex Takes Down Cloudflare

The Downtime Project

Play Episode Listen Later Apr 12, 2021 54:51


On July 2, 2019, a subtle issue in a regular expression took down Cloudflare (and with it, a large portion of the internet) for 30 minutes.

The Visual Developers Podcast
An interview with Carri Craver

The Visual Developers Podcast

Play Episode Listen Later Jan 15, 2021 57:02