Light in the Darkness

00:00
00:00

What does Christmas mean?
The Old Testament book of Isaiah helps us come to grips with the riches of Christmas. If I could put it in one sentence, it tells us that Christmas means the unexpected, ultimate light comes through the God-man, which can only be received by grace. 
Let’s look at it: Christmas means 1) God does something unexpected, 2) the salvation has to do with the ultimate light, and 3) the hope you get can only be received as a gift of grace.
This sermon was preached by Dr. Timothy Keller at Redeemer Presbyterian Church on December 8, 2013. Series: Jesus, Our Hope (Advent). Scripture: Isaiah 9:1-7.
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 16 Dec 2024

Share this page...
SettingsRequest history8.3.17PHP Version183msRequest 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/l...
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/l...
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
183ms
peak_memory
46MB
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 => "Wed, 11 Jun 2025 21:44:04 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "B2CyO0wwpd8mM8boXNjYnRtPS7x9m2LBcoRstmw0" ]
    • Booting (55.53ms)time
    • Application (127ms)time
    • Routing (4.82ms)
    • Preparing Response (74.29ms)
    • 1 x Application (69.59%)
      127ms
      1 x Preparing Response (40.64%)
      74.29ms
      1 x Booting (30.38%)
      55.53ms
      1 x Routing (2.64%)
      4.82ms
      58 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
      • 33x 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
      • 1x 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
      21 statements were executed (11 duplicates)Show only duplicates55.98ms
      • RedirectMiddleware.php#49premier1.03msselect * 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:209
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:127
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:807
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:786
      • RedirectMiddleware.php#79premier550μsselect * from `redirects` where `is_regex` = 0 and `match` = '/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/light-in-the-darkness' 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/light-in-the-darkness
        • 2: 1
        Backtrace
        • app/Http/Middleware/RedirectMiddleware.php:79
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:209
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:127
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:807
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:786
      • DatabaseSessionHandler.php#97premier610μsselect * from `sessions` where `id` = 'dGusWfJ44u2zOLtCUb1EYNvR2XvxNGgnBEbgNzmK' limit 1
        Bindings
        • 0: dGusWfJ44u2zOLtCUb1EYNvR2XvxNGgnBEbgNzmK
        Backtrace
        • vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php:97
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:117
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:105
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:89
        • vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:147
      • ContentFamilyTrait.php#42premier830μ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:961
        • vendor/livewire/livewire/src/Features/SupportPageComponents/SupportPageComponents.php:214
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:42
      • ContentFamilyTrait.php#59premier25.15msselect * from `podcast_episodes` where `podcast_episodes`.`podcast_id` = 40 and `podcast_episodes`.`podcast_id` is not null and `slug` = 'light-in-the-darkness' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: light-in-the-darkness
        Backtrace
        • app/Models/Traits/ContentFamilyTrait.php:59
        • vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php:56
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:961
        • vendor/livewire/livewire/src/Features/SupportPageComponents/SupportPageComponents.php:214
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:42
      • PromotionalBlockCacheMiddleware.php#24premier870μsselect * from `promotional_blocks` where (`display_from` is null or `display_from` < '2025-06-11 22:44:04') and (`display_to` is null or `display_to` > '2025-06-11 22:44:04')
        Bindings
        • 0: 2025-06-11 22:44:04
        • 1: 2025-06-11 22:44:04
        Backtrace
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:24
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:427
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:453
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:23
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:209
      • PodcastEpisodesController.php#24premier710μsselect 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:44
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:266
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:212
      • PodcastEpisode.php#193premier1.11msselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\\Models\\PodcastEpisode' and `musicables`.`musicable_id` = 25885 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 25885
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • app/Livewire/SectionPodcastPlayer.php:74
        • app/Livewire/SectionPodcastPlayer.php:29
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
      • PodcastEpisode.php#100premier590μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/PodcastEpisode.php:193
        • app/Livewire/SectionPodcastPlayer.php:74
        • app/Livewire/SectionPodcastPlayer.php:29
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • Podcast.php#215premier750μ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:193
        • app/Livewire/SectionPodcastPlayer.php:74
        • app/Livewire/SectionPodcastPlayer.php:29
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • SectionPodcastPlayer.php#78premier490μsselect * from `listenable_progress_items` where `listenable_progress_items`.`listenable_type` = 'App\\Models\\PodcastEpisode' and `listenable_progress_items`.`listenable_id` = 25885 and `listenable_progress_items`.`listenable_id` is not null and `user_id` is null limit 1
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 25885
        Backtrace
        • app/Livewire/SectionPodcastPlayer.php:78
        • app/Livewire/SectionPodcastPlayer.php:29
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:95
      • SectionPodcastPlayer.php#138premier8.48msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` < '2024-12-16 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: 2024-12-16 11:00:00
        Backtrace
        • app/Livewire/SectionPodcastPlayer.php:138
        • app/Livewire/SectionPodcastPlayer.php:31
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:95
      • SectionPodcastPlayer.php#148premier8.63msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` > '2024-12-16 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` asc limit 3
        Bindings
        • 0: 40
        • 1: 2024-12-16 11:00:00
        Backtrace
        • app/Livewire/SectionPodcastPlayer.php:148
        • app/Livewire/SectionPodcastPlayer.php:32
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:95
      • PodcastEpisode.php#193premier1.02msselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\\Models\\PodcastEpisode' and `musicables`.`musicable_id` = 25885 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 25885
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:38
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:75
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:16
      • Podcast.php#215premier740μ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:193
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:38
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:75
      • Setting.php#20premier660μ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/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:38
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:75
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:16
      • Setting.php#20premier450μ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/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:38
        • vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:75
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:16
      • PodcastEpisode.php#193premier840μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\\Models\\PodcastEpisode' and `musicables`.`musicable_id` = 25885 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 25885
        Backtrace
        • app/Models/PodcastEpisode.php:193
        • app/Livewire/SectionPodcastPlayer.php:102
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:95
      • Podcast.php#215premier760μ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:193
        • app/Livewire/SectionPodcastPlayer.php:102
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:43
      • PodcastEpisode.php#100premier660μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:100
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:194
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:38
      • Setting.php#20premier1.05msselect * 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:124
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/Mechanisms/ExtendBlade/ExtendedCompilerEngine.php:22
      App\Models\Podcast
      3Podcast.php#?
      App\Models\PodcastEpisode
      3PodcastEpisode.php#?
      App\Models\Setting
      3Setting.php#?
      section-podcast-player #5CG5Z2glOLMi39Rtexck
      array:4 [ "data" => array:8 [ "podcast" => App\Models\Podcast {#2301 #connection: "mysql...
          _token
          B2CyO0wwpd8mM8boXNjYnRtPS7x9m2LBcoRstmw0
          ClearShow all
          Date ↕MethodURLData
          #12025-06-11 22:44:04GET/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/light-in-the-darkness582191