The Salt of the Land and the Light of the World

00:00
00:00

Sermon on the Mount E8 – Why does Jesus call his followers salt and light? In the Hebrew Bible, salt is a metaphor for God’s long-lasting covenant with Israel, connected to priestly sacrifices, ritual purity, and social bonds. And the Hebrew word for light, or, shares a wordplay with torah, meaning God’s wise instruction. God’s wisdom given in the Torah is a light for Israel that they are called to share with the nations. In this episode, Jon and Tim discuss the meanings of salt and light, showing how Jesus applies these covenant words to his new community of followers.View more resources on our website →Timestamps Chapter 1: The Meaning of Salt and Light in the Bible (0:00-9:29)Chapter 2: A Key Hebrew Wordplay Between “Light” and “Instruction” (9:29-11:49)Chapter 3: Light and God’s Torah in the Book of Isaiah (11:49-29:21)Chapter 4: Salt and Light as Metaphors for the Covenant (29:21-46:29)Referenced ResourcesMatthew 1-7: Volume 1 (International Critical Commentary) by W.D Davies, Dale C. Allison Jr., and Christopher M. Tuckett The Sermon on the Mount and Human Flourishing: A Theological Commentary by Jonathan T. PenningtonCheck out Tim’s library here.You can experience our entire library of resources in the BibleProject app, available for Android and iOS.Show Music Original Sermon on the Mount music by Richie KohenBibleProject theme song by TENTSShow CreditsDan Gummel is the creative producer for today’s show, and Tim Mackie is the lead scholar. Production of today’s episode is by Lindsey Ponder, producer; Cooper Peltz, managing producer; Colin Wilson, producer; and Stephanie Tam, consultant and editor. Tyler Bailey is our audio editor and engineer, and he provided the sound design and mix. JB Witty does our show notes, and Hannah Woo provides the annotations for our app. Special thanks to Jonathan Penngington. Today’s hosts are Jon Collins and Michelle Jones.Powered and distributed by Simplecast.

Released on 19 Feb 2024

Share this page...
SettingsRequest history8.3.17PHP Version231msRequest Duration3MBMemory UsageGET podcasts/{podcast}/episodes/{episode}
status
200 OK
full_url
https://premier.amperative.site/podcasts/bibleproject/episodes/the-salt-of-the-land-and-the-light-of...
action_name
podcasts.episodes.show
controller_action
App\Http\Controllers\PodcastEpisodesController@show
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
status
200 OK
full_url
https://premier.amperative.site/podcasts/bibleproject/episodes/the-salt-of-the-land-and-the-light-of...
action_name
podcasts.episodes.show
controller_action
App\Http\Controllers\PodcastEpisodesController@show
uri
GET podcasts/{podcast}/episodes/{episode}
scope_bindings
true
controller
App\Http\Controllers\PodcastEpisodesController@show
file
app/Http/Controllers/PodcastEpisodesController.php:22-38
middleware
web
duration
232ms
peak_memory
4MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:15 [ "host" => array:1 [ 0 => "premier.amperative.site" ] "connection" => array:1 [ 0 => "keep-alive" ] "pragma" => array:1 [ 0 => "no-cache" ] "cache-control" => array:1 [ 0 => "no-cache" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] ]
request_cookies
[]
response_headers
0 of 0
array:3 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 26 Jun 2025 07:17:28 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "ybkOloTKJ6WQYinv0mAZw5RvTmUoClFX9U0gF63f" ]
    • Booting (58.1ms)time
    • Application (173ms)time
    • Routing (3.6ms)
    • 1 x Application (74.81%)
      173ms
      1 x Booting (25.18%)
      58.10ms
      1 x Routing (1.56%)
      3.60ms
      62 templates were rendered
      • 1x templates.podcast-episodes.showshow.blade.php#?blade
      • 1x livewire.section-podcast-playersection-podcast-player.blade.php#?blade
      • 1x components.sections.header-playerheader-player.blade.php#?blade
      • 1x components.sections.header-topheader-top.blade.php#?blade
      • 35x components.iconicon.blade.php#?blade
      • 1x components.player.tracktrack.blade.php#?blade
      • 1x components.modals.modal-confirmationmodal-confirmation.blade.php#?blade
      • 3x components.modals.generic-1generic-1.blade.php#?blade
      • 1x components.sharethissharethis.blade.php#?blade
      • 3x components.cards.episodeepisode.blade.php#?blade
      • 1x components.modals.model-show-signupmodel-show-signup.blade.php#?blade
      • 1x components.recommendations.index-bespokeindex-bespoke.blade.php#?blade
      • 1x components.promotional-blockspromotional-blocks.blade.php#?blade
      • 1x components.sections.footerfooter.blade.php#?blade
      • 2x components.form.inputinput.blade.php#?blade
      • 2x components.form.input-groupinput-group.blade.php#?blade
      • 1x components.layouts.mastermaster.blade.php#?blade
      • 1x components.faviconfavicon.blade.php#?blade
      • 1x components.social-metasocial-meta.blade.php#?blade
      • 1x components.modals.searchsearch.blade.php#?blade
      • 1x components.toast-controllertoast-controller.blade.php#?blade
      • 1x components.modals.model-show-thank-youmodel-show-thank-you.blade.php#?blade
      uri
      GET podcasts/{podcast}/episodes/{episode}
      middleware
      web
      scope_bindings
      true
      controller
      App\Http\Controllers\PodcastEpisodesController@show
      as
      podcasts.episodes.show
      file
      app/Http/Controllers/PodcastEpisodesController.php:22-38
      26 statements were executed (14 duplicates)Show only duplicates86.09ms
      • RedirectMiddleware.php#49premier1.27msselect * from `redirects` where `is_regex` = 1 and `redirects`.`deleted_at` is null
        Bindings
        • 0: 1
        Backtrace
        • app/Http/Middleware/RedirectMiddleware.php:49
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:797
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:776
      • RedirectMiddleware.php#79premier1.27msselect * from `redirects` where `is_regex` = 0 and `match` = '/podcasts/bibleproject/episodes/the-salt-of-the-land-and-the-light-of-the-world' and `is_active` = 1 and `redirects`.`deleted_at` is null limit 1
        Bindings
        • 0: 0
        • 1: /podcasts/bibleproject/episodes/the-salt-of-the-land-and-the-light-of-the-world
        • 2: 1
        Backtrace
        • app/Http/Middleware/RedirectMiddleware.php:79
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:797
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:776
      • DatabaseSessionHandler.php#97premier800μsselect * from `sessions` where `id` = '7BlM5QEor6g1sH0dlrSsClePwRye7EeTvOdGK2Cl' limit 1
        Bindings
        • 0: 7BlM5QEor6g1sH0dlrSsClePwRye7EeTvOdGK2Cl
        Backtrace
        • vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php:97
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:113
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:101
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:85
        • vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:147
      • ContentFamilyTrait.php#42premier1.58msselect * from `podcasts` where `slug` = 'bibleproject' and `is_active` = 1 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: bibleproject
        • 1: 1
        Backtrace
        • app/Models/Traits/ContentFamilyTrait.php:42
        • vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php:61
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:947
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • ContentFamilyTrait.php#59premier36.64msselect * from `podcast_episodes` where `podcast_episodes`.`podcast_id` = 36 and `podcast_episodes`.`podcast_id` is not null and `slug` = 'the-salt-of-the-land-and-the-light-of-the-world' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 36
        • 1: the-salt-of-the-land-and-the-light-of-the-world
        Backtrace
        • app/Models/Traits/ContentFamilyTrait.php:59
        • vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php:56
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:947
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • PromotionalBlockCacheMiddleware.php#24premier2.05msselect * from `promotional_blocks` where (`display_from` is null or `display_from` < '2025-06-26 08:17:28') and (`display_to` is null or `display_to` > '2025-06-26 08:17:28')
        Bindings
        • 0: 2025-06-26 08:17:28
        • 1: 2025-06-26 08:17:28
        Backtrace
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:24
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:23
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • PodcastEpisodesController.php#24premier2.42msselect exists(select * from `brands` where `brands`.`id` is null and `brands`.`deleted_at` is null) as `exists`
        Backtrace
        • app/Http/Controllers/PodcastEpisodesController.php:24
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:259
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • PodcastEpisode.php#193premier840μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 17764 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 17764
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • app/Http/Livewire/SectionPodcastPlayer.php:76
        • app/Http/Livewire/SectionPodcastPlayer.php:31
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#100premier620μsselect * from `podcasts` where `podcasts`.`id` = 36 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 36
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/PodcastEpisode.php:193
        • app/Http/Livewire/SectionPodcastPlayer.php:76
        • app/Http/Livewire/SectionPodcastPlayer.php:31
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • Podcast.php#215premier1.78msselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 36 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 36
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:193
        • app/Http/Livewire/SectionPodcastPlayer.php:76
        • app/Http/Livewire/SectionPodcastPlayer.php:31
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • SectionPodcastPlayer.php#80premier600μsselect * from `listenable_progress_items` where `listenable_progress_items`.`listenable_type` = 'App\Models\PodcastEpisode' and `listenable_progress_items`.`listenable_id` = 17764 and `listenable_progress_items`.`listenable_id` is not null and `user_id` is null limit 1
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 17764
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:80
        • app/Http/Livewire/SectionPodcastPlayer.php:31
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • SectionPodcastPlayer.php#140premier7.87msselect * from `podcast_episodes` where `podcast_id` = 36 and `published_at` < '2024-02-19 08:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 36
        • 1: 2024-02-19 08:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:140
        • app/Http/Livewire/SectionPodcastPlayer.php:33
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • SectionPodcastPlayer.php#150premier13.68msselect * from `podcast_episodes` where `podcast_id` = 36 and `published_at` > '2024-02-19 08:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` asc limit 3
        Bindings
        • 0: 36
        • 1: 2024-02-19 08:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:150
        • app/Http/Livewire/SectionPodcastPlayer.php:34
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • PodcastEpisode.php#193premier1.43msselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 17764 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 17764
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Podcast.php#215premier4.83msselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 36 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 36
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:193
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
      • Setting.php#20premier540μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Setting.php#20premier620μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Setting.php#20premier3.87msselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • PodcastEpisode.php#193premier460μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 17764 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 17764
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • Podcast.php#215premier530μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 36 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 36
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:193
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#100premier480μsselect * from `podcasts` where `podcasts`.`id` = 36 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 36
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • PodcastEpisode.php#100premier500μsselect * from `podcasts` where `podcasts`.`id` = 36 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 36
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • PodcastEpisode.php#100premier430μsselect * from `podcasts` where `podcasts`.`id` = 36 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 36
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • Setting.php#20premier360μsselect * from `settings` where `setting_key` = 'web_login_modal_title' limit 1
        Bindings
        • 0: web_login_modal_title
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      • Setting.php#20premier320μsselect * from `settings` where `setting_key` = 'web_login_modal_subtitle' limit 1
        Bindings
        • 0: web_login_modal_subtitle
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      • Setting.php#20premier300μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      App\Models\Setting
      6Setting.php#?
      App\Models\Podcast
      5Podcast.php#?
      App\Models\PodcastEpisode
      5PodcastEpisode.php#?
      section-podcast-player #oZlyCkiB7RD5Ls9HeJym
      array:5 [ "data" => array:8 [ "podcast" => App\Models\Podcast {#2057 #connection: "mysql...
          _token
          ybkOloTKJ6WQYinv0mAZw5RvTmUoClFX9U0gF63f
          ClearShow all
          Date ↕MethodURLData
          #12025-06-26 08:17:28GET/podcasts/bibleproject/episodes/the-salt-of-the-land-and-the-light-of-the-world6226161