POPULARITY
On this week's Extra Serving, NRN editor in chief Sam Oches and executive editor Alicia Kelso discuss Starbucks' new uniform policy, which calls for neutral-color clothing that lets the brand's signature green apron stand out. Employees aren't happy about the change, but could it be another smart step in the turnaround process kicked off by new CEO Brian Niccol? Then they discuss Red Robin's new Bottomless Burger Pass, a limited promotion that, for just $20, gives customers a burger every day for a month. The pass was so in demand that it crashed Red Robin's website, and Sam and Alicia talk about how this could be a smart marketing strategy. They also talk about Applebee's, which last year did its own pass — a Date Night Pass — that was equally as in demand but couldn't spur enough momentum for the chain to enjoy sales growth. Now Applebee's has lost CMO Joel Yashinsky, who left for the same position at Burger King U.S. and Canada. So what's next for Applebee's? Senior editor Joanna Fantozzi joins for this week's extra serving to talk about Technomic's Top 500, which illustrates some interesting trends among the biggest chains in the U.S. Finally, we share an interview between senior food and beverage editor Bret Thorn and Walk-On's senior director of culinary John Hagen. For more on these stories: Starbucks updates dress code to focus on green apronRed Robin's website crashes under the weight of Bottomless Burger Pass demandBurger King names Joel Yashinsky as CMO for the U.S. and CanadaTechnomic Top 500 notes sales slowdown
(Rebroadcast 11/29/24)This episode is the first episode of Civic Yarn, a short-lived project by John Hagen and Olga Peters. The episode was filmed on July 28, 2021 at ORCA Media in Montpelier. Brattleboro's BCTV provided editing and music. Episode description: Senate Pro Tem Sen. Becca Balint and Speaker of the House Jill Krowinski share funny and poignant stories about serving in the state legislature. The leaders discuss how the January 6 riots in DC cast a long shadow over the 2021 session. Balint describes how a high school history class sparked her desire to run for office. Krowinski outlines the life experiences that prepared her for the role of Speaker.Watch the video at BCTV's website: https://www.brattleborotv.org/montpelier-happy-hour/civic-yarn-ep1-rep-jill-krowinski-and-sen-becca-balint/
It's the most wonderful time of the year for an Ozark Mountain Christmas with Byron Tyler and co-host Pam Yancey, President of ExploreBranson.com. Show Two's guests include JC Fisher from The Texas Tenors. JC along with Marcus Collins, and John Hagen are celebrating their 15th Anniversary Tour at the Mickey Gilley Grand Shanghai Theatre. The Texas Tenors, Billboard #1 Recording Artists, 3-time Emmy Award Winners, Top Selling Vocal Group in history of America's Got Talent, and 2022 Texas Country Music Hall of Fame Inductees. Next is Pam Critchfield about the newest exhibition in town the Sistine Chapel Exhibit. The Exhibition® showcases the awe and wonder of arguably one of mankind's greatest artistic achievements, while allowing its visitors to experience this art from an Up-Close, Life-Sized, and Never-Before-Seen perspective. Visitors are given a chance to engage with the artwork in ways that were never before possible: seeing every detail, every brushstroke, and every color of the artist's 34 frescoes. This show wraps up with round table conversation with Pam Yancey, Byron Tyler, and Monna Stafford, Northeast, AR and Southwest Missouri Regional Manager for Bott Radio Network. The hospitality of the Ozark people makes your experience in Branson like no other. Monna and Pam talk about that hospitality as well as the character of Ozark folks, how Christmas is warmly celebrated, veterans are honored, and an invitation to come experience for yourself and Ozark Mountain Christmas. This is show two of four in the series. These shows were produced in the Bott Radio Network studios in Branson, Missouri. Learn more about making plans to spend Christmas in Branson at www.explorebranson.com
Topics covered in this episode: Open Source Myths uv 0.3.0 and all the excitement Top pytest Plugins A comparison of hosts / providers for Python serverless functions (aka Faas) Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training pytest courses and community at PythonTest.com Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Open Source Myths Josh Bressers Mastodon post kicking off a list of open source myths Feedback and additional myths compiled to a doc Some favorites All open source developers live in Nebraska It's all run by hippies Everything is being rewritten in rust Features are planned If the source code is available, it's open source A project with no commits for 12 months is abandoned Many eyes make all bugs shallow Open source has worse UX Open source has better UX Open source makes you rich Michael #2: uv 0.3.0 and all the excitement Thanks to Skyler Kasko and John Hagen for the emails. Additional write up by Simon Willison Additional write up by Armin Ronacher End-to-end project management: uv run, uv lock, and uv sync Tool management: uv tool install and uv tool run (aliased to uvx) Python installation: uv python install Script execution: uv can now manage hermetic, single-file Python scripts with inline dependency metadata based on PEP 723. Brian #3: Top pytest Plugins Inspired by (and assisted by) Hugo's Top PyPI Packages Write up for Finding the top pytest plugins BTW, pytest-check has made it to 25. Same day, Jeff Triplett throws my code into Claude 3.5 Sonnet and refactors it Thanks Jeff Triplett & Hugo for answering how to add Summary and other info Michael #4: A comparison of hosts / providers for Python serverless functions (aka Faas) Nice feature matrix of all the options, frameworks, costs, and more The WASM ones look particularly interesting to me. Extras Brian: When is the next live episode of Python Bytes? - via arewemeetingyet.com Thanks to Hugo van Kemenade Some more cool projects by Hugo Python Logos PyPI Downloads by Python version for various Python tools, in pretty colors Python Core Developers over time Michael: Code in a Castle Course event - just a couple of weeks left Ladybird: A truly independent browser “I'm also interested in your video recording setup, would be nice to have that in the extras too :D” OBS Studio Elgato Streamdeck Elgato Key light DaVinci Resolve Joke: DevOps Support Group via Blaise Hi, my name is Bob Group: Hi Bob I's been 42 days since I last ssh'd into production. Group: Applause But only 4 days since I accidentally took down the website Someone in back: Oh Bob…
Topics covered in this episode: NumPy 2.0 release date is June 16 Uvicorn adds multiprocess workers pixi JupyterLab 4.2 and Notebook 7.2 are available Extras Joke Watch on YouTube About the show Sponsored by Mailtrap: pythonbytes.fm/mailtrap Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: NumPy 2.0 release date is June 16 “This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains breaking changes to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy 2.0.0rc2.” NumPy 2.0.0 Release Notes NumPy 2.0 migration guide including “try just running ruff check path/to/code/ --select NPY201” “Many of the changes covered in the 2.0 release notes and in this migration guide can be automatically adapted in downstream code with a dedicated Ruff rule, namely rule NPY201.” Michael #2: Uvicorn adds multiprocess workers via John Hagen The goal was to no longer need to suggest that people use Gunicorn on top of uvicorn. Uvicorn can now in a sense "do it all” Steps to use it and background on how it works. Brian #3: pixi Suggested by Vic Kelson “pixi is a cross-platform, multi-language package manager and workflow tool built on the foundation of the conda ecosystem.” Tutorial: Doing Python development with Pixi Some quotes from Vic: “Pixi is a project manager, written in Rust, that allows you to build Python projects without having Python previously installed. It's installable with Homebrew (brew install pixi on Linux and MacOS). There's support in VSCode and PyCharm via plugins. By default, pixi fetches packages from conda-forge, so you get the scientific stack in a pretty reliable and performant build. If a package isn't on conda-forge, it'll look on PyPI, or I believe you can force it to look on PyPI if you like.” “So far, it works GREAT for me. What really impressed me is that I got a Jupyter environment with CuPy utilizing my aging Nvidia GPU on the FIRST TRY.” Michael #4: JupyterLab 4.2 and Notebook 7.2 are available JupyterLab 4.2.0 has been released! This new minor release of JupyterLab includes 3 new features, 20 enhancements, 33 bug fixes and 29 maintenance tasks. Jupyter Notebook 7.2.0 has also been released Highlights include Easier Workspaces Management with GUI Recently opened/closed files Full notebook windowing mode by default (renders only the cells visible in the window, leading to improved performance) Improved Shortcuts Editor Dark High Contrast Theme Extras Brian: Help test Python 3.13! Help us test free-threaded Python without the GIL both from Hugo van Kemenade Python Test 221: How to get pytest to import your code under test is out Michael: Bend follow up from Bernát Gábor “Bend looks roughly like Python but is nowhere there actually. For example it has no for loops, instead you're meant to use bend keyword (hence the language name) to expand calculations and another keyword to join branches. So basically think of something that resembles Python at high level, but without being compatible with that and without any of the standard library or packages the Python language provides. That being said does an impressive job at parallelization, but essentially it's a brand new language with new syntax and paradigms that you will have to learn, it just shares at first look similarities with Python the most.” Joke: Do-while
Jay Dyer joins Patrick Henningsen to cover how the red heffa and John Hagen's blood moons nonsense is a useful geopolitical tool.Support my work via Bitcoin here or the QR code: bc1qwzk8gvsentmmkd7vz48qlxfw8wy5pwzxx6f3nv Next LIVE EVENT in Vegas June 22 here: https://www.eventbrite.com/e/jamie-kennedy-jay-jamie-isaac-hollywood-conspiracy-comedy-live-tickets-882418596777?aff=oddtdtcreator Send Superchats at any time here: https://streamlabs.com/jaydyer/tip The New Philosophy Course is here: https://marketplace.autonomyagora.com/philosophy101 Use JAY50 promo code here https://choq.com for huge discounts - 50% off! Set up recurring Choq subscription with the discount code JAY53LIFE for 53% off now https://choq.com Lore coffee is here: https://www.patristicfaith.com/coffee/ Orders for the Red Book are here: https://jaysanalysis.com/product/the-red-book-essays-on-theology-philosophy-new-jay-dyer-book/ Subscribe to my site here: https://jaysanalysis.com/membership-account/membership-levels/ Follow me on R0kfin here: https://rokfin.com/jaydyerBecome a supporter of this podcast: https://www.spreaker.com/podcast/jay-sanalysis--1423846/support.
John Cook & Hagen Decker sind süchtig nach Kokain und sind nach über 10 Jahren täglichem Konsum seit nun fast 2 Jahren nüchtern. Heute erzählen sie, wie sie den Weg aus der Sucht heraus gefunden haben und warum sie der Konsum fast das Leben gekostet hätte. Mit ihrem Podcast „Sucht & Süchtig“ haben sie bereits tausenden Leuten aus der Sucht herausgeholfen. Moritz, John und Hagen sind alle Väter von Teenagern. Wie gehen sie als ehemalige Konsumenten mit dem Thema Konsum bei ihren Kindern um und der Sorge, dass auch die Kinder süchtig werden. Wie steht John, als ehemaliger Cannabis Konsument zum Thema Legalisierung? Hagen & John haben eine riesige Community rund um das Thema Sucht aufgebaut. Löst die Angst vor einem Rückfall Druck bei ihnen aus und wie würde es, im Falle eines Rückfalls, mit dem Projekt "Sucht & Süchtig" weitergehen? Moritz war vor ein paar Monaten zu Gast bei John & Hagen im Podcast und hat mit seinen Erfahrungsberichten zum Thema Ayahuasca eine riesige Welle der Empörung ausgelöst. Heute geht Moritz nochmal näher auf das Thema Ayahuasca ein. .Viel Spaß Euch! Sucht & Süchtig auf Spotify: https://open.spotify.com/show/5nXvGzUVDngRmoi4OPYL9k?si=ea37efcd266e4cae
Welcome to another episode of The Action and Ambition podcast! Joining us today is Dr. John Hagen, a seasoned surgeon turned storyteller who seamlessly weaves the precision of the operating room into the fabric of his narratives. Hagen's literary journey took an unexpected turn after a distinguished medical career. Renowned for his mesmerizing novel, "The Sailor," Hagen draws inspiration from his deep-seated love for sailing, spending summers navigating the serene waters of Lake Ontario. The freedom and tranquility of the open sea serve as both a canvas and catalyst for his creative endeavors. In the rhythmic dance of the waves, Hagen discovers the poetic seeds that blossom into his captivating tales of adventure, seamlessly blending the technical prowess of a surgeon with the limitless horizons of the open sea. Tune in to learn more!
Topics covered in this episode: Heliclockter - Like datetime, but more timezone-aware Wagtail 5 Git log customization MiniJinja template engine Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Python People Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: Heliclockter - Like datetime, but more timezone-aware Suggested by Peter Nilsson The library exposes 3 classes: datetime_tz, a datetime ensured to be timezone-aware. datetime_local, a datetime ensured to be timezone-aware in the local timezone. datetime_utc, a datetime ensured to be timezone-aware in the UTC+0 timezone. Michael #2: Wagtail 5 Wagtail is the leading open-source Python CMS, based on Django. Anything you can do in Python or Django, you can do in Wagtail. Wagtail 5.0 provides even more options for your content creation experience Dark mode has arrived SVG support Enhanced accessibility checker Delete more safely Some breaking changes in it because this release removes some of the old code paths that were maintained to give people more time to adapt their code to the new upgrades Add custom validation logic to your Wagtail projects. You can now attach errors to specific child blocks in StreamField. Brian #3: Git log customization Justin Joyce Just a simple git log --oneline makes the log so much more readable, but don't stop there. --graph helps to show different branches -10 shows the last 10 commits. And this beauty in .gitconfig makes git lg mostly do what you want most of the time: [alias] lg = log --graph -10 --format='%C(yellow)%h%Creset %s %Cgreen(%cr) %C(bold blue)[HTML_REMOVED]%Creset' Michael #4: MiniJinja template engine MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2 Comes with integration back into Python via minijinja-py package. MiniJinja has a stronger sandbox than Jinja2 and might perform ever so slightly better in some situations. However you should be aware that due to the marshalling that needs to happen in either direction there is a certain amount of loss of information. Compiles to WebAssembly Extras Brian: The pytest Primary Power course is ready. To celebrate wrapping up the first course, pytest Primary Power is $49, the bundle is $99. Bundle: This + next 2 courses + access to repo, discussion forum, Slack, and Discord Michael: New HTMX, language course, and data science course coming at Talk Python. Add your name here to get notified. I'll be at PyBay 2023 on Oct 8, 2023 Use "friendofspeaker" with for a 20% discount on the regular tickets. Follow up from docstrings: From Rhet John Hagen: You can certainly omit the type information from the docstring when you are using typehints. This is the way I've seen almost all modern usages of Google style docstrings nowadays. They still have some examples that include the type information because the original standard pre-dated Python 3 type annotations. Here is a simple example: https://github.com/johnthagen/python-blueprint/blob/main/src/fact/lib.py#L5 This also shows off the next point that you brought up: can I document all of the exceptions that a function could raise. Google docstrings have the "Raises:" block for this, and I find it pretty nice and concise for when this is needed. Also, PyCharm can be configured to autocomplete and render Google style docstrings https://www.jetbrains.com/help/pycharm/settings-tools-python-integrated-tools.html Tools | Python Integrated Tools | Docstrings | Docstring Format: Google What's nice about this, is that then PyCharm will render the google style docstrings in the Quick Doc function (Ctrl+Q), making the headers bold and larger and lists look nice so it's easy to read. Joke: Fully optimized my algorithm
Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Python People Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: A Steering Council notice about PEP 703 (Making the Global Interpreter Lock Optional in CPython) Thomas Wouters Suggested by John Hagen “We intend to accept PEP 703, although we're still working on the acceptance details.” Moving forward in 3 stages short-term, no-GIL experimental build in 3.13 or 3.14 mid-term, declare support for no-GIL version long-term, no-GIL becomes default and remove any vestiges of the GIL No commitment and timeframe is nebuous long-term means 5+ years Need community support “We want to be able to change our mind if it turns out, any time before we make no-GIL the default, that it's just going to be too disruptive for too little gain.” Michael #2: Google's post-cookie world could turn into DRM for the internet A new authentication system could let websites block extensions or jailbroken devices. Google has been trying to implement plans to move beyond cookies for years without denying its partners the means to sell targeted ads. One recent proposal to guarantee user privacy and security could come at the cost of freedom of functionality. Comments are somewhat interesting. More info in a second article. Vivaldi has a response here. Brave won't ship with it. Brian #3: How ruff changed my Python programming habits Matthias Kestenholz “…there's always a trade off between development speed (waiting on git commit is very boring) and strictness. “ “ruff is so fast that enabling additional rules is practically free in terms of speed...” ruff has way more rules since last I checked. They are just mostly turned off by default. The article suggests a bunch to try turning on. See also ruff config settings turn on flake8-bugbear while leaving on defaults with select = ["E", "F", "B"] lots of rules to choose from ruff-pre-commit to run these with pre-commit Michael #4: pathlib api extended to use fsspec backends via Justin Flannery Expanding on the capabilities of fsspec, the same GitHub organization also supports another powerful library called universal_pathlib. universal_pathlib is a python library that aims to extend Python's built-in pathlib.Path api to use a variety of backend filesystems using fsspec. This seamless replacement allows developers to leverage the familiar and powerful pathlib API on any type of filesystem. upath.Path is a drop-in replacement for pathlib.Path and is an excellent addition to your toolkit. Joke: Understanding pointers
Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Test & Code Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Special guest: GUEST_PROFILE Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Michael #1: Ruff PyCharm plugin via John Hagen Ruff PyCharm plugin has great integration, it will highlight Ruff lint errors in the IDE as you type and you can even apply Alt+Enter (⌥⏎ on Mac) quick fixes through the IDE. Ruff will automatically fix the fixable issues. John also added additional PyCharm-specific instructions for black/Ruff Brian #2: Writing Python like it's Rust Kobzol Rust lessons guiding use of types and type hints in Python Add type hints tun function signatures Use dataclasses instead of tuples or dictionaries to increase clarity and type safety Union types to clarify | typing Michael #3: Pip 23.1 Released - Massive improvement to backtracking Pip 23.1 was released last month Highlight the significant improvement in backtracking that is part of the requirement resolver process in Pip. This process involves Pip finding a set of packages that meet your requirements and whose requirements themselves don't conflict. Prior to Pip 20.3, the default process for Pip would allow conflicting requirements to install if they were transitive dependencies where the last one specified would be the one installed. Once the new resolver was turned on by default it immediately hit problems where backtracking would get stuck for a long time. Pip separates out the resolution logic into a library called resolvelib. It had been discovered that there was a logical error under certain circumstances, and also there was a known better backtracking technique it could employ called backjumping. Both of these were recently fixed and implemented in resolvelib, which were then vendored in to Pip 23.1. Brian #4: Markdown Code Runner markdown-code-runner is a Python package that automatically executes code blocks within a Markdown file, including hidden code blocks, and updates the output in-place. Works with Python & Bash see also cog Extras Brian: Use code SPRING2023 to get 50% off “Python Testing with pytest, 2nd edition” before June 1. Michael: Python 3.12.0a7 is out python3 -m venv --upgrade-deps venv (via John Hagen) Talk submissions are now open for both remote and in-person talks at the 2023 PyConZA? The conference will be held on 5 and 6 October 2023 in Durban, South Africa. South Africa is GMT+2, so the times are convenient for Africa, Europe and much of Asia, although probably less so for the rest of the world. All details are on za.pycon.org - via Kim van Wik Trail discovery/riding apps onX offroad Gaia Picture of Michael on one of these trails Joke: User Inyerface
Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: zipapp Part of standard library since 3.5 Yet another thing I learned recently from Brett Cannon “This module provides tools to manage the creation of zip files containing Python code, which can be executed directly by the Python interpreter. The module provides both a Command-Line Interface and a Python API.” Including: Creating Standalone Applications with zipapp Michael #2: Reverse engineering the Apple News app with #python and #nerd power As we navigate the digital world, we often come across articles we don't have time to read but still want to save for later. One way to accomplish this is by using the Read Later feature in Apple News. But what if you want to access those articles outside the Apple News app, such as on a different device or with someone who doesn't use Apple News? Or what if you want to automatically post links to those articles on your blog? That's where the nerd powers come in. The linked article shows how to use Python to solve your own problem Leading to Rhet Turnbull's CLI: apple-news-to-sqlite Brian #3: What is a context manager? Trey Hunner Also look at all the cool goodies in contextlib from standard library @contextmanager closing suppress redirect_stdout, redirect_stderr chdir Michael #4: nox-poetry: Use Poetry inside Nox sessions via 2 people: John Hagen and Marc Prewitt This package provides a drop-in replacement for the nox.session decorator, and for the nox.Session object passed to user-defined session functions. Comes from Claudio Jolowicz's hypermodern python cookiecutter Covered this on Talk Python: talkpython.fm/episodes/show/362/hypermodern-python-projects This session performs the following steps: Build a wheel from the local package. Install the wheel as well as the pytest package. Invoke pytest to run the test suite against the installation. Consider what would happen in this session if we had imported @session from nox instead of nox_poetry: Package dependencies would only be constrained by the wheel metadata, not by the lock file. In other words, their versions would not be pinned. The pytest dependency would not be constrained at all. Poetry would be installed as a build backend every time. Extras Brian: Sharing is Caring: Sharing pytest fixtures talk availabe at about 2:40:58 on Day 2 video of PyCascades 2023. Also full Day 1 and Day 2 Michael: Wired connection to remote mesh router == wow! Using the Linksys Atlas Max 6E Joke: UnsafeWarnings
What are you waiting for? It's time to take a break to a relaxing getaway nestled in the Ozark Mountains where fall colors will be popping! Host Byron Tyler and co-host Lynn Berry from ExploreBranson.com take you on a vacation travel tour as they welcome Jody Madaras from the All Hands On Deck Show, Taylor Chamberlain with the Aquarium at the Boardwalk, and three-time Emmy Award-winning classical crossover, trio vocal group Marcus Collins, JC Fisher, and John Hagen, know as, “The Texas Tenors”. These are only a few attractions and entertainment waiting for you in Branson, MO.
Watch the live stream: Watch on YouTube About the show Sponsored by the IRL Podcast from Mozilla Michael #1: Careful with that PyPI email via John Hagen There is a widespread Phishing attack going on against PyPI users. The PyPA is currently tweeting about it: https://twitter.com/pypi/status/1562442188285308929 Brian #2: IEEE Top Programming Languages 2022 : Python's still No. 1, but employers love to see SQL skills by Stephen Cass Related: The Rise of SQL It's become the second programming language everyone needs to know by Rina Diane Caballar Good to see Python on top for Spectrum and Trending But interesting to see growth and strength in SQL SQL is actually top for Jobs SQL is a skill you can't ignore. Not only are relational databases just as important for large systems, they're increasingly more important for small and even local systems, and are ever growing the responsibility of developers, not left to database specialists. Will #3: Using Mypy in production at Spring by Charlie Marsh Michael #4: Django 4.1 Yes, I'm a bit slow to notice this, from August 3, 2022. Big deal for us async folks! Asynchronous ORM interface: QuerySet now provides an asynchronous interface for all data access operations. Asynchronous handlers for class-based views: View subclasses may now define async HTTP method handlers: Also: Validation of Constraints: Check, unique, and exclusion constraints defined in the Meta.constraints option are now checked during model validation. Check out Chris' Django: Getting Started course at Talk Python. Brian #5: You Should Be Using Python's Walrus Operator - Here's Why by Martin Heinz A fun look at some places where I've never considered using := Examples reusing a value while building a list regular expression match results cleaning up while loops (ok, that I'm using already, but it's great) accumulating data in place named values in f-strings for multiple formatting. wow, super cool. … Will #6: Humre By Al Sweigart Author of "Automate the Boring Stuff with Python" Human readable regular expressions§ Joke: Password PR
Here's our final show in the series, Summer Vacation to Branson with Lynn Berry, Director of Communications at Branson/Lakes Area Chamber of Commerce and Convention & Visitors Bureau co-host with Byron Tyler in this four of four-part series to help plan vacations in Branson this summer. Guests on this episode include Craig Wescott of Track Family Fun Parks, Jody Madaras of All Hands On Deck, and The Texas Tenors, Marcus Collins, JC Fisher, and John Hagen.
Alaska artists explore the intersection of environmental observation and nostalgia in a group show, “Sound of Wind and Grass,” featuring photographs by John Hagen, cyanotype, drawing and collage by Kristin Link and video audio art by Michael Walsh.
Watch the live stream: Watch on YouTube About the show Sponsored by us: Check out the courses over at Talk Python And Brian's book too! Special guest: Ethan Swan Michael #0: Changing themes to DIY Brian #1: SQLFluff Suggested by Dave Kotchessa. A SQL Linter, written in Python, tested with pytest Configurable, and configuration can live in many places including tox.ini and pyproject.toml. Great docs Rule reference with anti-pattern/best practice format Includes dialects for ANSI, PostgreSQL, MySQL, Teradata, BigQuery, Snoflake Note in docs: “SQLFluff is still in an open alpha phase - expect the tool to change significantly over the coming months, and expect potentially non-backward compatible api changes to happen at any point.” Michael #2: JupyterLab Desktop JupyterLab App is the cross-platform standalone application distribution of JupyterLab. Bundles a Python environment with several popular Python libraries ready to use in scientific computing and data science workflows. JupyterLab App works on Debian and Fedora based Linux, macOS and Windows operating systems. Ethan #3: Requests Cache Create a requests_cache session and call HTTP methods from there You can also do it without a session but that's a bit weird, looks like it's monkey patching requests or something… Results are cached Very handy for repeatedly calling endpoints especially if the returned data is large, or the server has to do some compute Reminds me of @functools.lru_cache Can set things like how long the cache should last (when to invalidate) Funny easter egg in example: “# Cache 400 responses as a solemn reminder of your failures” Brian #4: pypi-rename This is a cookiecutter template from Simon Willison Backstory: To refresh my memory on how to publish a new package with flit I created a new pytest plugin. Brian Skinn noticed it somehow, and suggested a better name. Thanks Brian. So, how to nicely rename. I searched and found Simon's template, which is… A cookiecutter template. So you can use cookiecutter to do some of this work for you. But it's based on setuptools, and I kinda like flit lately, so I just used the instructions. The README.md includes instructions for the steps needed: Create renamed version Publish under new name Change old one to depend on new one, but be mostly empty Modify readme to tell people what's going on Publish old name as a notice Now people looking for old one will find new one. People just installing old one will end up with new one also since it's a dependency. Michael #5: Django 4 coming with Redis Adapter #33012 closed New feature (fixed) → Add a Redis cache backend. Adds support for Redis to be used as a caching backend with Django. Redis is the most popular caching backend, adding it to django.core.cache module would be a great addition for developers who previously had to rely on the use of third party packages. It will be simpler than that provided by django-redis, for instance customising the serialiser is out-of-scope for the initial pass. Ethan #6: PEP 612 It wasn't possible to type a function that took in a function and returned a function with the same signature (which is what many decorators do) This creates a ParamSpec – which is much like a TypeVar, for anyone who has used them to type generic functions/classes It's a reminder that typing is still missing features and evolving, and it's good to accept the edge cases for now – “gradual typing” Reading Fluent Python by Ramalho has influenced my view on this – don't lose your mind trying to type crazy stuff, just accept that it's “gradual” Mention how typing is still evolving in Python and it's good to keep an eye out for new features that help you (see also PEP 645 – using int? for Optional[int]; and PEP 655 – annotating some TypedDict keys as required and others not required) Extras Michael Earsketch Django Critical CVE: CVE-2021-35042 Vulnerable versions: >= 3.0.0, < 3.1.13 Patched version: 3.1.13 Django 3.1.x before 3.1.13 and 3.2.x before 3.2.5 allows QuerySet.order_by SQL injection if order_by is untrusted input from a client of a web application. Ethan Pedalboard I happened upon this project recently and checked back, only to see that Brett Cannon was the last committer! A doc fix, like he suggested last episode Brian Zero Cost Exceptions in Python 3.11 Suggested by John Hagen Guido, Mark Shannon, and others at Microsoft are working on speeding up Python faster-cpython/ideas repo includes a slide deck from Guido which includes “Zero overhead” exception handling. Python 3.11 “What's New” page, Optimizations section includes: “Zero-cost” exceptions are implemented. The cost of try statements is almost eliminated when no exception is raised. (Contributed by Mark Shannon in bpo-40222.) MK: I played with this a bit. Joke: QA 101
Watch the live stream: Watch on YouTube About the show Sponsored by us: Check out the courses over at Talk Python And Brian's book too! Special guest: David Smit Brain #1: mktestdocs Vincent D. Warmerdam Tutorial with videos Utilities to check for valid Python code within markdown files and markdown formatted docstrings. Example: import pathlib import pytest from mktestdocs import check_md_file @pytest.mark.parametrize('fpath', pathlib.Path("docs").glob("**/*.md"), ids=str) def test_files_good(fpath): check_md_file(fpath=fpath) This will take any codeblock that starts with ```python and run it, checking for any errors that might happen. Putting assert statements in the code block will actually check things. Other examples in README.md for markdown formatted docstrings from functions and classes. Suggested usage is for code in mkdocs documentation. I'm planning on trying it with blog posts. Michael #2: Redis powered queues (QR3) via Scot Hacker QR queues store serialized Python objects (using cPickle by default), but that can be changed by setting the serializer on a per-queue basis. There are a few constraints on what can be pickled, and thus put into queues Create a queue: bqueue = Queue('brand_new_queue_name', host='localhost', port=9000) Add items to the queue >> bqueue.push('Pete') >> bqueue.push('John') >> bqueue.push('Paul') >> bqueue.push('George') Getting items out >> bqueue.pop() 'Pete' Also supports deque, or double-ended queue, capped collections/queues, and priority queues. David #3: 25 Pandas Functions You Didn't Know Existed Bex T So often, I come across a pandas method or function that makes me go “AH!” because it saves me so much time and simplifies my code Example: Transform Don't normally like these articles, but this one had several “AH” moments between styler options convert dtypes mask nasmallest, nalargest clip attime Brian #4: FastAPI and Rich Tracebacks in Development Hayden Kotelman Rich has, among other cool features, beautiful tracebacks and logging. FastAPI makes it easy to create web API's This post shows how to integrate the two for API's that are easy to debug. It's really only a few simple steps Create a dataclass for the logger config. Create a function that will either install rich as the handler (while not in production) or use the production log configuration. Call logging.basicConfig() with the new settings. And possibly override the logger for Uvicorn. Article contains all code necessary, including examples of the resulting logging and tracebacks. Michael #5: Dev in Residence I am the new CPython Developer in Residence Report on first week Łukasz Langa: “When the PSF first announced the Developer in Residence position, I was immediately incredibly hopeful for Python. I think it's a role with transformational potential for the project. In short, I believe the mission of the Developer in Residence (DIR) is to accelerate the developer experience of everybody else.” The DIR can: providing a steady review stream which helps dealing with PR backlog; triaging issues on the tracker dealing with issue backlog; being present in official communication channels to unblock people with questions; keeping CI and the test suite in usable state which further helps contributors focus on their changes at hand; keeping tabs on where the most work is needed and what parts of the project are most important. David #6: Dagster Dagster is a data orchestrator for machine learning, analytics, and ETL Great for local development that can be deployed on Kubernetes, etc Dagit provides a rich UI to monitor the execution, view detailed logs, etc Can deploy to Airflow, Dask, etc Quick demo? References https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/ https://softwareengineeringdaily.com/2019/11/15/dagster-with-nick-schrock/ Extras Michael: Get a vaccine, please. Python 3.10 Type info ---- er Make the 3.9, thanks John Hagen. Here is a quick example. All of these are functionally equivalent to PyCharm/mypy: # Python 3.5-3.8 from typing import List, Optional def fun(l: Optional[List[str]]) -> None: # Python 3.9+ from typing import Optional def fun(l: Optional[list[str]]) -> None: # Python 3.10+ def fun(l: list[str] | None) -> None: Note how with 3.10 we no longer need any imports to represent this type. David: Great SQL resource Joke: Pray
Watch the live stream: Watch on YouTube About the show Sponsored by us: Check out the courses over at Talk Python And Brian's book too! Special guest: Nick Muoh Brain #1: ormar : an async mini ORM for Python, with support for Postgres, MySQL, and SQLite. suggested by John Hagen From John: “It's a really cool ORM that combines Pydantic models and SQL models into a single definition. What is great about this, is it can be used to reduce repetitive duplication between Models for an ORM and the Pydantic Models that FastAPI needs to describe serialization. … If you have very pure-data heavy abstractions where your input and outputs through the API are roughly equivalent to your database, this helps you avoid needing to duplicate tons of SQLAlchemy classes and Pydantic that look identical and now you need to keep them in sync (DRY issue).” Michael #2: No module named via Garett Dunn Website: nomodulenamed.com Get an error like Python Error: No module named dateutil, maybe you need pip install python_dateutil (reference) Nick #3: JupyterLite Jeremy Tuloup JupyterLite is a JupyterLab distribution that runs entirely in the browser built from the ground-up using JupyterLab components and extensions. Python kernel backed by Pyodide running in a Web Worker Kernels include Python 3.8 (pyolite implementation) Javascript P5.js Data is written to in-browser storage Data doesn't leave the browser unless you are using extensions or use browser's fetch API Brian #4: Lot of plots Dylan Castillo Side by side comparison of plots. with: pandas, matplotlib, seaborn, plotly.express plotting: line, grouped bars, stacked bars, area, pie/donut, histogram, scatter, and box Many plotting articles talk about cool stuff you can do with a particular library. This is nice in that they all can do these things, so you can see the output of each and compare see the code that goes into making each, and see what style of api you might like to work with Michael #5: Monty, Mongo tinified. MongoDB implemented in Python Monty, Mongo tinified. MongoDB implemented in Python Inspired by TinyDB and it's extension TinyMongo A pure Python-implemented database that looks and works like MongoDB.
Watch the live stream: Watch on YouTube About the show Sponsored by Sentry: Sign up at pythonbytes.fm/sentry And please, when signing up, click Got a promo code? Redeem and enter PYTHONBYTES Special guest: Mike Groves Michael #1: Textual Textual (Rich.tui) is a TUI (Text User Interface) framework for Python using Rich as a renderer. Rich TUI will integrate tightly with its parent project, Rich. This project is currently a work in progress and may not be usable for a while. Brian #2: Pinning application dependencies with pip-tools compile via John Hagen pip-tools has more functionality than this, but compile alone is quite useful Start with a loose list of dependencies in requirements.in: rich Can have things like >= and such if you have fixed dependencies. Now pip install pip-tools, and pip-compile requirements.in or python -m piptools compile requirements.in both have same effect. Now you'll have a requirements.txt file with pinned dependencies: # autogenerated by: pip-compile requirements.in click==7.1.2 # via typer colorama==0.4.4 # via rich commonmark==0.9.1 # via rich pygments==2.9.0 # via rich rich==10.2.2 # via -r requirements.in typer==0.3.2 # via -r requirements.in Now, do the same with a dev-requirements.ini to create dev-requirements.txt. Then, of course: - `pip install -r requirements.txt` - `pip install -r dev-requirements.txt` - And test your application. - All good? Push changes. To force pip-compile to update all packages in an existing requirements.txt, run pip-compile --upgrade. John provided an example project that uses this workflow: python-blueprint Mike #3: Pynguin Automated test generation Pynguin is a framework that allows automated unit test generation for Python. It is an extensible tool that allows the implementation of various test-generation approaches. Michael #4: Python Advisory DB via Brian Skinn A community owned repository of advisories for packages published on pypi.org. Much of the existing set of vulnerabilities are collected from the National Vulnerability Database CVE feed. Vulnerabilities are integrated into the Open Source Vulnerabilities project, which provides an API to query for vulnerabilities. Longer term, we are working with the PyPI team to build a pipeline to automatically get these vulnerabilities [listed] into PyPI. Tracks known security issues with the packages, for example: PYSEC-2020-28.yaml id: PYSEC-2020-28 package: name: bleach ecosystem: PyPI details: In Mozilla Bleach before 3.12, a mutation XSS in bleach.clean when RCDATA and either svg or math tags are whitelisted and the keyword argument strip=False. affects: ranges: - type: ECOSYSTEM fixed: 3.1.2 versions: - '0.1' - 0.1.1 - 0.1.2 - '0.2' ... Brian #5: Function Overloading with singledispatch and multipledispatch by Martin Heinz I kinda avoid using the phrase “The Correct Way to …”, but you do you, Martin. In C/C++, we can overload functions, which means multiple functions with the same name but different parameter types just work. In Python, you can't do that automatically, but you can do it. It's in the stdlib with functools and singledispatch: from functools import singledispatch from datetime import date, time @singledispatch def format(arg): return arg @format.register def _(arg: date): return f"{arg.day}-{arg.month}-{arg.year}" @format.register(time) def _(arg): return f"{arg.hour}:{arg.minute}:{arg.second}" Now format works like two functions: print(format(date(2021, 5, 26))) # 26-5-2021 print(format(time(19, 22, 15))) # 19:22:15 What if you want to switch on the type of multiple parameters? multipledispatch, a third party package, does the trick: from multipledispatch import dispatch @dispatch(list, str) def concatenate(a, b): a.append(b) return a @dispatch(str, str) def concatenate(a, b): return a + b print(concatenate(["a", "b"], "c")) # ['a', 'b', 'c'] print(concatenate("Hello", "World")) # HelloWorld Mike #6: Aiosql Fast Async SQL Template Engine Lightweight replacement for ORM libraries such as SQLAlchemy. Extras Michael SoftwareX Journal, Elsevier has had an open-access software journal, via Daniel Mulkey. There's even a special issue collection on software contributing to gravitational wave discovery. Python 3.10.0b2 is available Django security releases issued: 3.2.4, 3.1.12, and 2.2.24 Talks on YouTube for PyCon 2021. aicsimageio 4.0 released, lots of goodness for bio-image analysis and microscopy, thanks Madison Swain-Bowden. Mike Postponement of PEP 563 in 3.10 Joke Bank robbers A book about Rich
Today I'm joined by Marcus Collins from The Texas Tenors, a fantastic singing group that blends opera, pop and country music in unique vocal arrangements. The Texas Tenors, whose other two members are JC Fisher and John Hagen, were formed in 2009 in order to audition for America's Got Talent. They made it to finals of Season 4 of the show, and became the highest ranking vocal group in the show's history. They also won three Emmys, and until the pandemic hit, were touring extensively all across the US and performed for the tens of thousands of fans. Marcus got me laughing hard in this interview, shares hilarious stories about their experience on America's Got Talent, performing with David Hasselhof, and being mentioned by Barbra Streisand at a private dinner party. If you are not familiar with these guys, check out their performances on YouTube, I promise you've never heard anything like that before... "It's not about making money right now, it's about getting at least a little entertainment to the folks so they can forget about all this." - Marcus Collins Time Stamps: 0:58 - Who are The Texas Tenors. 3:05 - Playing the trailer for The Texas Tenors show. 8:38 - What is unique about their sound. 9:47 - Who are the members of the group. 11:46 - How they were formed in order to audition for America's Got Talent. 21:00 - Where Marcus grew up and where he is based now. 23:00 - Where and how The Texas Tenors work and tour during the pandemic. 32:35 - How Marcus misses going out into the audience during shows. 38:00 - What the group is working on right now and why they are excited about singing in different languages. 43:02 - The experience of singing together for the first time. 48:01 - How it was to participate in America's Got Talent and how the judges reacted. 50:40 - How they performed with David Hasselhoff. 53:20 - Collaborations with other musicians and what makes them proud about winning Emmy's. 1:00:00 - How to get in touch with Marcus and The Texas Tenors. Resources: The Texas Tenors Listen to The Texas Tenors on Spotify Watch The Texas Tenors on YouTube David Hasselhoff and The Texas Tenors Texas Real Food Connect with Marcus Collins: Website Facebook Connect with Patrick Scott Armstrong: Instagram Facebook Email Connect with The Lone Star Plate: Facebook Twitter YouTube Instagram More From The Lone Star Plate: Kree Harrison: American Idol Finalist on Life Before, During and After the Show Texas Hill: The Voice and American Idol Alums Formed a Band! Casey James: Proud of Texas Hill
During the pandemic, Noah has been spending more time with his Dad's biking bro group than with friends his own age. This week the Dummies welcome on John Hagen and Mark Dooley, two hilarious guys Noah has known for ten years, through community theatre and high school, now cycling together every week! They talk hot dog technique, John's stint as a math-focused TV host, and play a game of "Would You Rather: Fitness Edition." This episode's Dumbest Things of the Week concern a crazy flat tire, mistakenly waving back at people, hand sanitizer in the coffee, and an unwelcome Facebook friend request! Check out Noah's NEW song "Kick Your Ass" soundcloud.com/bendernoah/kickyourass Follow the Dummies! @twodummiespodcast on Instagram @twodummiespod on Twitter Noah @bendernoah on Instagram @bendernoah on TikTok @bigtimebender on Twitter Devin @deardev on Instagram @devindevdevindev on TikTok @devinruskin on Twitter NEW EPISODES EVERY TUESDAY! --- Support this podcast: https://anchor.fm/twodummies/support
Sponsored by us! Support our work through: Our courses at Talk Python Training Python Testing with pytest Michael #1: micropython updated via Matt Trentini v1.13 is packed with features and bugfixes including solid asyncio support and tasty BLE improvements. Heck, we've even got the walrus operator. a new implementation of the uasyncio module which aims to be more compatible with CPython's asyncio module. The main change is to use a Task object for each coroutine, allowing more flexibility to queue tasks in various places, eg the main run loop, tasks waiting on events, locks or other tasks. It no longer requires pre-allocating a fixed queue size for the main run loop. Most code in this repository is now auto-formatted using uncrustify for C code and Black for Python code. BlueKitchen BTstack bindings have been added for the ubluetooth module, as an optional alternative to the NimBLE stack. The unix port can now be built with BLE support using these bindings Other Bluetooth additions include: new events for service/characteristic/ descriptor discovery complete; new events for read done and indicate acknowledgement; and support for active scanning in BLE.gap_scan(). PEP 526 has been (Walrus) There has been an important bug fix when importing ARM machine code from an .mpy file: the system now correctly tracks the executable memory allocated to the machine code so this memory is not reclaimed by the garbage collector. For testing, a multi-instance test runner has been added (see tests/run-multitests.py) which allows running a synchronised test across two or more MicroPython targets. There are breaking changes First release since Dec 19, 2019 Brian #2: respx: A utility for mocking out the Python HTTPX library When using requests, you can mock it with responses. When using httpx, mock with respx. Quick start: import httpx import respx @respx.mock def test_something(): request = respx.post("https://foo.bar/baz/", status_code=201) response = httpx.post("https://foo.bar/baz/") assert request.called assert response.status_code == 201 Documentation includes examples of using respx with both pytest and unittest, including how to set up mocked_api fixtures for pytest. There’s call statistics you can assert on. Ability to raise exceptions, return non-200 status codes, set custom return content. Content can be generated in a callback method. JSON content can be returned Tons of nice options to help test your httpx based application. Michael #3: GetPy - A Vectorized Python Dict/Set The goal of GetPy is to provide the highest performance python dict/set that integrates into the python scientific ecosystem. GetPy is a thin binding to the Parallel Hashmap (https://github.com/greg7mdp/parallel-hashmap.git) which is the current state of the art unordered map/set with minimal memory overhead and fast runtime speed. The binding layer is supported by PyBind11 (https://github.com/pybind/pybind11.git) The gp.Dict and gp.Set objects are designed to maintain a similar interface to the corresponding standard python objects. Simple example: - import getpy as gp key_type = np.dtype('u8') value_type = np.dtype('u8') keys = np.random.randint(1, 1000, size=10**2, dtype=key_type) values = np.random.randint(1, 1000, size=10**2, dtype=value_type) gp_dict = gp.Dict(key_type, value_type) gp_dict[keys] = values Brian #4: isort and black now play nice together easily Contributed by John Hagen isort “sorts your imports, so you don’t have to” black reformats all of your code to a consistent code style, including import statements There is a config page on black documentation that shows how to set isort to be compatible with black. It also shows how to make flake8 and pylint play nice with black, but they are less complicated. Now, however, with isort 5 introduction of built in profiles, you can just use isort --``profile black . and the profile sets everything for you. There’s a profile page for isort that describes all that it does. Other profiles include: django, pycharm, google, open_stack, plone, attrs, hug And as always, you can configure your own with config files. Michael #5: Scientists rename human genes to stop Microsoft Excel from misreading them as dates Via Chris Moffitt There are tens of thousands of genes in the human genome Each gene is given a name and alphanumeric code, known as a symbol, which scientists use to coordinate research. Over the past year or so, some 27 human genes have been renamed, all because Microsoft Excel kept misreading their symbols as dates. Excel is regularly used by scientists to track their work and even conduct clinical trials. But its default settings were designed with more mundane applications in mind, so when a user inputs a gene’s alphanumeric symbol into a spreadsheet, like MARCH1 — short for “Membrane Associated Ring-CH-Type Finger 1” — Excel converts that into a date: 1-Mar. One study from 2016 examined genetic data shared alongside 3,597 published papers and found that roughly one-fifth had been affected by Excel errors. See 12 of the Biggest Spreadsheet Fails in History for more examples: https://blogs.oracle.com/smb/10-of-the-costliest-spreadsheet-boo-boos-in-history The scientific body in charge of standardizing the names of genes, the HUGO Gene Nomenclature Committee, published new guidelines for gene naming. From now on human genes and the proteins they expressed will be named with one eye on Excel’s auto-formatting. Check out the Excel to Python course and webcast to escape this. Brian #6: Never Run ‘python’ In Your Downloads Folder by Glyph This is really a nice, short tutorial on how sys.path is populated, why you should care, and why you need to make sure it’s only trusted locations. “downloads” is definitely not trusted. So never, ever, ever run python from the downloads directory, even with python -m something, as that adds the download dir to the include path. Example includes a demonstration of malicious js code that downloads a fake pip.py to your downloads folder, so when you call python -m pip install ./legit_package.whl you get the fake pip. Further examples show how you need to be vigilant to check your dot files for weird PYTHONPATH extensions and additions. Extras: Michael: We recently passed 5,000,000 downloads of the audio files over at Python Bytes and are the 130th most popular tech podcast in the world. Thank you everyone! Got a new LinkSys WiFi 6 mesh router, and wow, highly recommended. Joke Are you a real programmer? Check with XKCD to find out.
August 7, 2020: A century ago, Congress ratified the 19th Amendment. Women have accomplished a lot with their political power since 1920. And yet...no woman has been elected as president. And few women hold higher office in Vermont. So, what does that say about women's political power in 2020? John Hagen joins the show. Theme music by http://rhtt.net (Red Heart the Ticker)
A quick look at the relationship of truth & love, as seen in the lives of dear lady's children. Wait...what? Listen today! #raisedwithjesus #welstoledo #jesusfortoledo All our links can be found here: bit.ly/raisedwithjesus . . . Show Notes Click here to find a nearby congregation or church home. yearbook.wels.net Bookmark: bit.ly/biblebookmark2 Facebook: Raised with Jesus www.facebook.com/raisedwithjesus Contact Pastor Hagen with questions, suggestions, or improvements: (419) 262-8280 pastorhagen@icloud.com Instagram: @raisedwithjesus http://instagram.com/raisedwithjesus/ Twitter: @raisedwithjesus http://twitter.com/raisedwithjesus Resurrection - Maumee: Worship on Sundays at 9:00 AM. Bible class & Sunday School follow at 10:20 AM. 2250 S. Holland Sylvania Rd - Maumee, OH (419) 262-8280 Zion - Toledo: 3360 Nebraska Ave Worship on Sunday mornings at 10 AM, followed by 11:15 AM Bible Class Hosanna - Monclova: Sunday morning 9 AM Bible class, 10:15 AM Worship 8353 Monclova Rd +++++++++++++++++++++++++ Do you have questions, or want more discussion on a topic? Text Rev. Peter Hagen: (419) 262-8280 Or email: pastorhagen@icloud.com Monday-Friday: Bible reading with brief commentary Saturday Study Podcast: Longer audio from an outside source Sunday Sunday Preview: Preview of the day’s worship service, focusing on the gospel lesson & its theme. All rights reserved. Produced 2020 by Pastor Hagen Many thanks to Joseph McDade and Koine for the free usage of their music. Support them here: www.koinemusic.com https://josephmcdade.com/music All outside audio sources have been listed, and are believed to be used properly under standard academic usage. Please let Pastor Hagen know if an error or omission has been made in that regard. Find us online: www.resurrectionmaumee.com www.raisedwithjesus.com Facebook: Resurrection Maumee www.facebook.com/resurrectionmaumee Youtube: Search for “Resurrection Maumee” https://www.youtube.com/channel/UCPssBIBdaISa_slxz2Knozw Image used with permission from http://jtbarts.com/gallery/the-word-of-god-series/psalm-119-105-lamp-to-my-feet-light-to-my-path/ EHV - Evangelical Heritage Version (New Testament & Psalms) copyright 2017. Used by permission.
In our latest episode we talk with our friend Shinobu Kato about making home brew Sake, and why he’s starting a Sake Brewery in Brooklyn NY. John Hagen brings you his latest Style Corner and discusses what makes a great Barley Wine. Finally, we talk with Bitter & Esters employee Toby Benjamin about the Pros […]
This week Jeremy talks with the Cast of The Twin City Players' production of "The Complete Works of William Shakespeare (abridged), and also to John Hagen of the Texas Tenors.
This week Jeremy talks with the Cast of The Twin City Players' production of "The Complete Works of William Shakespeare (abridged), and also to John Hagen of the Texas Tenors.
How, exactly, does one know that he is a “light lyric tenor,” or a “Spinto tenor,” or a “dramatic tenor”? Is there like, a Tenor Task Team? Two members of the Texas Tenors – JC Fisher and John Hagen – teach the types of tenor to us. We also learn about “classical crossover” music and why it is a gateway drug, turning innocent classical music newbies into addicts by the thousands. By the way, if you like this episode, check out the Texas Tenors on Houston Public Media TV 8 Monday August 7, 2017 (local PBS show times here). Music in this episode: “La donna è mobile”, by The Three Tenors, from the Three Tenors in Concert, Los Angeles (1994) “Celeste Aida”, by Giuseppe Verdi, performed by Giuseppe Giacomini Tosca, by Giacomo Puccini, performed by Luciano Pavarotti (James Levine on piano) Otello, by Giuseppe Verdi, performed by Placido Domingo “Principe più non se” from La Cenerentola by Gioachino Rossini, performed by Juan Diego Florez with Los Angeles Philharmonic “Vesti la Giubba” from Pagliacci by Ruggero Leoncavallo, performed by Luciano Pavarotti La Boheme by Giacomo Puccini, performed Andrea Bocelli “Nessun Dorma” from Turandot by Giacomo Puccini, performed by Franco Corelli “Nessun Dorma” from Turandot by Giacomo Puccini, performed by the Texas Tenors Audio production by Todd “Tenortastic” Hulslander with scads of squillo from Dacia Clay.
Take in tenor types with two of the Texas Tenors. How, exactly, does one know that he is a “light lyric tenor,” or a “Spinto tenor,” or a “dramatic tenor”? Is there like, a Tenor Task Team? Two members of the Texas Tenors – JC Fisher and John Hagen – teach the types of tenor to us. We also learn about “classical crossover” music and why it is a gateway drug, turning innocent classical music newbies into addicts by the thousands. By the way, if you like this episode, check out the Texas Tenors on Houston Public Media TV 8 Monday August 7, 2017 (local PBS show times here). Music in this episode: “La donna è mobile”, by The Three Tenors, from the Three Tenors in Concert, Los Angeles (1994) “Celeste Aida”, by Giuseppe Verdi, performed by Giuseppe Giacomini Tosca, by Giacomo Puccini, performed by Luciano Pavarotti (James Levine on piano) Otello, by Giuseppe Verdi, performed by Placido Domingo “Principe più non se” from La Cenerentola by Gioachino Rossini, performed by Juan Diego Florez with Los Angeles Philharmonic “Vesti la Giubba” from Pagliacci by Ruggero Leoncavallo, performed by Luciano Pavarotti La Boheme by Giacomo Puccini, performed Andrea Bocelli “Nessun Dorma” from Turandot by Giacomo Puccini, performed by Franco Corelli “Nessun Dorma” from Turandot by Giacomo Puccini, performed by the Texas Tenors Audio production by Todd “Tenortastic” Hulslander with scads of squillo from Dacia Clay.