Goodness, Faithfulness

00:00
00:00

Goodness and faithfulness are greatly interrelated. They both have to do with integrity, with living honestly.
The word integrity is related to integer—a whole number as opposed to a fraction. A person of integrity lives in a unified, not a fractured, way. But today we live in a fragmented world, in which one area of life has one set of values and another area has another set. What does it mean to have a truth-centered life?
Let’s look at 1) what the Bible teaches about truth, and then 2) what the Bible teaches about getting the truth into your life, about becoming a person of goodness and faithfulness.
This sermon was preached by Dr. Timothy Keller at Redeemer Presbyterian Church on March 25, 1990. Series: Fruit of the Spirit. Scripture: 1 John 1:5-2:8.
Today's podcast is brought to you by Gospel in Life, the site for all sermons, books, study guides and resources from Timothy Keller and Redeemer Presbyterian Church. If you've enjoyed listening to this podcast and would like to support the ongoing efforts of this ministry, you can do so by visiting https://gospelinlife.com/give and making a one-time or recurring donation.

Released on 19 Jun 2024

Share this page...
SettingsRequest history8.3.17PHP Version209msRequest Duration3MBMemory UsageGET podcasts/{podcast}/episodes/{episode}
status
200 OK
full_url
https://premier.amperative.site/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/g...
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/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/g...
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:20-36
middleware
web
duration
209ms
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 => "Sat, 28 Jun 2025 08:16:22 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "1BjurnIz59IsrQYtH1BCExc2oCRURfAdG4mOxOzP" ]
    • Booting (73.87ms)time
    • Application (135ms)time
    • Routing (3.24ms)
    • 1 x Application (64.54%)
      135ms
      1 x Booting (35.43%)
      73.87ms
      1 x Routing (1.55%)
      3.24ms
      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:20-36
      26 statements were executed (14 duplicates)Show only duplicates63.29ms
      • RedirectMiddleware.php#49premier880μsselect * 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#79premier590μsselect * from `redirects` where `is_regex` = 0 and `match` = '/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/goodness-faithfulness' and `is_active` = 1 and `redirects`.`deleted_at` is null limit 1
        Bindings
        • 0: 0
        • 1: /podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/goodness-faithfulness
        • 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#97premier590μsselect * from `sessions` where `id` = 's8aplOnxmtWUzvbv6wV1ESbJWk3TDiN7HBp0BEdv' limit 1
        Bindings
        • 0: s8aplOnxmtWUzvbv6wV1ESbJWk3TDiN7HBp0BEdv
        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#42premier790μsselect * from `podcasts` where `slug` = 'timothy-keller-sermons-podcast-by-gospel-in-life' and `is_active` = 1 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: timothy-keller-sermons-podcast-by-gospel-in-life
        • 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.69msselect * from `podcast_episodes` where `podcast_episodes`.`podcast_id` = 40 and `podcast_episodes`.`podcast_id` is not null and `slug` = 'goodness-faithfulness' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: goodness-faithfulness
        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#24premier750μsselect * from `promotional_blocks` where (`display_from` is null or `display_from` < '2025-06-28 09:16:22') and (`display_to` is null or `display_to` > '2025-06-28 09:16:22')
        Bindings
        • 0: 2025-06-28 09:16:22
        • 1: 2025-06-28 09:16:22
        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#22premier470μsselect exists(select * from `brands` where `brands`.`id` is null and `brands`.`deleted_at` is null) as `exists`
        Backtrace
        • app/Http/Controllers/PodcastEpisodesController.php:22
        • 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#195premier870μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 20126 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 20126
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#102premier600μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • Podcast.php#215premier790μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • SectionPodcastPlayer.php#108premier410μsselect * from `listenable_progress_items` where `listenable_progress_items`.`listenable_type` = 'App\Models\PodcastEpisode' and `listenable_progress_items`.`listenable_id` = 20126 and `listenable_progress_items`.`listenable_id` is not null and `user_id` is null limit 1
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 20126
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:108
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • 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#168premier7.99msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` < '2024-06-19 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: 2024-06-19 11:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:168
        • app/Http/Livewire/SectionPodcastPlayer.php:45
        • 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#178premier6.41msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` > '2024-06-19 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` asc limit 3
        Bindings
        • 0: 40
        • 1: 2024-06-19 11:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:178
        • app/Http/Livewire/SectionPodcastPlayer.php:46
        • 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#195premier430μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 20126 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 20126
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • 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#215premier440μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
      • Setting.php#20premier440μ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#20premier340μ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#20premier420μ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
      • PodcastEpisode.php#195premier470μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 20126 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 20126
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:132
        • 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#215premier470μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:132
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#102premier380μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • 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#102premier400μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • 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#102premier450μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • 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#20premier470μ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#20premier340μ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#20premier410μ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 #NYrs64e2kEwL52sQZyvJ
      array:5 [ "data" => array:10 [ "podcast" => App\Models\Podcast {#2051 #connection: "mysq...
          _token
          1BjurnIz59IsrQYtH1BCExc2oCRURfAdG4mOxOzP
          ClearShow all
          Date ↕MethodURLData
          #12025-06-28 09:16:22GET/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/goodness-faithfulness6226161