Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
5.61 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.07 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    > How do you binary search for two people arriving, one punches the other, they both leave?\n
    \n
    In the same way the OP talks about it …\n
    \n
    > You don’t watch the whole thing, he said. You use a binary search. You fast forward to halfway, see if the bike is there and, if it is, zoom to three quarters of the way through. But if it wasn’t there at the halfway mark, you rewind to a quarter of the way though. Its very quick. In fact, he had pointed out, if the CCTV footage stretched back to the dawn of humanity it would probably have taken an hour to find the moment of theft.\n
    \n
    Instead of a bike, you look for the aftereffects of a fight happening (chairs knocked down, tables turned over, etc.). You can even look at how many people congregate around the location of the fight before and after the video as a ‘marker’ to the point of time the fight was happening/just finished.\n
    \n
    Edit: One thing we didn’t even mention, AI can also be used these days to notice subtle changes in the video. If a video is a static image of an alley, then two people walk in the alley and fight, even though they leave no traces behind, that moment of the fight is caught on the video with activity/movement. Motion sensor movement, basically.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701390128 {#1769
    date: 2023-12-01 01:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@The_Picard_Maneuver@startrek.website"
    "@charonn0@startrek.website"
    "@CosmicCleric@lemmy.world"
    "@null@slrpnk.net"
    "@Azzu@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2476 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 182649
  -bodyTs: "'activity/movement':227 'aftereffect':123 'ai':176 'alley':199,206 'also':178 'around':144 'arriv':9 'back':96 'basic':231 'behind':215 'bike':48,118 'binari':4,38 'caught':222 'cctv':93 'chair':128 'chang':186 'congreg':143 'dawn':99 'day':182 'didn':172 'edit':168 'etc':134 'even':137,174,209 'fact':86 'fast':41 'fight':126,149,164,208,220 'find':110 'finish':167 'footag':94 'forward':42 'halfway':44,71 'happen':127 'happening/just':166 'hour':108 'human':101 'imag':196 'instead':115 'knock':129 'leav':16,212 'locat':146 'look':120,138 'mani':141 'mark':72 'marker':157 'mention':175 'moment':112,217 'motion':228 'movement':230 'notic':184 'one':10,169 'op':22 'peopl':8,142,202 'point':89,160 'probabl':104 'punch':11 'quarter':58,77 'quick':84 'rewind':74 'said':34 'search':5,39 'see':45 'sensor':229 'static':195 'stretch':95 'subtl':185 'tabl':131 'taken':106 'talk':23 'theft':114 'thing':32,170 'though':81,210 'three':57 'time':162 'trace':214 'turn':132 'two':7,201 'use':36,180 'video':154,189,192,225 'walk':203 'wasn':66 'watch':29 'way':20,61,80 'whole':31 'would':103 'zoom':55"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5708663"
  +editedAt: DateTimeImmutable @1702417133 {#1969
    date: 2023-12-12 22:38:53.0 +01:00
  }
  +createdAt: DateTimeImmutable @1701390128 {#1399
    date: 2023-12-01 01:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    > How do you binary search for two people arriving, one punches the other, they both leave?\n
    \n
    In the same way the OP talks about it …\n
    \n
    > You don’t watch the whole thing, he said. You use a binary search. You fast forward to halfway, see if the bike is there and, if it is, zoom to three quarters of the way through. But if it wasn’t there at the halfway mark, you rewind to a quarter of the way though. Its very quick. In fact, he had pointed out, if the CCTV footage stretched back to the dawn of humanity it would probably have taken an hour to find the moment of theft.\n
    \n
    Instead of a bike, you look for the aftereffects of a fight happening (chairs knocked down, tables turned over, etc.). You can even look at how many people congregate around the location of the fight before and after the video as a ‘marker’ to the point of time the fight was happening/just finished.\n
    \n
    Edit: One thing we didn’t even mention, AI can also be used these days to notice subtle changes in the video. If a video is a static image of an alley, then two people walk in the alley and fight, even though they leave no traces behind, that moment of the fight is caught on the video with activity/movement. Motion sensor movement, basically.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701390128 {#1769
    date: 2023-12-01 01:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@The_Picard_Maneuver@startrek.website"
    "@charonn0@startrek.website"
    "@CosmicCleric@lemmy.world"
    "@null@slrpnk.net"
    "@Azzu@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2476 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 182649
  -bodyTs: "'activity/movement':227 'aftereffect':123 'ai':176 'alley':199,206 'also':178 'around':144 'arriv':9 'back':96 'basic':231 'behind':215 'bike':48,118 'binari':4,38 'caught':222 'cctv':93 'chair':128 'chang':186 'congreg':143 'dawn':99 'day':182 'didn':172 'edit':168 'etc':134 'even':137,174,209 'fact':86 'fast':41 'fight':126,149,164,208,220 'find':110 'finish':167 'footag':94 'forward':42 'halfway':44,71 'happen':127 'happening/just':166 'hour':108 'human':101 'imag':196 'instead':115 'knock':129 'leav':16,212 'locat':146 'look':120,138 'mani':141 'mark':72 'marker':157 'mention':175 'moment':112,217 'motion':228 'movement':230 'notic':184 'one':10,169 'op':22 'peopl':8,142,202 'point':89,160 'probabl':104 'punch':11 'quarter':58,77 'quick':84 'rewind':74 'said':34 'search':5,39 'see':45 'sensor':229 'static':195 'stretch':95 'subtl':185 'tabl':131 'taken':106 'talk':23 'theft':114 'thing':32,170 'though':81,210 'three':57 'time':162 'trace':214 'turn':132 'two':7,201 'use':36,180 'video':154,189,192,225 'walk':203 'wasn':66 'watch':29 'way':20,61,80 'whole':31 'would':103 'zoom':55"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5708663"
  +editedAt: DateTimeImmutable @1702417133 {#1969
    date: 2023-12-12 22:38:53.0 +01:00
  }
  +createdAt: DateTimeImmutable @1701390128 {#1399
    date: 2023-12-01 01:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1378
  +user: Proxies\__CG__\App\Entity\User {#1371 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    > How do you binary search for two people arriving, one punches the other, they both leave?\n
    \n
    In the same way the OP talks about it …\n
    \n
    > You don’t watch the whole thing, he said. You use a binary search. You fast forward to halfway, see if the bike is there and, if it is, zoom to three quarters of the way through. But if it wasn’t there at the halfway mark, you rewind to a quarter of the way though. Its very quick. In fact, he had pointed out, if the CCTV footage stretched back to the dawn of humanity it would probably have taken an hour to find the moment of theft.\n
    \n
    Instead of a bike, you look for the aftereffects of a fight happening (chairs knocked down, tables turned over, etc.). You can even look at how many people congregate around the location of the fight before and after the video as a ‘marker’ to the point of time the fight was happening/just finished.\n
    \n
    Edit: One thing we didn’t even mention, AI can also be used these days to notice subtle changes in the video. If a video is a static image of an alley, then two people walk in the alley and fight, even though they leave no traces behind, that moment of the fight is caught on the video with activity/movement. Motion sensor movement, basically.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701390128 {#1769
    date: 2023-12-01 01:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@The_Picard_Maneuver@startrek.website"
    "@charonn0@startrek.website"
    "@CosmicCleric@lemmy.world"
    "@null@slrpnk.net"
    "@Azzu@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2476 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 182649
  -bodyTs: "'activity/movement':227 'aftereffect':123 'ai':176 'alley':199,206 'also':178 'around':144 'arriv':9 'back':96 'basic':231 'behind':215 'bike':48,118 'binari':4,38 'caught':222 'cctv':93 'chair':128 'chang':186 'congreg':143 'dawn':99 'day':182 'didn':172 'edit':168 'etc':134 'even':137,174,209 'fact':86 'fast':41 'fight':126,149,164,208,220 'find':110 'finish':167 'footag':94 'forward':42 'halfway':44,71 'happen':127 'happening/just':166 'hour':108 'human':101 'imag':196 'instead':115 'knock':129 'leav':16,212 'locat':146 'look':120,138 'mani':141 'mark':72 'marker':157 'mention':175 'moment':112,217 'motion':228 'movement':230 'notic':184 'one':10,169 'op':22 'peopl':8,142,202 'point':89,160 'probabl':104 'punch':11 'quarter':58,77 'quick':84 'rewind':74 'said':34 'search':5,39 'see':45 'sensor':229 'static':195 'stretch':95 'subtl':185 'tabl':131 'taken':106 'talk':23 'theft':114 'thing':32,170 'though':81,210 'three':57 'time':162 'trace':214 'turn':132 'two':7,201 'use':36,180 'video':154,189,192,225 'walk':203 'wasn':66 'watch':29 'way':20,61,80 'whole':31 'would':103 'zoom':55"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5708663"
  +editedAt: DateTimeImmutable @1702417133 {#1969
    date: 2023-12-12 22:38:53.0 +01:00
  }
  +createdAt: DateTimeImmutable @1701390128 {#1399
    date: 2023-12-01 01:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#312
  +icon: Proxies\__CG__\App\Entity\Image {#293 …}
  +name: "programmer_humor@programming.dev"
  +title: "programmer_humor"
  +description: """
    Welcome to Programmer Humor!\n
    \n
    This is a place where you can post jokes, memes, humor, etc. related to programming!\n
    \n
    For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
    \n
    Rules\n
    -----\n
    \n
    - Keep content in english\n
    - No advertisements\n
    - Posts must be related to programming or programmer topics
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 297
  +entryCommentCount: 2799
  +postCount: 1
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729523671 {#320
    date: 2024-10-21 17:14:31.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#284 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
  +entries: Doctrine\ORM\PersistentCollection {#227 …}
  +posts: Doctrine\ORM\PersistentCollection {#185 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
  +bans: Doctrine\ORM\PersistentCollection {#164 …}
  +reports: Doctrine\ORM\PersistentCollection {#150 …}
  +badges: Doctrine\ORM\PersistentCollection {#128 …}
  +logs: Doctrine\ORM\PersistentCollection {#118 …}
  +awards: Doctrine\ORM\PersistentCollection {#107 …}
  +categories: Doctrine\ORM\PersistentCollection {#94 …}
  -id: 100
  +apId: "programmer_humor@programming.dev"
  +apProfileId: "https://programming.dev/c/programmer_humor"
  +apPublicUrl: "https://programming.dev/c/programmer_humor"
  +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
  +apInboxUrl: "https://programming.dev/inbox"
  +apDomain: "programming.dev"
  +apPreferredUsername: "programmer_humor"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1726902871 {#321
    date: 2024-09-21 09:14:31.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1700391429 {#315
    date: 2023-11-19 11:57:09.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details