GET https://kbin.spritesserver.nl/index.php/m/programmer_humor@programming.dev/t/15325/the-myth-of-type-safety

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 …}
}
30.42 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.06 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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#271
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "the-myth-of-type-safety"
  +title: "the myth of type safety"
  +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
  +body: null
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 20
  +favouriteCount: 229
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701081474 {#2414
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 15325
  -titleTs: "'myth':2 'safeti':5 'type':4"
  -bodyTs: null
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700714606
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8589200"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700628206 {#1793
    date: 2023-11-22 05:43:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#271
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "the-myth-of-type-safety"
  +title: "the myth of type safety"
  +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
  +body: null
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 20
  +favouriteCount: 229
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701081474 {#2414
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 15325
  -titleTs: "'myth':2 'safeti':5 'type':4"
  -bodyTs: null
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700714606
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8589200"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700628206 {#1793
    date: 2023-11-22 05:43:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +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 {#275
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -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 {#269
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#271
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "the-myth-of-type-safety"
  +title: "the myth of type safety"
  +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
  +body: null
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 20
  +favouriteCount: 229
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1701081474 {#2414
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 15325
  -titleTs: "'myth':2 'safeti':5 'type':4"
  -bodyTs: null
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700714606
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8589200"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700628206 {#1793
    date: 2023-11-22 05:43:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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 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
6 DENIED moderate
App\Entity\EntryComment {#4000
  +user: App\Entity\User {#3948 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "It’s all bits in registers at the end of the day, and they all have the only type a bit can have"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1700749259 {#4009
    date: 2023-11-23 15:20:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#3998 …}
  +nested: Doctrine\ORM\PersistentCollection {#3996 …}
  +votes: Doctrine\ORM\PersistentCollection {#3994 …}
  +reports: Doctrine\ORM\PersistentCollection {#3992 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3960 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3964 …}
  -id: 154708
  -bodyTs: "'bit':4,21 'day':12 'end':9 'regist':6 'type':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6056939"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700749259 {#3945
    date: 2023-11-23 15:20:59.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
7 DENIED edit
App\Entity\EntryComment {#4000
  +user: App\Entity\User {#3948 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "It’s all bits in registers at the end of the day, and they all have the only type a bit can have"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1700749259 {#4009
    date: 2023-11-23 15:20:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#3998 …}
  +nested: Doctrine\ORM\PersistentCollection {#3996 …}
  +votes: Doctrine\ORM\PersistentCollection {#3994 …}
  +reports: Doctrine\ORM\PersistentCollection {#3992 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3960 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3964 …}
  -id: 154708
  -bodyTs: "'bit':4,21 'day':12 'end':9 'regist':6 'type':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6056939"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700749259 {#3945
    date: 2023-11-23 15:20:59.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
8 DENIED moderate
App\Entity\EntryComment {#4000
  +user: App\Entity\User {#3948 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "It’s all bits in registers at the end of the day, and they all have the only type a bit can have"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1700749259 {#4009
    date: 2023-11-23 15:20:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#3998 …}
  +nested: Doctrine\ORM\PersistentCollection {#3996 …}
  +votes: Doctrine\ORM\PersistentCollection {#3994 …}
  +reports: Doctrine\ORM\PersistentCollection {#3992 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3960 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3964 …}
  -id: 154708
  -bodyTs: "'bit':4,21 'day':12 'end':9 'regist':6 'type':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6056939"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700749259 {#3945
    date: 2023-11-23 15:20:59.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
9 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
10 DENIED moderate
App\Entity\EntryComment {#4032
  +user: App\Entity\User {#4021 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 53
  +score: 0
  +lastActive: DateTime @1701190041 {#4038
    date: 2023-11-28 17:47:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4037 …}
  +nested: Doctrine\ORM\PersistentCollection {#4036 …}
  +votes: Doctrine\ORM\PersistentCollection {#4027 …}
  +reports: Doctrine\ORM\PersistentCollection {#4030 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
  -id: 149784
  -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5054617"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635274 {#4043
    date: 2023-11-22 07:41:14.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
11 DENIED edit
App\Entity\EntryComment {#4032
  +user: App\Entity\User {#4021 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 53
  +score: 0
  +lastActive: DateTime @1701190041 {#4038
    date: 2023-11-28 17:47:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4037 …}
  +nested: Doctrine\ORM\PersistentCollection {#4036 …}
  +votes: Doctrine\ORM\PersistentCollection {#4027 …}
  +reports: Doctrine\ORM\PersistentCollection {#4030 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
  -id: 149784
  -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5054617"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635274 {#4043
    date: 2023-11-22 07:41:14.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
12 DENIED moderate
App\Entity\EntryComment {#4032
  +user: App\Entity\User {#4021 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 53
  +score: 0
  +lastActive: DateTime @1701190041 {#4038
    date: 2023-11-28 17:47:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4037 …}
  +nested: Doctrine\ORM\PersistentCollection {#4036 …}
  +votes: Doctrine\ORM\PersistentCollection {#4027 …}
  +reports: Doctrine\ORM\PersistentCollection {#4030 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
  -id: 149784
  -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5054617"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635274 {#4043
    date: 2023-11-22 07:41:14.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
13 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
14 DENIED moderate
App\Entity\EntryComment {#4215
  +user: Proxies\__CG__\App\Entity\User {#4216 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "/me laughs in void*"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700635947 {#4213
    date: 2023-11-22 07:52:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4217 …}
  +nested: Doctrine\ORM\PersistentCollection {#4219 …}
  +votes: Doctrine\ORM\PersistentCollection {#4221 …}
  +reports: Doctrine\ORM\PersistentCollection {#4223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
  -id: 149810
  -bodyTs: "'/me':1 'laugh':2 'void':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/4529647"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635947 {#4214
    date: 2023-11-22 07:52:27.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
15 DENIED edit
App\Entity\EntryComment {#4215
  +user: Proxies\__CG__\App\Entity\User {#4216 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "/me laughs in void*"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700635947 {#4213
    date: 2023-11-22 07:52:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4217 …}
  +nested: Doctrine\ORM\PersistentCollection {#4219 …}
  +votes: Doctrine\ORM\PersistentCollection {#4221 …}
  +reports: Doctrine\ORM\PersistentCollection {#4223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
  -id: 149810
  -bodyTs: "'/me':1 'laugh':2 'void':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/4529647"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635947 {#4214
    date: 2023-11-22 07:52:27.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
16 DENIED moderate
App\Entity\EntryComment {#4215
  +user: Proxies\__CG__\App\Entity\User {#4216 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "/me laughs in void*"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700635947 {#4213
    date: 2023-11-22 07:52:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4217 …}
  +nested: Doctrine\ORM\PersistentCollection {#4219 …}
  +votes: Doctrine\ORM\PersistentCollection {#4221 …}
  +reports: Doctrine\ORM\PersistentCollection {#4223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
  -id: 149810
  -bodyTs: "'/me':1 'laugh':2 'void':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.blahaj.zone/comment/4529647"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700635947 {#4214
    date: 2023-11-22 07:52:27.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
17 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
18 DENIED moderate
App\Entity\EntryComment {#4302
  +user: Proxies\__CG__\App\Entity\User {#4303 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4215
    +user: Proxies\__CG__\App\Entity\User {#4216 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4032
      +user: App\Entity\User {#4021 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 53
      +score: 0
      +lastActive: DateTime @1701190041 {#4038
        date: 2023-11-28 17:47:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4037 …}
      +nested: Doctrine\ORM\PersistentCollection {#4036 …}
      +votes: Doctrine\ORM\PersistentCollection {#4027 …}
      +reports: Doctrine\ORM\PersistentCollection {#4030 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
      -id: 149784
      -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5054617"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635274 {#4043
        date: 2023-11-22 07:41:14.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "/me laughs in void*"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700635947 {#4213
      date: 2023-11-22 07:52:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4217 …}
    +nested: Doctrine\ORM\PersistentCollection {#4219 …}
    +votes: Doctrine\ORM\PersistentCollection {#4221 …}
    +reports: Doctrine\ORM\PersistentCollection {#4223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
    -id: 149810
    -bodyTs: "'/me':1 'laugh':2 'void':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.blahaj.zone/comment/4529647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635947 {#4214
      date: 2023-11-22 07:52:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `Object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 11
  +score: 0
  +lastActive: DateTime @1700637176 {#4300
    date: 2023-11-22 08:12:56.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4304 …}
  +nested: Doctrine\ORM\PersistentCollection {#4306 …}
  +votes: Doctrine\ORM\PersistentCollection {#4308 …}
  +reports: Doctrine\ORM\PersistentCollection {#4310 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
  -id: 149856
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700637176 {#4301
    date: 2023-11-22 08:12:56.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
19 DENIED edit
App\Entity\EntryComment {#4302
  +user: Proxies\__CG__\App\Entity\User {#4303 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4215
    +user: Proxies\__CG__\App\Entity\User {#4216 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4032
      +user: App\Entity\User {#4021 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 53
      +score: 0
      +lastActive: DateTime @1701190041 {#4038
        date: 2023-11-28 17:47:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4037 …}
      +nested: Doctrine\ORM\PersistentCollection {#4036 …}
      +votes: Doctrine\ORM\PersistentCollection {#4027 …}
      +reports: Doctrine\ORM\PersistentCollection {#4030 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
      -id: 149784
      -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5054617"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635274 {#4043
        date: 2023-11-22 07:41:14.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "/me laughs in void*"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700635947 {#4213
      date: 2023-11-22 07:52:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4217 …}
    +nested: Doctrine\ORM\PersistentCollection {#4219 …}
    +votes: Doctrine\ORM\PersistentCollection {#4221 …}
    +reports: Doctrine\ORM\PersistentCollection {#4223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
    -id: 149810
    -bodyTs: "'/me':1 'laugh':2 'void':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.blahaj.zone/comment/4529647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635947 {#4214
      date: 2023-11-22 07:52:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `Object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 11
  +score: 0
  +lastActive: DateTime @1700637176 {#4300
    date: 2023-11-22 08:12:56.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4304 …}
  +nested: Doctrine\ORM\PersistentCollection {#4306 …}
  +votes: Doctrine\ORM\PersistentCollection {#4308 …}
  +reports: Doctrine\ORM\PersistentCollection {#4310 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
  -id: 149856
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700637176 {#4301
    date: 2023-11-22 08:12:56.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
20 DENIED moderate
App\Entity\EntryComment {#4302
  +user: Proxies\__CG__\App\Entity\User {#4303 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4215
    +user: Proxies\__CG__\App\Entity\User {#4216 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4032
      +user: App\Entity\User {#4021 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 53
      +score: 0
      +lastActive: DateTime @1701190041 {#4038
        date: 2023-11-28 17:47:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4037 …}
      +nested: Doctrine\ORM\PersistentCollection {#4036 …}
      +votes: Doctrine\ORM\PersistentCollection {#4027 …}
      +reports: Doctrine\ORM\PersistentCollection {#4030 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
      -id: 149784
      -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5054617"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635274 {#4043
        date: 2023-11-22 07:41:14.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "/me laughs in void*"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700635947 {#4213
      date: 2023-11-22 07:52:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4217 …}
    +nested: Doctrine\ORM\PersistentCollection {#4219 …}
    +votes: Doctrine\ORM\PersistentCollection {#4221 …}
    +reports: Doctrine\ORM\PersistentCollection {#4223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
    -id: 149810
    -bodyTs: "'/me':1 'laugh':2 'void':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.blahaj.zone/comment/4529647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635947 {#4214
      date: 2023-11-22 07:52:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `Object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 11
  +score: 0
  +lastActive: DateTime @1700637176 {#4300
    date: 2023-11-22 08:12:56.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4304 …}
  +nested: Doctrine\ORM\PersistentCollection {#4306 …}
  +votes: Doctrine\ORM\PersistentCollection {#4308 …}
  +reports: Doctrine\ORM\PersistentCollection {#4310 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
  -id: 149856
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700637176 {#4301
    date: 2023-11-22 08:12:56.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
21 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
22 DENIED moderate
App\Entity\EntryComment {#4371
  +user: Proxies\__CG__\App\Entity\User {#4372 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4302
    +user: Proxies\__CG__\App\Entity\User {#4303 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4215
      +user: Proxies\__CG__\App\Entity\User {#4216 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4032
        +user: App\Entity\User {#4021 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 53
        +score: 0
        +lastActive: DateTime @1701190041 {#4038
          date: 2023-11-28 17:47:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4037 …}
        +nested: Doctrine\ORM\PersistentCollection {#4036 …}
        +votes: Doctrine\ORM\PersistentCollection {#4027 …}
        +reports: Doctrine\ORM\PersistentCollection {#4030 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
        -id: 149784
        -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5054617"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700635274 {#4043
          date: 2023-11-22 07:41:14.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4032}
      +body: "/me laughs in void*"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700635947 {#4213
        date: 2023-11-22 07:52:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Anders429@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4217 …}
      +nested: Doctrine\ORM\PersistentCollection {#4219 …}
      +votes: Doctrine\ORM\PersistentCollection {#4221 …}
      +reports: Doctrine\ORM\PersistentCollection {#4223 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
      -id: 149810
      -bodyTs: "'/me':1 'laugh':2 'void':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.blahaj.zone/comment/4529647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635947 {#4214
        date: 2023-11-22 07:52:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "Laughs in `Object`"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 11
    +score: 0
    +lastActive: DateTime @1700637176 {#4300
      date: 2023-11-22 08:12:56.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
      "@vzq@lemmy.blahaj.zone"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4304 …}
    +nested: Doctrine\ORM\PersistentCollection {#4306 …}
    +votes: Doctrine\ORM\PersistentCollection {#4308 …}
    +reports: Doctrine\ORM\PersistentCollection {#4310 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
    -id: 149856
    -bodyTs: "'laugh':1 'object':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700637176 {#4301
      date: 2023-11-22 08:12:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700638507 {#4369
    date: 2023-11-22 08:35:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
    "@magic_lobster_party@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4373 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4377 …}
  +reports: Doctrine\ORM\PersistentCollection {#4379 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4381 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4383 …}
  -id: 149891
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5055496"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700638507 {#4370
    date: 2023-11-22 08:35:07.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
23 DENIED edit
App\Entity\EntryComment {#4371
  +user: Proxies\__CG__\App\Entity\User {#4372 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4302
    +user: Proxies\__CG__\App\Entity\User {#4303 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4215
      +user: Proxies\__CG__\App\Entity\User {#4216 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4032
        +user: App\Entity\User {#4021 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 53
        +score: 0
        +lastActive: DateTime @1701190041 {#4038
          date: 2023-11-28 17:47:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4037 …}
        +nested: Doctrine\ORM\PersistentCollection {#4036 …}
        +votes: Doctrine\ORM\PersistentCollection {#4027 …}
        +reports: Doctrine\ORM\PersistentCollection {#4030 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
        -id: 149784
        -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5054617"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700635274 {#4043
          date: 2023-11-22 07:41:14.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4032}
      +body: "/me laughs in void*"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700635947 {#4213
        date: 2023-11-22 07:52:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Anders429@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4217 …}
      +nested: Doctrine\ORM\PersistentCollection {#4219 …}
      +votes: Doctrine\ORM\PersistentCollection {#4221 …}
      +reports: Doctrine\ORM\PersistentCollection {#4223 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
      -id: 149810
      -bodyTs: "'/me':1 'laugh':2 'void':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.blahaj.zone/comment/4529647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635947 {#4214
        date: 2023-11-22 07:52:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "Laughs in `Object`"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 11
    +score: 0
    +lastActive: DateTime @1700637176 {#4300
      date: 2023-11-22 08:12:56.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
      "@vzq@lemmy.blahaj.zone"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4304 …}
    +nested: Doctrine\ORM\PersistentCollection {#4306 …}
    +votes: Doctrine\ORM\PersistentCollection {#4308 …}
    +reports: Doctrine\ORM\PersistentCollection {#4310 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
    -id: 149856
    -bodyTs: "'laugh':1 'object':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700637176 {#4301
      date: 2023-11-22 08:12:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700638507 {#4369
    date: 2023-11-22 08:35:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
    "@magic_lobster_party@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4373 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4377 …}
  +reports: Doctrine\ORM\PersistentCollection {#4379 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4381 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4383 …}
  -id: 149891
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5055496"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700638507 {#4370
    date: 2023-11-22 08:35:07.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
24 DENIED moderate
App\Entity\EntryComment {#4371
  +user: Proxies\__CG__\App\Entity\User {#4372 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4302
    +user: Proxies\__CG__\App\Entity\User {#4303 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4215
      +user: Proxies\__CG__\App\Entity\User {#4216 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4032
        +user: App\Entity\User {#4021 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 53
        +score: 0
        +lastActive: DateTime @1701190041 {#4038
          date: 2023-11-28 17:47:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4037 …}
        +nested: Doctrine\ORM\PersistentCollection {#4036 …}
        +votes: Doctrine\ORM\PersistentCollection {#4027 …}
        +reports: Doctrine\ORM\PersistentCollection {#4030 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
        -id: 149784
        -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://programming.dev/comment/5054617"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700635274 {#4043
          date: 2023-11-22 07:41:14.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4032}
      +body: "/me laughs in void*"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700635947 {#4213
        date: 2023-11-22 07:52:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Anders429@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4217 …}
      +nested: Doctrine\ORM\PersistentCollection {#4219 …}
      +votes: Doctrine\ORM\PersistentCollection {#4221 …}
      +reports: Doctrine\ORM\PersistentCollection {#4223 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4225 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4227 …}
      -id: 149810
      -bodyTs: "'/me':1 'laugh':2 'void':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.blahaj.zone/comment/4529647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700635947 {#4214
        date: 2023-11-22 07:52:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4032}
    +body: "Laughs in `Object`"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 11
    +score: 0
    +lastActive: DateTime @1700637176 {#4300
      date: 2023-11-22 08:12:56.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Anders429@programming.dev"
      "@vzq@lemmy.blahaj.zone"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4304 …}
    +nested: Doctrine\ORM\PersistentCollection {#4306 …}
    +votes: Doctrine\ORM\PersistentCollection {#4308 …}
    +reports: Doctrine\ORM\PersistentCollection {#4310 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4312 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4314 …}
    -id: 149856
    -bodyTs: "'laugh':1 'object':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kbin.social/m/programmer_humor@programming.dev/t/646487/-/comment/3707567"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700637176 {#4301
      date: 2023-11-22 08:12:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: "Laughs in `object`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700638507 {#4369
    date: 2023-11-22 08:35:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
    "@vzq@lemmy.blahaj.zone"
    "@magic_lobster_party@kbin.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4373 …}
  +nested: Doctrine\ORM\PersistentCollection {#4375 …}
  +votes: Doctrine\ORM\PersistentCollection {#4377 …}
  +reports: Doctrine\ORM\PersistentCollection {#4379 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4381 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4383 …}
  -id: 149891
  -bodyTs: "'laugh':1 'object':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5055496"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700638507 {#4370
    date: 2023-11-22 08:35:07.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
25 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
26 DENIED moderate
App\Entity\EntryComment {#4231
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: """
    Yeah, it’s especially bad, when a library doesn’t provide type hints itself. It can be comically difficult to find out what the return type of a function is, because every if-else-branch might have a different return value, so you may need to read the function body in full to figure out what the type might be.\n
    \n
    Add to that, that lots of the tooling around type hints isn’t as fleshed out / useful as it is in fully typed languages and I can definitely understand why someone might not immediately feel like it’s a valuable use of their time.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700700450 {#4229
    date: 2023-11-23 01:47:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4233 …}
  +nested: Doctrine\ORM\PersistentCollection {#4235 …}
  +votes: Doctrine\ORM\PersistentCollection {#4237 …}
  +reports: Doctrine\ORM\PersistentCollection {#4239 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4241 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4243 …}
  -id: 152755
  -bodyTs: "'add':62 'around':70 'bad':5 'bodi':51 'branch':36 'comic':18 'definit':89 'differ':40 'difficult':19 'doesn':9 'els':35 'especi':4 'everi':32 'feel':96 'figur':55 'find':21 'flesh':76 'full':53 'fulli':83 'function':29,50 'hint':13,72 'if-else-branch':33 'immedi':95 'isn':73 'languag':85 'librari':8 'like':97 'lot':66 'may':45 'might':37,60,93 'need':46 'provid':11 'read':48 'return':25,41 'someon':92 'time':105 'tool':69 'type':12,26,59,71,84 'understand':90 'use':78,102 'valu':42 'valuabl':101 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5063421"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700700450 {#4230
    date: 2023-11-23 01:47:30.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
27 DENIED edit
App\Entity\EntryComment {#4231
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: """
    Yeah, it’s especially bad, when a library doesn’t provide type hints itself. It can be comically difficult to find out what the return type of a function is, because every if-else-branch might have a different return value, so you may need to read the function body in full to figure out what the type might be.\n
    \n
    Add to that, that lots of the tooling around type hints isn’t as fleshed out / useful as it is in fully typed languages and I can definitely understand why someone might not immediately feel like it’s a valuable use of their time.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700700450 {#4229
    date: 2023-11-23 01:47:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4233 …}
  +nested: Doctrine\ORM\PersistentCollection {#4235 …}
  +votes: Doctrine\ORM\PersistentCollection {#4237 …}
  +reports: Doctrine\ORM\PersistentCollection {#4239 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4241 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4243 …}
  -id: 152755
  -bodyTs: "'add':62 'around':70 'bad':5 'bodi':51 'branch':36 'comic':18 'definit':89 'differ':40 'difficult':19 'doesn':9 'els':35 'especi':4 'everi':32 'feel':96 'figur':55 'find':21 'flesh':76 'full':53 'fulli':83 'function':29,50 'hint':13,72 'if-else-branch':33 'immedi':95 'isn':73 'languag':85 'librari':8 'like':97 'lot':66 'may':45 'might':37,60,93 'need':46 'provid':11 'read':48 'return':25,41 'someon':92 'time':105 'tool':69 'type':12,26,59,71,84 'understand':90 'use':78,102 'valu':42 'valuabl':101 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5063421"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700700450 {#4230
    date: 2023-11-23 01:47:30.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
28 DENIED moderate
App\Entity\EntryComment {#4231
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4032
    +user: App\Entity\User {#4021 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I’ve seen this same thing happen with Python’s type hints. Turns out giving an “escape hatch” type for devs who have no clue what the type actually is leads to a lot of useless type hints."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 53
    +score: 0
    +lastActive: DateTime @1701190041 {#4038
      date: 2023-11-28 17:47:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4037 …}
    +nested: Doctrine\ORM\PersistentCollection {#4036 …}
    +votes: Doctrine\ORM\PersistentCollection {#4027 …}
    +reports: Doctrine\ORM\PersistentCollection {#4030 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4023 …}
    -id: 149784
    -bodyTs: "'actual':29 'clue':25 'dev':21 'escap':17 'give':15 'happen':7 'hatch':18 'hint':12,38 'lead':31 'lot':34 'python':9 'seen':3 'thing':6 'turn':13 'type':11,19,28,37 'useless':36 've':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5054617"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700635274 {#4043
      date: 2023-11-22 07:41:14.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4032}
  +body: """
    Yeah, it’s especially bad, when a library doesn’t provide type hints itself. It can be comically difficult to find out what the return type of a function is, because every if-else-branch might have a different return value, so you may need to read the function body in full to figure out what the type might be.\n
    \n
    Add to that, that lots of the tooling around type hints isn’t as fleshed out / useful as it is in fully typed languages and I can definitely understand why someone might not immediately feel like it’s a valuable use of their time.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700700450 {#4229
    date: 2023-11-23 01:47:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Anders429@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4233 …}
  +nested: Doctrine\ORM\PersistentCollection {#4235 …}
  +votes: Doctrine\ORM\PersistentCollection {#4237 …}
  +reports: Doctrine\ORM\PersistentCollection {#4239 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4241 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4243 …}
  -id: 152755
  -bodyTs: "'add':62 'around':70 'bad':5 'bodi':51 'branch':36 'comic':18 'definit':89 'differ':40 'difficult':19 'doesn':9 'els':35 'especi':4 'everi':32 'feel':96 'figur':55 'find':21 'flesh':76 'full':53 'fulli':83 'function':29,50 'hint':13,72 'if-else-branch':33 'immedi':95 'isn':73 'languag':85 'librari':8 'like':97 'lot':66 'may':45 'might':37,60,93 'need':46 'provid':11 'read':48 'return':25,41 'someon':92 'time':105 'tool':69 'type':12,26,59,71,84 'understand':90 'use':78,102 'valu':42 'valuabl':101 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5063421"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700700450 {#4230
    date: 2023-11-23 01:47:30.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
29 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
30 DENIED moderate
App\Entity\EntryComment {#4117
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Sounds like you don’t know how to properly use TypeScript…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 66
  +score: 0
  +lastActive: DateTime @1701794905 {#4112
    date: 2023-12-05 17:48:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4118 …}
  +nested: Doctrine\ORM\PersistentCollection {#4120 …}
  +votes: Doctrine\ORM\PersistentCollection {#4122 …}
  +reports: Doctrine\ORM\PersistentCollection {#4124 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
  -id: 149648
  -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493586"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700629402 {#4113
    date: 2023-11-22 06:03:22.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
31 DENIED edit
App\Entity\EntryComment {#4117
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Sounds like you don’t know how to properly use TypeScript…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 66
  +score: 0
  +lastActive: DateTime @1701794905 {#4112
    date: 2023-12-05 17:48:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4118 …}
  +nested: Doctrine\ORM\PersistentCollection {#4120 …}
  +votes: Doctrine\ORM\PersistentCollection {#4122 …}
  +reports: Doctrine\ORM\PersistentCollection {#4124 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
  -id: 149648
  -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493586"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700629402 {#4113
    date: 2023-11-22 06:03:22.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
32 DENIED moderate
App\Entity\EntryComment {#4117
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Sounds like you don’t know how to properly use TypeScript…"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 66
  +score: 0
  +lastActive: DateTime @1701794905 {#4112
    date: 2023-12-05 17:48:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4118 …}
  +nested: Doctrine\ORM\PersistentCollection {#4120 …}
  +votes: Doctrine\ORM\PersistentCollection {#4122 …}
  +reports: Doctrine\ORM\PersistentCollection {#4124 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
  -id: 149648
  -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493586"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700629402 {#4113
    date: 2023-11-22 06:03:22.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
33 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
34 DENIED moderate
App\Entity\EntryComment {#4201
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4117
    +user: App\Entity\User {#4130 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Sounds like you don’t know how to properly use TypeScript…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 66
    +score: 0
    +lastActive: DateTime @1701794905 {#4112
      date: 2023-12-05 17:48:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4118 …}
    +nested: Doctrine\ORM\PersistentCollection {#4120 …}
    +votes: Doctrine\ORM\PersistentCollection {#4122 …}
    +reports: Doctrine\ORM\PersistentCollection {#4124 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
    -id: 149648
    -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700629402 {#4113
      date: 2023-11-22 06:03:22.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 34
  +score: 0
  +lastActive: DateTime @1700630138 {#4202
    date: 2023-11-22 06:15:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4198 …}
  +nested: Doctrine\ORM\PersistentCollection {#4194 …}
  +votes: Doctrine\ORM\PersistentCollection {#4192 …}
  +reports: Doctrine\ORM\PersistentCollection {#4207 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
  -id: 149667
  -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700630138 {#4205
    date: 2023-11-22 06:15:38.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
35 DENIED edit
App\Entity\EntryComment {#4201
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4117
    +user: App\Entity\User {#4130 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Sounds like you don’t know how to properly use TypeScript…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 66
    +score: 0
    +lastActive: DateTime @1701794905 {#4112
      date: 2023-12-05 17:48:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4118 …}
    +nested: Doctrine\ORM\PersistentCollection {#4120 …}
    +votes: Doctrine\ORM\PersistentCollection {#4122 …}
    +reports: Doctrine\ORM\PersistentCollection {#4124 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
    -id: 149648
    -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700629402 {#4113
      date: 2023-11-22 06:03:22.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 34
  +score: 0
  +lastActive: DateTime @1700630138 {#4202
    date: 2023-11-22 06:15:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4198 …}
  +nested: Doctrine\ORM\PersistentCollection {#4194 …}
  +votes: Doctrine\ORM\PersistentCollection {#4192 …}
  +reports: Doctrine\ORM\PersistentCollection {#4207 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
  -id: 149667
  -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700630138 {#4205
    date: 2023-11-22 06:15:38.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
36 DENIED moderate
App\Entity\EntryComment {#4201
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4117
    +user: App\Entity\User {#4130 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Sounds like you don’t know how to properly use TypeScript…"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 66
    +score: 0
    +lastActive: DateTime @1701794905 {#4112
      date: 2023-12-05 17:48:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4118 …}
    +nested: Doctrine\ORM\PersistentCollection {#4120 …}
    +votes: Doctrine\ORM\PersistentCollection {#4122 …}
    +reports: Doctrine\ORM\PersistentCollection {#4124 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
    -id: 149648
    -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493586"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700629402 {#4113
      date: 2023-11-22 06:03:22.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 34
  +score: 0
  +lastActive: DateTime @1700630138 {#4202
    date: 2023-11-22 06:15:38.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4198 …}
  +nested: Doctrine\ORM\PersistentCollection {#4194 …}
  +votes: Doctrine\ORM\PersistentCollection {#4192 …}
  +reports: Doctrine\ORM\PersistentCollection {#4207 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
  -id: 149667
  -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5493754"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700630138 {#4205
    date: 2023-11-22 06:15:38.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
37 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
38 DENIED moderate
App\Entity\EntryComment {#4255
  +user: Proxies\__CG__\App\Entity\User {#4252 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
    \n
    I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700632288 {#4256
    date: 2023-11-22 06:51:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4249 …}
  +nested: Doctrine\ORM\PersistentCollection {#4247 …}
  +votes: Doctrine\ORM\PersistentCollection {#4251 …}
  +reports: Doctrine\ORM\PersistentCollection {#4262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
  -id: 149717
  -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/5081985"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632288 {#4259
    date: 2023-11-22 06:51:28.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
39 DENIED edit
App\Entity\EntryComment {#4255
  +user: Proxies\__CG__\App\Entity\User {#4252 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
    \n
    I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700632288 {#4256
    date: 2023-11-22 06:51:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4249 …}
  +nested: Doctrine\ORM\PersistentCollection {#4247 …}
  +votes: Doctrine\ORM\PersistentCollection {#4251 …}
  +reports: Doctrine\ORM\PersistentCollection {#4262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
  -id: 149717
  -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/5081985"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632288 {#4259
    date: 2023-11-22 06:51:28.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
40 DENIED moderate
App\Entity\EntryComment {#4255
  +user: Proxies\__CG__\App\Entity\User {#4252 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
    \n
    I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700632288 {#4256
    date: 2023-11-22 06:51:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4249 …}
  +nested: Doctrine\ORM\PersistentCollection {#4247 …}
  +votes: Doctrine\ORM\PersistentCollection {#4251 …}
  +reports: Doctrine\ORM\PersistentCollection {#4262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
  -id: 149717
  -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/5081985"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632288 {#4259
    date: 2023-11-22 06:51:28.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
41 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
42 DENIED moderate
App\Entity\EntryComment {#4341
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
    \n
    I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700634024 {#4339
    date: 2023-11-22 07:20:24.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4342 …}
  +nested: Doctrine\ORM\PersistentCollection {#4344 …}
  +votes: Doctrine\ORM\PersistentCollection {#4346 …}
  +reports: Doctrine\ORM\PersistentCollection {#4348 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
  -id: 149757
  -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494471"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700634024 {#4340
    date: 2023-11-22 07:20:24.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
43 DENIED edit
App\Entity\EntryComment {#4341
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
    \n
    I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700634024 {#4339
    date: 2023-11-22 07:20:24.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4342 …}
  +nested: Doctrine\ORM\PersistentCollection {#4344 …}
  +votes: Doctrine\ORM\PersistentCollection {#4346 …}
  +reports: Doctrine\ORM\PersistentCollection {#4348 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
  -id: 149757
  -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494471"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700634024 {#4340
    date: 2023-11-22 07:20:24.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
44 DENIED moderate
App\Entity\EntryComment {#4341
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
    \n
    I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700634024 {#4339
    date: 2023-11-22 07:20:24.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4342 …}
  +nested: Doctrine\ORM\PersistentCollection {#4344 …}
  +votes: Doctrine\ORM\PersistentCollection {#4346 …}
  +reports: Doctrine\ORM\PersistentCollection {#4348 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
  -id: 149757
  -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494471"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700634024 {#4340
    date: 2023-11-22 07:20:24.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
45 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
46 DENIED moderate
App\Entity\EntryComment {#4391
  +user: Proxies\__CG__\App\Entity\User {#4394 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700657905 {#4390
    date: 2023-11-22 13:58:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4398 …}
  +nested: Doctrine\ORM\PersistentCollection {#4400 …}
  +votes: Doctrine\ORM\PersistentCollection {#4396 …}
  +reports: Doctrine\ORM\PersistentCollection {#4402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
  -id: 150357
  -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5061592"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700657905 {#4387
    date: 2023-11-22 13:58:25.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
47 DENIED edit
App\Entity\EntryComment {#4391
  +user: Proxies\__CG__\App\Entity\User {#4394 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700657905 {#4390
    date: 2023-11-22 13:58:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4398 …}
  +nested: Doctrine\ORM\PersistentCollection {#4400 …}
  +votes: Doctrine\ORM\PersistentCollection {#4396 …}
  +reports: Doctrine\ORM\PersistentCollection {#4402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
  -id: 150357
  -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5061592"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700657905 {#4387
    date: 2023-11-22 13:58:25.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
48 DENIED moderate
App\Entity\EntryComment {#4391
  +user: Proxies\__CG__\App\Entity\User {#4394 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700657905 {#4390
    date: 2023-11-22 13:58:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4398 …}
  +nested: Doctrine\ORM\PersistentCollection {#4400 …}
  +votes: Doctrine\ORM\PersistentCollection {#4396 …}
  +reports: Doctrine\ORM\PersistentCollection {#4402 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
  -id: 150357
  -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/5061592"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700657905 {#4387
    date: 2023-11-22 13:58:25.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
49 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
50 DENIED moderate
App\Entity\EntryComment {#4463
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4391
    +user: Proxies\__CG__\App\Entity\User {#4394 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4341
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4255
        +user: Proxies\__CG__\App\Entity\User {#4252 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4201
          +user: Proxies\__CG__\App\Entity\User {#1970 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4117
            +user: App\Entity\User {#4130 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "Sounds like you don’t know how to properly use TypeScript…"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 66
            +score: 0
            +lastActive: DateTime @1701794905 {#4112
              date: 2023-12-05 17:48:25.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4118 …}
            +nested: Doctrine\ORM\PersistentCollection {#4120 …}
            +votes: Doctrine\ORM\PersistentCollection {#4122 …}
            +reports: Doctrine\ORM\PersistentCollection {#4124 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
            -id: 149648
            -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493586"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700629402 {#4113
              date: 2023-11-22 06:03:22.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 34
          +score: 0
          +lastActive: DateTime @1700630138 {#4202
            date: 2023-11-22 06:15:38.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4198 …}
          +nested: Doctrine\ORM\PersistentCollection {#4194 …}
          +votes: Doctrine\ORM\PersistentCollection {#4192 …}
          +reports: Doctrine\ORM\PersistentCollection {#4207 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
          -id: 149667
          -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493754"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700630138 {#4205
            date: 2023-11-22 06:15:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
          \n
          I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 14
        +score: 0
        +lastActive: DateTime @1700632288 {#4256
          date: 2023-11-22 06:51:28.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4249 …}
        +nested: Doctrine\ORM\PersistentCollection {#4247 …}
        +votes: Doctrine\ORM\PersistentCollection {#4251 …}
        +reports: Doctrine\ORM\PersistentCollection {#4262 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
        -id: 149717
        -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/5081985"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700632288 {#4259
          date: 2023-11-22 06:51:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
        \n
        I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1700634024 {#4339
        date: 2023-11-22 07:20:24.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4342 …}
      +nested: Doctrine\ORM\PersistentCollection {#4344 …}
      +votes: Doctrine\ORM\PersistentCollection {#4346 …}
      +reports: Doctrine\ORM\PersistentCollection {#4348 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
      -id: 149757
      -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5494471"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700634024 {#4340
        date: 2023-11-22 07:20:24.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1700657905 {#4390
      date: 2023-11-22 13:58:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4398 …}
    +nested: Doctrine\ORM\PersistentCollection {#4400 …}
    +votes: Doctrine\ORM\PersistentCollection {#4396 …}
    +reports: Doctrine\ORM\PersistentCollection {#4402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
    -id: 150357
    -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5061592"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700657905 {#4387
      date: 2023-11-22 13:58:25.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
    \n
    So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700699470 {#4462
    date: 2023-11-23 01:31:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4471 …}
  +votes: Doctrine\ORM\PersistentCollection {#4467 …}
  +reports: Doctrine\ORM\PersistentCollection {#4473 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
  -id: 152700
  -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5062927"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700699470 {#4459
    date: 2023-11-23 01:31:10.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
51 DENIED edit
App\Entity\EntryComment {#4463
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4391
    +user: Proxies\__CG__\App\Entity\User {#4394 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4341
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4255
        +user: Proxies\__CG__\App\Entity\User {#4252 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4201
          +user: Proxies\__CG__\App\Entity\User {#1970 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4117
            +user: App\Entity\User {#4130 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "Sounds like you don’t know how to properly use TypeScript…"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 66
            +score: 0
            +lastActive: DateTime @1701794905 {#4112
              date: 2023-12-05 17:48:25.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4118 …}
            +nested: Doctrine\ORM\PersistentCollection {#4120 …}
            +votes: Doctrine\ORM\PersistentCollection {#4122 …}
            +reports: Doctrine\ORM\PersistentCollection {#4124 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
            -id: 149648
            -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493586"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700629402 {#4113
              date: 2023-11-22 06:03:22.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 34
          +score: 0
          +lastActive: DateTime @1700630138 {#4202
            date: 2023-11-22 06:15:38.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4198 …}
          +nested: Doctrine\ORM\PersistentCollection {#4194 …}
          +votes: Doctrine\ORM\PersistentCollection {#4192 …}
          +reports: Doctrine\ORM\PersistentCollection {#4207 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
          -id: 149667
          -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493754"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700630138 {#4205
            date: 2023-11-22 06:15:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
          \n
          I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 14
        +score: 0
        +lastActive: DateTime @1700632288 {#4256
          date: 2023-11-22 06:51:28.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4249 …}
        +nested: Doctrine\ORM\PersistentCollection {#4247 …}
        +votes: Doctrine\ORM\PersistentCollection {#4251 …}
        +reports: Doctrine\ORM\PersistentCollection {#4262 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
        -id: 149717
        -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/5081985"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700632288 {#4259
          date: 2023-11-22 06:51:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
        \n
        I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1700634024 {#4339
        date: 2023-11-22 07:20:24.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4342 …}
      +nested: Doctrine\ORM\PersistentCollection {#4344 …}
      +votes: Doctrine\ORM\PersistentCollection {#4346 …}
      +reports: Doctrine\ORM\PersistentCollection {#4348 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
      -id: 149757
      -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5494471"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700634024 {#4340
        date: 2023-11-22 07:20:24.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1700657905 {#4390
      date: 2023-11-22 13:58:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4398 …}
    +nested: Doctrine\ORM\PersistentCollection {#4400 …}
    +votes: Doctrine\ORM\PersistentCollection {#4396 …}
    +reports: Doctrine\ORM\PersistentCollection {#4402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
    -id: 150357
    -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5061592"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700657905 {#4387
      date: 2023-11-22 13:58:25.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
    \n
    So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700699470 {#4462
    date: 2023-11-23 01:31:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4471 …}
  +votes: Doctrine\ORM\PersistentCollection {#4467 …}
  +reports: Doctrine\ORM\PersistentCollection {#4473 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
  -id: 152700
  -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5062927"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700699470 {#4459
    date: 2023-11-23 01:31:10.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
52 DENIED moderate
App\Entity\EntryComment {#4463
  +user: Proxies\__CG__\App\Entity\User {#4232 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4391
    +user: Proxies\__CG__\App\Entity\User {#4394 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4341
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4255
        +user: Proxies\__CG__\App\Entity\User {#4252 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4201
          +user: Proxies\__CG__\App\Entity\User {#1970 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4117
            +user: App\Entity\User {#4130 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "Sounds like you don’t know how to properly use TypeScript…"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 66
            +score: 0
            +lastActive: DateTime @1701794905 {#4112
              date: 2023-12-05 17:48:25.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4118 …}
            +nested: Doctrine\ORM\PersistentCollection {#4120 …}
            +votes: Doctrine\ORM\PersistentCollection {#4122 …}
            +reports: Doctrine\ORM\PersistentCollection {#4124 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
            -id: 149648
            -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493586"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700629402 {#4113
              date: 2023-11-22 06:03:22.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 34
          +score: 0
          +lastActive: DateTime @1700630138 {#4202
            date: 2023-11-22 06:15:38.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4198 …}
          +nested: Doctrine\ORM\PersistentCollection {#4194 …}
          +votes: Doctrine\ORM\PersistentCollection {#4192 …}
          +reports: Doctrine\ORM\PersistentCollection {#4207 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
          -id: 149667
          -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493754"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700630138 {#4205
            date: 2023-11-22 06:15:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
          \n
          I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 14
        +score: 0
        +lastActive: DateTime @1700632288 {#4256
          date: 2023-11-22 06:51:28.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4249 …}
        +nested: Doctrine\ORM\PersistentCollection {#4247 …}
        +votes: Doctrine\ORM\PersistentCollection {#4251 …}
        +reports: Doctrine\ORM\PersistentCollection {#4262 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
        -id: 149717
        -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/5081985"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700632288 {#4259
          date: 2023-11-22 06:51:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
        \n
        I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1700634024 {#4339
        date: 2023-11-22 07:20:24.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4342 …}
      +nested: Doctrine\ORM\PersistentCollection {#4344 …}
      +votes: Doctrine\ORM\PersistentCollection {#4346 …}
      +reports: Doctrine\ORM\PersistentCollection {#4348 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
      -id: 149757
      -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5494471"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700634024 {#4340
        date: 2023-11-22 07:20:24.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1700657905 {#4390
      date: 2023-11-22 13:58:25.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4398 …}
    +nested: Doctrine\ORM\PersistentCollection {#4400 …}
    +votes: Doctrine\ORM\PersistentCollection {#4396 …}
    +reports: Doctrine\ORM\PersistentCollection {#4402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
    -id: 150357
    -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://programming.dev/comment/5061592"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700657905 {#4387
      date: 2023-11-22 13:58:25.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
    \n
    So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700699470 {#4462
    date: 2023-11-23 01:31:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4466 …}
  +nested: Doctrine\ORM\PersistentCollection {#4471 …}
  +votes: Doctrine\ORM\PersistentCollection {#4467 …}
  +reports: Doctrine\ORM\PersistentCollection {#4473 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
  -id: 152700
  -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5062927"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700699470 {#4459
    date: 2023-11-23 01:31:10.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
53 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
54 DENIED moderate
App\Entity\EntryComment {#4494
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4463
    +user: Proxies\__CG__\App\Entity\User {#4232 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4391
      +user: Proxies\__CG__\App\Entity\User {#4394 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4341
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4255
          +user: Proxies\__CG__\App\Entity\User {#4252 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4201
            +user: Proxies\__CG__\App\Entity\User {#1970 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: App\Entity\EntryComment {#4117
              +user: App\Entity\User {#4130 …}
              +entry: App\Entity\Entry {#2419}
              +magazine: App\Entity\Magazine {#265}
              +image: null
              +parent: null
              +root: null
              +body: "Sounds like you don’t know how to properly use TypeScript…"
              +lang: "en"
              +isAdult: false
              +favouriteCount: 66
              +score: 0
              +lastActive: DateTime @1701794905 {#4112
                date: 2023-12-05 17:48:25.0 +01:00
              }
              +ip: null
              +tags: null
              +mentions: [
                "@Zangoose@lemmy.world"
              ]
              +children: Doctrine\ORM\PersistentCollection {#4118 …}
              +nested: Doctrine\ORM\PersistentCollection {#4120 …}
              +votes: Doctrine\ORM\PersistentCollection {#4122 …}
              +reports: Doctrine\ORM\PersistentCollection {#4124 …}
              +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
              +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
              -id: 149648
              -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
              +ranking: 0
              +commentCount: 0
              +upVotes: 0
              +downVotes: 0
              +visibility: "visible             "
              +apId: "https://lemmy.world/comment/5493586"
              +editedAt: null
              +createdAt: DateTimeImmutable @1700629402 {#4113
                date: 2023-11-22 06:03:22.0 +01:00
              }
            }
            +root: App\Entity\EntryComment {#4117}
            +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 34
            +score: 0
            +lastActive: DateTime @1700630138 {#4202
              date: 2023-11-22 06:15:38.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
              "@Lowpast@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4198 …}
            +nested: Doctrine\ORM\PersistentCollection {#4194 …}
            +votes: Doctrine\ORM\PersistentCollection {#4192 …}
            +reports: Doctrine\ORM\PersistentCollection {#4207 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
            -id: 149667
            -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493754"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700630138 {#4205
              date: 2023-11-22 06:15:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: """
            I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
            \n
            I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 14
          +score: 0
          +lastActive: DateTime @1700632288 {#4256
            date: 2023-11-22 06:51:28.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4249 …}
          +nested: Doctrine\ORM\PersistentCollection {#4247 …}
          +votes: Doctrine\ORM\PersistentCollection {#4251 …}
          +reports: Doctrine\ORM\PersistentCollection {#4262 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
          -id: 149717
          -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/5081985"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700632288 {#4259
            date: 2023-11-22 06:51:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
          \n
          I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1700634024 {#4339
          date: 2023-11-22 07:20:24.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
          "@roadrunner_ex@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4342 …}
        +nested: Doctrine\ORM\PersistentCollection {#4344 …}
        +votes: Doctrine\ORM\PersistentCollection {#4346 …}
        +reports: Doctrine\ORM\PersistentCollection {#4348 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
        -id: 149757
        -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5494471"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700634024 {#4340
          date: 2023-11-22 07:20:24.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1700657905 {#4390
        date: 2023-11-22 13:58:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4398 …}
      +nested: Doctrine\ORM\PersistentCollection {#4400 …}
      +votes: Doctrine\ORM\PersistentCollection {#4396 …}
      +reports: Doctrine\ORM\PersistentCollection {#4402 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
      -id: 150357
      -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5061592"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700657905 {#4387
        date: 2023-11-22 13:58:25.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
      \n
      So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700699470 {#4462
      date: 2023-11-23 01:31:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
      "@Zikeji@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4466 …}
    +nested: Doctrine\ORM\PersistentCollection {#4471 …}
    +votes: Doctrine\ORM\PersistentCollection {#4467 …}
    +reports: Doctrine\ORM\PersistentCollection {#4473 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
    -id: 152700
    -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5062927"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700699470 {#4459
      date: 2023-11-23 01:31:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    Exactly this. I’d rather use TypeScript than regular JS, but I enjoy using almost any other statically-typed language more (except maybe C++) because TS has the potential to be just as bad as JS for codebases where it isn’t being used correctly (this is true for other languages as well but it’s usually a lot more obvious).\n
    \n
    Not that it isn’t possible to have good typescript code, but rather that code becomes a lot harder to maintain because of problems that could’ve been prevented at a language level (truthy/falsey logic, ‘any’ type being allowed by default rather than ‘unknown,’ etc)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700702954 {#4489
    date: 2023-11-23 02:29:14.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
    "@Knusper@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4486 …}
  +nested: Doctrine\ORM\PersistentCollection {#4483 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4495 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4497 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4499 …}
  -id: 152883
  -bodyTs: "'allow':101 'almost':15 'bad':35 'becom':78 'c':25 'code':73,77 'codebas':39 'correct':46 'could':88 'd':4 'default':103 'enjoy':13 'etc':107 'exact':1 'except':23 'good':71 'harder':81 'isn':42,66 'js':10,37 'languag':21,52,94 'level':95 'logic':97 'lot':60,80 'maintain':83 'mayb':24 'obvious':62 'possibl':68 'potenti':30 'prevent':91 'problem':86 'rather':5,75,104 'regular':9 'static':19 'statically-typ':18 'true':49 'truthy/falsey':96 'ts':27 'type':20,99 'typescript':7,72 'unknown':106 'use':6,14,45 'usual':58 've':89 'well':54"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5516744"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700702954 {#4492
    date: 2023-11-23 02:29:14.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
55 DENIED edit
App\Entity\EntryComment {#4494
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4463
    +user: Proxies\__CG__\App\Entity\User {#4232 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4391
      +user: Proxies\__CG__\App\Entity\User {#4394 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4341
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4255
          +user: Proxies\__CG__\App\Entity\User {#4252 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4201
            +user: Proxies\__CG__\App\Entity\User {#1970 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: App\Entity\EntryComment {#4117
              +user: App\Entity\User {#4130 …}
              +entry: App\Entity\Entry {#2419}
              +magazine: App\Entity\Magazine {#265}
              +image: null
              +parent: null
              +root: null
              +body: "Sounds like you don’t know how to properly use TypeScript…"
              +lang: "en"
              +isAdult: false
              +favouriteCount: 66
              +score: 0
              +lastActive: DateTime @1701794905 {#4112
                date: 2023-12-05 17:48:25.0 +01:00
              }
              +ip: null
              +tags: null
              +mentions: [
                "@Zangoose@lemmy.world"
              ]
              +children: Doctrine\ORM\PersistentCollection {#4118 …}
              +nested: Doctrine\ORM\PersistentCollection {#4120 …}
              +votes: Doctrine\ORM\PersistentCollection {#4122 …}
              +reports: Doctrine\ORM\PersistentCollection {#4124 …}
              +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
              +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
              -id: 149648
              -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
              +ranking: 0
              +commentCount: 0
              +upVotes: 0
              +downVotes: 0
              +visibility: "visible             "
              +apId: "https://lemmy.world/comment/5493586"
              +editedAt: null
              +createdAt: DateTimeImmutable @1700629402 {#4113
                date: 2023-11-22 06:03:22.0 +01:00
              }
            }
            +root: App\Entity\EntryComment {#4117}
            +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 34
            +score: 0
            +lastActive: DateTime @1700630138 {#4202
              date: 2023-11-22 06:15:38.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
              "@Lowpast@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4198 …}
            +nested: Doctrine\ORM\PersistentCollection {#4194 …}
            +votes: Doctrine\ORM\PersistentCollection {#4192 …}
            +reports: Doctrine\ORM\PersistentCollection {#4207 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
            -id: 149667
            -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493754"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700630138 {#4205
              date: 2023-11-22 06:15:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: """
            I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
            \n
            I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 14
          +score: 0
          +lastActive: DateTime @1700632288 {#4256
            date: 2023-11-22 06:51:28.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4249 …}
          +nested: Doctrine\ORM\PersistentCollection {#4247 …}
          +votes: Doctrine\ORM\PersistentCollection {#4251 …}
          +reports: Doctrine\ORM\PersistentCollection {#4262 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
          -id: 149717
          -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/5081985"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700632288 {#4259
            date: 2023-11-22 06:51:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
          \n
          I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1700634024 {#4339
          date: 2023-11-22 07:20:24.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
          "@roadrunner_ex@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4342 …}
        +nested: Doctrine\ORM\PersistentCollection {#4344 …}
        +votes: Doctrine\ORM\PersistentCollection {#4346 …}
        +reports: Doctrine\ORM\PersistentCollection {#4348 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
        -id: 149757
        -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5494471"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700634024 {#4340
          date: 2023-11-22 07:20:24.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1700657905 {#4390
        date: 2023-11-22 13:58:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4398 …}
      +nested: Doctrine\ORM\PersistentCollection {#4400 …}
      +votes: Doctrine\ORM\PersistentCollection {#4396 …}
      +reports: Doctrine\ORM\PersistentCollection {#4402 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
      -id: 150357
      -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5061592"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700657905 {#4387
        date: 2023-11-22 13:58:25.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
      \n
      So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700699470 {#4462
      date: 2023-11-23 01:31:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
      "@Zikeji@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4466 …}
    +nested: Doctrine\ORM\PersistentCollection {#4471 …}
    +votes: Doctrine\ORM\PersistentCollection {#4467 …}
    +reports: Doctrine\ORM\PersistentCollection {#4473 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
    -id: 152700
    -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5062927"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700699470 {#4459
      date: 2023-11-23 01:31:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    Exactly this. I’d rather use TypeScript than regular JS, but I enjoy using almost any other statically-typed language more (except maybe C++) because TS has the potential to be just as bad as JS for codebases where it isn’t being used correctly (this is true for other languages as well but it’s usually a lot more obvious).\n
    \n
    Not that it isn’t possible to have good typescript code, but rather that code becomes a lot harder to maintain because of problems that could’ve been prevented at a language level (truthy/falsey logic, ‘any’ type being allowed by default rather than ‘unknown,’ etc)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700702954 {#4489
    date: 2023-11-23 02:29:14.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
    "@Knusper@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4486 …}
  +nested: Doctrine\ORM\PersistentCollection {#4483 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4495 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4497 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4499 …}
  -id: 152883
  -bodyTs: "'allow':101 'almost':15 'bad':35 'becom':78 'c':25 'code':73,77 'codebas':39 'correct':46 'could':88 'd':4 'default':103 'enjoy':13 'etc':107 'exact':1 'except':23 'good':71 'harder':81 'isn':42,66 'js':10,37 'languag':21,52,94 'level':95 'logic':97 'lot':60,80 'maintain':83 'mayb':24 'obvious':62 'possibl':68 'potenti':30 'prevent':91 'problem':86 'rather':5,75,104 'regular':9 'static':19 'statically-typ':18 'true':49 'truthy/falsey':96 'ts':27 'type':20,99 'typescript':7,72 'unknown':106 'use':6,14,45 'usual':58 've':89 'well':54"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5516744"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700702954 {#4492
    date: 2023-11-23 02:29:14.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
56 DENIED moderate
App\Entity\EntryComment {#4494
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4463
    +user: Proxies\__CG__\App\Entity\User {#4232 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4391
      +user: Proxies\__CG__\App\Entity\User {#4394 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4341
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4255
          +user: Proxies\__CG__\App\Entity\User {#4252 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4201
            +user: Proxies\__CG__\App\Entity\User {#1970 …}
            +entry: App\Entity\Entry {#2419}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: App\Entity\EntryComment {#4117
              +user: App\Entity\User {#4130 …}
              +entry: App\Entity\Entry {#2419}
              +magazine: App\Entity\Magazine {#265}
              +image: null
              +parent: null
              +root: null
              +body: "Sounds like you don’t know how to properly use TypeScript…"
              +lang: "en"
              +isAdult: false
              +favouriteCount: 66
              +score: 0
              +lastActive: DateTime @1701794905 {#4112
                date: 2023-12-05 17:48:25.0 +01:00
              }
              +ip: null
              +tags: null
              +mentions: [
                "@Zangoose@lemmy.world"
              ]
              +children: Doctrine\ORM\PersistentCollection {#4118 …}
              +nested: Doctrine\ORM\PersistentCollection {#4120 …}
              +votes: Doctrine\ORM\PersistentCollection {#4122 …}
              +reports: Doctrine\ORM\PersistentCollection {#4124 …}
              +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
              +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
              -id: 149648
              -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
              +ranking: 0
              +commentCount: 0
              +upVotes: 0
              +downVotes: 0
              +visibility: "visible             "
              +apId: "https://lemmy.world/comment/5493586"
              +editedAt: null
              +createdAt: DateTimeImmutable @1700629402 {#4113
                date: 2023-11-22 06:03:22.0 +01:00
              }
            }
            +root: App\Entity\EntryComment {#4117}
            +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
            +lang: "en"
            +isAdult: false
            +favouriteCount: 34
            +score: 0
            +lastActive: DateTime @1700630138 {#4202
              date: 2023-11-22 06:15:38.0 +01:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Zangoose@lemmy.world"
              "@Lowpast@lemmy.world"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4198 …}
            +nested: Doctrine\ORM\PersistentCollection {#4194 …}
            +votes: Doctrine\ORM\PersistentCollection {#4192 …}
            +reports: Doctrine\ORM\PersistentCollection {#4207 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
            -id: 149667
            -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.world/comment/5493754"
            +editedAt: null
            +createdAt: DateTimeImmutable @1700630138 {#4205
              date: 2023-11-22 06:15:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4117}
          +body: """
            I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
            \n
            I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 14
          +score: 0
          +lastActive: DateTime @1700632288 {#4256
            date: 2023-11-22 06:51:28.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
            "@Lowpast@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4249 …}
          +nested: Doctrine\ORM\PersistentCollection {#4247 …}
          +votes: Doctrine\ORM\PersistentCollection {#4251 …}
          +reports: Doctrine\ORM\PersistentCollection {#4262 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
          -id: 149717
          -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/5081985"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700632288 {#4259
            date: 2023-11-22 06:51:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: """
          In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
          \n
          I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1700634024 {#4339
          date: 2023-11-22 07:20:24.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
          "@roadrunner_ex@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4342 …}
        +nested: Doctrine\ORM\PersistentCollection {#4344 …}
        +votes: Doctrine\ORM\PersistentCollection {#4346 …}
        +reports: Doctrine\ORM\PersistentCollection {#4348 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
        -id: 149757
        -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5494471"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700634024 {#4340
          date: 2023-11-22 07:20:24.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "Based on your description it sounds like you haven’t given it a fair shake. I’ll take TS over JS any day, at least there is room for improvement. I will say however I personally haven’t been unlucky enough to run into projects that abuse the any type. The worst I’ve run into is a JS library with no typings I have to manually type."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1700657905 {#4390
        date: 2023-11-22 13:58:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
        "@roadrunner_ex@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4398 …}
      +nested: Doctrine\ORM\PersistentCollection {#4400 …}
      +votes: Doctrine\ORM\PersistentCollection {#4396 …}
      +reports: Doctrine\ORM\PersistentCollection {#4402 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4404 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4406 …}
      -id: 150357
      -bodyTs: "'abus':47 'base':1 'day':23 'descript':4 'enough':41 'fair':14 'given':11 'haven':9,37 'howev':34 'improv':30 'js':21,59 'least':25 'librari':60 'like':7 'll':17 'manual':67 'person':36 'project':45 'room':28 'run':43,55 'say':33 'shake':15 'sound':6 'take':18 'ts':19 'type':50,63,68 'unlucki':40 've':54 'worst':52"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://programming.dev/comment/5061592"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700657905 {#4387
        date: 2023-11-22 13:58:25.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I imagine what they mean is e.g. that TypeScript can tell you something is a `Date`, but it doesn’t attempt to fix some of the confusing, quirky behaviour with that: [developer.mozilla.org/en-US/docs/Web/…/Date#inter…](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years)\n
      \n
      So, yes, it’s generally *better* than JS, but it doesn’t actually make it good/attractive, if you’re used to the sanity of backend languages. It very much feels like lipstick on a pig.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1700699470 {#4462
      date: 2023-11-23 01:31:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
      "@Zikeji@programming.dev"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4466 …}
    +nested: Doctrine\ORM\PersistentCollection {#4471 …}
    +votes: Doctrine\ORM\PersistentCollection {#4467 …}
    +reports: Doctrine\ORM\PersistentCollection {#4473 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4475 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4477 …}
    -id: 152700
    -bodyTs: "'/date':35 '/en-us/docs/web/':34 '/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':39 'actual':52 'attempt':21 'backend':64 'behaviour':29 'better':45 'confus':27 'date':16 'developer.mozilla.org':33,38 'developer.mozilla.org/en-us/docs/web/':32 'developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/date#interpretation_of_two-digit_years)':37 'doesn':19,50 'e.g':7 'feel':69 'fix':23 'general':44 'good/attractive':55 'imagin':2 'inter':36 'js':47 'languag':65 'like':70 'lipstick':71 'make':53 'mean':5 'much':68 'pig':74 'quirki':28 're':58 'saniti':62 'someth':13 'tell':11 'typescript':9 'use':59 'yes':41"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://feddit.de/comment/5062927"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700699470 {#4459
      date: 2023-11-23 01:31:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    Exactly this. I’d rather use TypeScript than regular JS, but I enjoy using almost any other statically-typed language more (except maybe C++) because TS has the potential to be just as bad as JS for codebases where it isn’t being used correctly (this is true for other languages as well but it’s usually a lot more obvious).\n
    \n
    Not that it isn’t possible to have good typescript code, but rather that code becomes a lot harder to maintain because of problems that could’ve been prevented at a language level (truthy/falsey logic, ‘any’ type being allowed by default rather than ‘unknown,’ etc)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1700702954 {#4489
    date: 2023-11-23 02:29:14.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
    "@Zikeji@programming.dev"
    "@Knusper@feddit.de"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4486 …}
  +nested: Doctrine\ORM\PersistentCollection {#4483 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4495 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4497 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4499 …}
  -id: 152883
  -bodyTs: "'allow':101 'almost':15 'bad':35 'becom':78 'c':25 'code':73,77 'codebas':39 'correct':46 'could':88 'd':4 'default':103 'enjoy':13 'etc':107 'exact':1 'except':23 'good':71 'harder':81 'isn':42,66 'js':10,37 'languag':21,52,94 'level':95 'logic':97 'lot':60,80 'maintain':83 'mayb':24 'obvious':62 'possibl':68 'potenti':30 'prevent':91 'problem':86 'rather':5,75,104 'regular':9 'static':19 'statically-typ':18 'true':49 'truthy/falsey':96 'ts':27 'type':20,99 'typescript':7,72 'unknown':106 'use':6,14,45 'usual':58 've':89 'well':54"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5516744"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700702954 {#4492
    date: 2023-11-23 02:29:14.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
57 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
58 DENIED moderate
App\Entity\EntryComment {#4410
  +user: Proxies\__CG__\App\Entity\User {#4411 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "TypeScript *is* JavaScript and not in the literal it’s compiled to JS sense but in the think of TS as a linter not a language sense."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701081474 {#4408
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4412 …}
  +nested: Doctrine\ORM\PersistentCollection {#4414 …}
  +votes: Doctrine\ORM\PersistentCollection {#4416 …}
  +reports: Doctrine\ORM\PersistentCollection {#4418 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4420 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4422 …}
  -id: 169570
  -bodyTs: "'compil':11 'javascript':3 'js':13 'languag':26 'linter':23 'liter':8 'sens':14,27 'think':18 'ts':20 'typescript':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.today/comment/3663613"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701081474 {#4409
    date: 2023-11-27 11:37:54.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
59 DENIED edit
App\Entity\EntryComment {#4410
  +user: Proxies\__CG__\App\Entity\User {#4411 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "TypeScript *is* JavaScript and not in the literal it’s compiled to JS sense but in the think of TS as a linter not a language sense."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701081474 {#4408
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4412 …}
  +nested: Doctrine\ORM\PersistentCollection {#4414 …}
  +votes: Doctrine\ORM\PersistentCollection {#4416 …}
  +reports: Doctrine\ORM\PersistentCollection {#4418 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4420 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4422 …}
  -id: 169570
  -bodyTs: "'compil':11 'javascript':3 'js':13 'languag':26 'linter':23 'liter':8 'sens':14,27 'think':18 'ts':20 'typescript':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.today/comment/3663613"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701081474 {#4409
    date: 2023-11-27 11:37:54.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
60 DENIED moderate
App\Entity\EntryComment {#4410
  +user: Proxies\__CG__\App\Entity\User {#4411 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4341
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4255
      +user: Proxies\__CG__\App\Entity\User {#4252 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: """
        I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
        \n
        I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 14
      +score: 0
      +lastActive: DateTime @1700632288 {#4256
        date: 2023-11-22 06:51:28.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4249 …}
      +nested: Doctrine\ORM\PersistentCollection {#4247 …}
      +votes: Doctrine\ORM\PersistentCollection {#4251 …}
      +reports: Doctrine\ORM\PersistentCollection {#4262 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
      -id: 149717
      -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/5081985"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632288 {#4259
        date: 2023-11-22 06:51:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      In theory I’m a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.\n
      \n
      I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an ‘any’ type to be used freely by default emphasizes that.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1700634024 {#4339
      date: 2023-11-22 07:20:24.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@roadrunner_ex@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4342 …}
    +nested: Doctrine\ORM\PersistentCollection {#4344 …}
    +votes: Doctrine\ORM\PersistentCollection {#4346 …}
    +reports: Doctrine\ORM\PersistentCollection {#4348 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4350 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4352 …}
    -id: 149757
    -bodyTs: "'allow':68 'bandaid':51 'default':80 'despis':41 'emphas':81 'etc':22 'explicit':37 'fan':6 'feel':45 'fields/parameters':35 'flesh':64 'freeli':78 'infer':9,30 'instead':59 'javascript':53 'kotlin':19 'languag':17,66 'like':47 'local':25 'm':4 'make':61 'modern':16 'need':36 'odditi':58 'option':70 'proper':63 'put':49 'return':33 'rust':20 'someon':48 'static':11 'system':13 'theori':2 'ts':21 'type':12,27,38,74 'types/object':34 'typescript':42 'use':18,77 'variabl':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5494471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700634024 {#4340
      date: 2023-11-22 07:20:24.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "TypeScript *is* JavaScript and not in the literal it’s compiled to JS sense but in the think of TS as a linter not a language sense."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1701081474 {#4408
    date: 2023-11-27 11:37:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4412 …}
  +nested: Doctrine\ORM\PersistentCollection {#4414 …}
  +votes: Doctrine\ORM\PersistentCollection {#4416 …}
  +reports: Doctrine\ORM\PersistentCollection {#4418 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4420 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4422 …}
  -id: 169570
  -bodyTs: "'compil':11 'javascript':3 'js':13 'languag':26 'linter':23 'liter':8 'sens':14,27 'think':18 'ts':20 'typescript':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.today/comment/3663613"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701081474 {#4409
    date: 2023-11-27 11:37:54.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
61 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
62 DENIED moderate
App\Entity\EntryComment {#4356
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "One file at a time. Make strong pre-commit eslint rules (that way you don’t impact existing code), eventually update tsconfig. You’ll get there :)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700633203 {#4354
    date: 2023-11-22 07:06:43.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4357 …}
  +nested: Doctrine\ORM\PersistentCollection {#4359 …}
  +votes: Doctrine\ORM\PersistentCollection {#4361 …}
  +reports: Doctrine\ORM\PersistentCollection {#4363 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4365 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4367 …}
  -id: 149740
  -bodyTs: "'code':20 'commit':10 'eslint':11 'eventu':21 'exist':19 'file':2 'get':26 'impact':18 'll':25 'make':6 'one':1 'pre':9 'pre-commit':8 'rule':12 'strong':7 'time':5 'tsconfig':23 'updat':22 'way':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700633203 {#4355
    date: 2023-11-22 07:06:43.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
63 DENIED edit
App\Entity\EntryComment {#4356
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "One file at a time. Make strong pre-commit eslint rules (that way you don’t impact existing code), eventually update tsconfig. You’ll get there :)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700633203 {#4354
    date: 2023-11-22 07:06:43.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4357 …}
  +nested: Doctrine\ORM\PersistentCollection {#4359 …}
  +votes: Doctrine\ORM\PersistentCollection {#4361 …}
  +reports: Doctrine\ORM\PersistentCollection {#4363 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4365 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4367 …}
  -id: 149740
  -bodyTs: "'code':20 'commit':10 'eslint':11 'eventu':21 'exist':19 'file':2 'get':26 'impact':18 'll':25 'make':6 'one':1 'pre':9 'pre-commit':8 'rule':12 'strong':7 'time':5 'tsconfig':23 'updat':22 'way':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700633203 {#4355
    date: 2023-11-22 07:06:43.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
64 DENIED moderate
App\Entity\EntryComment {#4356
  +user: App\Entity\User {#4130 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4255
    +user: Proxies\__CG__\App\Entity\User {#4252 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so `any` is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don’t have authority in the project anymore, and wouldn’t touch it even if I could).\n
      \n
      I’m also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 14
    +score: 0
    +lastActive: DateTime @1700632288 {#4256
      date: 2023-11-22 06:51:28.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4249 …}
    +nested: Doctrine\ORM\PersistentCollection {#4247 …}
    +votes: Doctrine\ORM\PersistentCollection {#4251 …}
    +reports: Doctrine\ORM\PersistentCollection {#4262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4266 …}
    -id: 149717
    -bodyTs: "'actual':19 'also':69 'annoy':70 'anymor':57 'author':53 'avers':26 'bad':99 'becom':38 'code':45 'could':66 'dev':78 'develop':24 'even':63 'everywher':35 'fear':84 'feel':3 'forward':90 'general':97 'go':87,89 'ground':23 'help':10 'hurt':101 'junior':81 'kinda':2 'launch':11 'level':73 'love':106 'm':68 'mess':48 'on-the-ground':20 'pain':5 'pretti':80 'project':7,56 'safeti':30,95,105 'soul':107 'technic':16 'think':91 'touch':61 'type':29,94,104 'type-safety-loving-soul':103 'typescript':15,92 'use':28,34 'world':42 'worst':39 'wouldn':59 'written':13"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/5081985"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632288 {#4259
      date: 2023-11-22 06:51:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "One file at a time. Make strong pre-commit eslint rules (that way you don’t impact existing code), eventually update tsconfig. You’ll get there :)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 6
  +score: 0
  +lastActive: DateTime @1700633203 {#4354
    date: 2023-11-22 07:06:43.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@roadrunner_ex@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4357 …}
  +nested: Doctrine\ORM\PersistentCollection {#4359 …}
  +votes: Doctrine\ORM\PersistentCollection {#4361 …}
  +reports: Doctrine\ORM\PersistentCollection {#4363 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4365 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4367 …}
  -id: 149740
  -bodyTs: "'code':20 'commit':10 'eslint':11 'eventu':21 'exist':19 'file':2 'get':26 'impact':18 'll':25 'make':6 'one':1 'pre':9 'pre-commit':8 'rule':12 'strong':7 'time':5 'tsconfig':23 'updat':22 'way':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5494323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700633203 {#4355
    date: 2023-11-22 07:06:43.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
65 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
66 DENIED moderate
App\Entity\EntryComment {#4270
  +user: Proxies\__CG__\App\Entity\User {#4271 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Print the code out and burn it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700631277 {#4268
    date: 2023-11-22 06:34:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4272 …}
  +nested: Doctrine\ORM\PersistentCollection {#4274 …}
  +votes: Doctrine\ORM\PersistentCollection {#4276 …}
  +reports: Doctrine\ORM\PersistentCollection {#4278 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4280 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4282 …}
  -id: 149693
  -bodyTs: "'burn':6 'code':3 'print':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/3933970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700631277 {#4269
    date: 2023-11-22 06:34:37.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
67 DENIED edit
App\Entity\EntryComment {#4270
  +user: Proxies\__CG__\App\Entity\User {#4271 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Print the code out and burn it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700631277 {#4268
    date: 2023-11-22 06:34:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4272 …}
  +nested: Doctrine\ORM\PersistentCollection {#4274 …}
  +votes: Doctrine\ORM\PersistentCollection {#4276 …}
  +reports: Doctrine\ORM\PersistentCollection {#4278 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4280 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4282 …}
  -id: 149693
  -bodyTs: "'burn':6 'code':3 'print':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/3933970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700631277 {#4269
    date: 2023-11-22 06:34:37.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
68 DENIED moderate
App\Entity\EntryComment {#4270
  +user: Proxies\__CG__\App\Entity\User {#4271 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "Print the code out and burn it"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700631277 {#4268
    date: 2023-11-22 06:34:37.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4272 …}
  +nested: Doctrine\ORM\PersistentCollection {#4274 …}
  +votes: Doctrine\ORM\PersistentCollection {#4276 …}
  +reports: Doctrine\ORM\PersistentCollection {#4278 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4280 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4282 …}
  -id: 149693
  -bodyTs: "'burn':6 'code':3 'print':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.nz/comment/3933970"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700631277 {#4269
    date: 2023-11-22 06:34:37.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
69 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
70 DENIED moderate
App\Entity\EntryComment {#4286
  +user: Proxies\__CG__\App\Entity\User {#4287 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 51
  +score: 0
  +lastActive: DateTime @1700632264 {#4284
    date: 2023-11-22 06:51:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4288 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4292 …}
  +reports: Doctrine\ORM\PersistentCollection {#4294 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
  -id: 149716
  -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632264 {#4285
    date: 2023-11-22 06:51:04.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
71 DENIED edit
App\Entity\EntryComment {#4286
  +user: Proxies\__CG__\App\Entity\User {#4287 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 51
  +score: 0
  +lastActive: DateTime @1700632264 {#4284
    date: 2023-11-22 06:51:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4288 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4292 …}
  +reports: Doctrine\ORM\PersistentCollection {#4294 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
  -id: 149716
  -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632264 {#4285
    date: 2023-11-22 06:51:04.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
72 DENIED moderate
App\Entity\EntryComment {#4286
  +user: Proxies\__CG__\App\Entity\User {#4287 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4201
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4117
      +user: App\Entity\User {#4130 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Sounds like you don’t know how to properly use TypeScript…"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 66
      +score: 0
      +lastActive: DateTime @1701794905 {#4112
        date: 2023-12-05 17:48:25.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4118 …}
      +nested: Doctrine\ORM\PersistentCollection {#4120 …}
      +votes: Doctrine\ORM\PersistentCollection {#4122 …}
      +reports: Doctrine\ORM\PersistentCollection {#4124 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
      -id: 149648
      -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493586"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700629402 {#4113
        date: 2023-11-22 06:03:22.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 34
    +score: 0
    +lastActive: DateTime @1700630138 {#4202
      date: 2023-11-22 06:15:38.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4198 …}
    +nested: Doctrine\ORM\PersistentCollection {#4194 …}
    +votes: Doctrine\ORM\PersistentCollection {#4192 …}
    +reports: Doctrine\ORM\PersistentCollection {#4207 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
    -id: 149667
    -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5493754"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700630138 {#4205
      date: 2023-11-22 06:15:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 51
  +score: 0
  +lastActive: DateTime @1700632264 {#4284
    date: 2023-11-22 06:51:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4288 …}
  +nested: Doctrine\ORM\PersistentCollection {#4290 …}
  +votes: Doctrine\ORM\PersistentCollection {#4292 …}
  +reports: Doctrine\ORM\PersistentCollection {#4294 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
  -id: 149716
  -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700632264 {#4285
    date: 2023-11-22 06:51:04.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
73 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
74 DENIED moderate
App\Entity\EntryComment {#4322
  +user: Proxies\__CG__\App\Entity\User {#4325 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4286
    +user: Proxies\__CG__\App\Entity\User {#4287 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 51
    +score: 0
    +lastActive: DateTime @1700632264 {#4284
      date: 2023-11-22 06:51:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4288 …}
    +nested: Doctrine\ORM\PersistentCollection {#4290 …}
    +votes: Doctrine\ORM\PersistentCollection {#4292 …}
    +reports: Doctrine\ORM\PersistentCollection {#4294 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
    -id: 149716
    -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632264 {#4285
      date: 2023-11-22 06:51:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
    \n
    > When life hands you lemons, just say fuck the lemons and bail
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 24
  +score: 0
  +lastActive: DateTime @1700653226 {#4321
    date: 2023-11-22 12:40:26.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4329 …}
  +nested: Doctrine\ORM\PersistentCollection {#4331 …}
  +votes: Doctrine\ORM\PersistentCollection {#4327 …}
  +reports: Doctrine\ORM\PersistentCollection {#4333 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
  -id: 150240
  -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5498507"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700653226 {#4318
    date: 2023-11-22 12:40:26.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
75 DENIED edit
App\Entity\EntryComment {#4322
  +user: Proxies\__CG__\App\Entity\User {#4325 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4286
    +user: Proxies\__CG__\App\Entity\User {#4287 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 51
    +score: 0
    +lastActive: DateTime @1700632264 {#4284
      date: 2023-11-22 06:51:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4288 …}
    +nested: Doctrine\ORM\PersistentCollection {#4290 …}
    +votes: Doctrine\ORM\PersistentCollection {#4292 …}
    +reports: Doctrine\ORM\PersistentCollection {#4294 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
    -id: 149716
    -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632264 {#4285
      date: 2023-11-22 06:51:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
    \n
    > When life hands you lemons, just say fuck the lemons and bail
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 24
  +score: 0
  +lastActive: DateTime @1700653226 {#4321
    date: 2023-11-22 12:40:26.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4329 …}
  +nested: Doctrine\ORM\PersistentCollection {#4331 …}
  +votes: Doctrine\ORM\PersistentCollection {#4327 …}
  +reports: Doctrine\ORM\PersistentCollection {#4333 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
  -id: 150240
  -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5498507"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700653226 {#4318
    date: 2023-11-22 12:40:26.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
76 DENIED moderate
App\Entity\EntryComment {#4322
  +user: Proxies\__CG__\App\Entity\User {#4325 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4286
    +user: Proxies\__CG__\App\Entity\User {#4287 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4201
      +user: Proxies\__CG__\App\Entity\User {#1970 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4117
        +user: App\Entity\User {#4130 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "Sounds like you don’t know how to properly use TypeScript…"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 66
        +score: 0
        +lastActive: DateTime @1701794905 {#4112
          date: 2023-12-05 17:48:25.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4118 …}
        +nested: Doctrine\ORM\PersistentCollection {#4120 …}
        +votes: Doctrine\ORM\PersistentCollection {#4122 …}
        +reports: Doctrine\ORM\PersistentCollection {#4124 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
        -id: 149648
        -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493586"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700629402 {#4113
          date: 2023-11-22 06:03:22.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 34
      +score: 0
      +lastActive: DateTime @1700630138 {#4202
        date: 2023-11-22 06:15:38.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4198 …}
      +nested: Doctrine\ORM\PersistentCollection {#4194 …}
      +votes: Doctrine\ORM\PersistentCollection {#4192 …}
      +reports: Doctrine\ORM\PersistentCollection {#4207 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
      -id: 149667
      -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/5493754"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700630138 {#4205
        date: 2023-11-22 06:15:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 51
    +score: 0
    +lastActive: DateTime @1700632264 {#4284
      date: 2023-11-22 06:51:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4288 …}
    +nested: Doctrine\ORM\PersistentCollection {#4290 …}
    +votes: Doctrine\ORM\PersistentCollection {#4292 …}
    +reports: Doctrine\ORM\PersistentCollection {#4294 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
    -id: 149716
    -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700632264 {#4285
      date: 2023-11-22 06:51:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
    \n
    > When life hands you lemons, just say fuck the lemons and bail
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 24
  +score: 0
  +lastActive: DateTime @1700653226 {#4321
    date: 2023-11-22 12:40:26.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4329 …}
  +nested: Doctrine\ORM\PersistentCollection {#4331 …}
  +votes: Doctrine\ORM\PersistentCollection {#4327 …}
  +reports: Doctrine\ORM\PersistentCollection {#4333 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
  -id: 150240
  -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5498507"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700653226 {#4318
    date: 2023-11-22 12:40:26.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
77 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
78 DENIED moderate
App\Entity\EntryComment {#4427
  +user: Proxies\__CG__\App\Entity\User {#4428 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    > resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years\n
    \n
    So basically change careers
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700654852 {#4424
    date: 2023-11-22 13:07:32.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4429 …}
  +nested: Doctrine\ORM\PersistentCollection {#4431 …}
  +votes: Doctrine\ORM\PersistentCollection {#4433 …}
  +reports: Doctrine\ORM\PersistentCollection {#4435 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4437 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4439 …}
  -id: 150286
  -bodyTs: "'basic':13,26 'career':28 'chang':27 'cultur':20 'develop':19 'didn':7 'employ':5 'engin':16 'fail':9 'level':14 'manag':17 'resign':1 'seek':3 'year':22,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmings.world/comment/3806579"
  +editedAt: DateTimeImmutable @1701124259 {#4425
    date: 2023-11-27 23:30:59.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700654852 {#4426
    date: 2023-11-22 13:07:32.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
79 DENIED edit
App\Entity\EntryComment {#4427
  +user: Proxies\__CG__\App\Entity\User {#4428 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    > resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years\n
    \n
    So basically change careers
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700654852 {#4424
    date: 2023-11-22 13:07:32.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4429 …}
  +nested: Doctrine\ORM\PersistentCollection {#4431 …}
  +votes: Doctrine\ORM\PersistentCollection {#4433 …}
  +reports: Doctrine\ORM\PersistentCollection {#4435 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4437 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4439 …}
  -id: 150286
  -bodyTs: "'basic':13,26 'career':28 'chang':27 'cultur':20 'develop':19 'didn':7 'employ':5 'engin':16 'fail':9 'level':14 'manag':17 'resign':1 'seek':3 'year':22,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmings.world/comment/3806579"
  +editedAt: DateTimeImmutable @1701124259 {#4425
    date: 2023-11-27 23:30:59.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700654852 {#4426
    date: 2023-11-22 13:07:32.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
80 DENIED moderate
App\Entity\EntryComment {#4427
  +user: Proxies\__CG__\App\Entity\User {#4428 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: """
    > resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years\n
    \n
    So basically change careers
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 14
  +score: 0
  +lastActive: DateTime @1700654852 {#4424
    date: 2023-11-22 13:07:32.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4429 …}
  +nested: Doctrine\ORM\PersistentCollection {#4431 …}
  +votes: Doctrine\ORM\PersistentCollection {#4433 …}
  +reports: Doctrine\ORM\PersistentCollection {#4435 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4437 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4439 …}
  -id: 150286
  -bodyTs: "'basic':13,26 'career':28 'chang':27 'cultur':20 'develop':19 'didn':7 'employ':5 'engin':16 'fail':9 'level':14 'manag':17 'resign':1 'seek':3 'year':22,24"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmings.world/comment/3806579"
  +editedAt: DateTimeImmutable @1701124259 {#4425
    date: 2023-11-27 23:30:59.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700654852 {#4426
    date: 2023-11-22 13:07:32.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
81 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
82 DENIED moderate
App\Entity\EntryComment {#4443
  +user: Proxies\__CG__\App\Entity\User {#4444 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "`combustible lemon`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700655664 {#4441
    date: 2023-11-22 13:21:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4445 …}
  +nested: Doctrine\ORM\PersistentCollection {#4447 …}
  +votes: Doctrine\ORM\PersistentCollection {#4449 …}
  +reports: Doctrine\ORM\PersistentCollection {#4451 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4453 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4455 …}
  -id: 150307
  -bodyTs: "'combust':1 'lemon':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5042870"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700655664 {#4442
    date: 2023-11-22 13:21:04.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
83 DENIED edit
App\Entity\EntryComment {#4443
  +user: Proxies\__CG__\App\Entity\User {#4444 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "`combustible lemon`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700655664 {#4441
    date: 2023-11-22 13:21:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4445 …}
  +nested: Doctrine\ORM\PersistentCollection {#4447 …}
  +votes: Doctrine\ORM\PersistentCollection {#4449 …}
  +reports: Doctrine\ORM\PersistentCollection {#4451 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4453 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4455 …}
  -id: 150307
  -bodyTs: "'combust':1 'lemon':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5042870"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700655664 {#4442
    date: 2023-11-22 13:21:04.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
84 DENIED moderate
App\Entity\EntryComment {#4443
  +user: Proxies\__CG__\App\Entity\User {#4444 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +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 {#275
        date: 2024-10-21 17:14:31.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -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 {#269
        date: 2024-09-21 09:14:31.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1700391429 {#271
        date: 2023-11-19 11:57:09.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "the-myth-of-type-safety"
    +title: "the myth of type safety"
    +url: "https://lemmy.world/pictrs/image/eeebc53c-069d-4c09-8a6b-61e9e8a42760.jpeg"
    +body: null
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 20
    +favouriteCount: 229
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1701081474 {#2414
      date: 2023-11-27 11:37:54.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 15325
    -titleTs: "'myth':2 'safeti':5 'type':4"
    -bodyTs: null
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700714606
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8589200"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700628206 {#1793
      date: 2023-11-22 05:43:26.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4322
    +user: Proxies\__CG__\App\Entity\User {#4325 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4286
      +user: Proxies\__CG__\App\Entity\User {#4287 …}
      +entry: App\Entity\Entry {#2419}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4201
        +user: Proxies\__CG__\App\Entity\User {#1970 …}
        +entry: App\Entity\Entry {#2419}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4117
          +user: App\Entity\User {#4130 …}
          +entry: App\Entity\Entry {#2419}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "Sounds like you don’t know how to properly use TypeScript…"
          +lang: "en"
          +isAdult: false
          +favouriteCount: 66
          +score: 0
          +lastActive: DateTime @1701794905 {#4112
            date: 2023-12-05 17:48:25.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Zangoose@lemmy.world"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4118 …}
          +nested: Doctrine\ORM\PersistentCollection {#4120 …}
          +votes: Doctrine\ORM\PersistentCollection {#4122 …}
          +reports: Doctrine\ORM\PersistentCollection {#4124 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4126 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4128 …}
          -id: 149648
          -bodyTs: "'know':6 'like':2 'proper':9 'sound':1 'typescript':11 'use':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.world/comment/5493586"
          +editedAt: null
          +createdAt: DateTimeImmutable @1700629402 {#4113
            date: 2023-11-22 06:03:22.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4117}
        +body: "If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed ‘any’ then I assure you I would have, it’s driving me insane 🙃, also why I prefer backend"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 34
        +score: 0
        +lastActive: DateTime @1700630138 {#4202
          date: 2023-11-22 06:15:38.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Zangoose@lemmy.world"
          "@Lowpast@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4198 …}
        +nested: Doctrine\ORM\PersistentCollection {#4194 …}
        +votes: Doctrine\ORM\PersistentCollection {#4192 …}
        +reports: Doctrine\ORM\PersistentCollection {#4207 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4209 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4211 …}
        -id: 149667
        -bodyTs: "'6':23 'almost':26 'also':44 'angular':22 'assur':34 'backend':48 'codebas':24 'drive':41 'everi':27 'go':9 'html':19 'includ':17 'insan':43 'legaci':21 'line':15 'multi':13 'multi-thousand':12 'prefer':47 'properti':28 'templat':20 'thousand':14 'time':7 'type':30 'willpow':5 'would':37"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/5493754"
        +editedAt: null
        +createdAt: DateTimeImmutable @1700630138 {#4205
          date: 2023-11-22 06:15:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4117}
      +body: "The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use `unknown` instead of `any` for more sensitive parts, it will force you to typecheck."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 51
      +score: 0
      +lastActive: DateTime @1700632264 {#4284
        date: 2023-11-22 06:51:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Zangoose@lemmy.world"
        "@Lowpast@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4288 …}
      +nested: Doctrine\ORM\PersistentCollection {#4290 …}
      +votes: Doctrine\ORM\PersistentCollection {#4292 …}
      +reports: Doctrine\ORM\PersistentCollection {#4294 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4296 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4298 …}
      -id: 149716
      -bodyTs: "'also':23 'boy':2 'bug':14 'featur':17 'file':19 'fix':5 'forc':37 'instead':28 'one':18 'part':34 're':10 'scout':3 'sensit':33 'techniqu':4 'time':22 'tri':24 'type':7 'typecheck':40 'unknown':27 'use':26 'work':11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://fedia.io/m/programmer_humor@programming.dev/t/413123/-/comment/2553627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1700632264 {#4285
        date: 2023-11-22 06:51:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4117}
    +body: """
      The fuck the lemons technique: resign and seek an employer that didn’t fail at the most basic level of engineering management and development culture for years and years — because life is short and we’re all running out of time… always.\n
      \n
      > When life hands you lemons, just say fuck the lemons and bail
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 24
    +score: 0
    +lastActive: DateTime @1700653226 {#4321
      date: 2023-11-22 12:40:26.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Zangoose@lemmy.world"
      "@Lowpast@lemmy.world"
      "@0xSim@fedia.io"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4329 …}
    +nested: Doctrine\ORM\PersistentCollection {#4331 …}
    +votes: Doctrine\ORM\PersistentCollection {#4327 …}
    +reports: Doctrine\ORM\PersistentCollection {#4333 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4335 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4337 …}
    -id: 150240
    -bodyTs: "'alway':42 'bail':54 'basic':18 'cultur':25 'develop':24 'didn':12 'employ':10 'engin':21 'fail':14 'fuck':2,50 'hand':45 'lemon':4,47,52 'level':19 'life':31,44 'manag':22 're':36 'resign':6 'run':38 'say':49 'seek':8 'short':33 'techniqu':5 'time':41 'year':27,29"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/5498507"
    +editedAt: null
    +createdAt: DateTimeImmutable @1700653226 {#4318
      date: 2023-11-22 12:40:26.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4117}
  +body: "`combustible lemon`"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1700655664 {#4441
    date: 2023-11-22 13:21:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Zangoose@lemmy.world"
    "@Lowpast@lemmy.world"
    "@0xSim@fedia.io"
    "@WhatAmLemmy@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4445 …}
  +nested: Doctrine\ORM\PersistentCollection {#4447 …}
  +votes: Doctrine\ORM\PersistentCollection {#4449 …}
  +reports: Doctrine\ORM\PersistentCollection {#4451 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4453 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4455 …}
  -id: 150307
  -bodyTs: "'combust':1 'lemon':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/5042870"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700655664 {#4442
    date: 2023-11-22 13:21:04.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
85 DENIED edit
App\Entity\Magazine {#265
  +icon: Proxies\__CG__\App\Entity\Image {#246 …}
  +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 {#275
    date: 2024-10-21 17:14:31.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#237 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
  +entries: Doctrine\ORM\PersistentCollection {#180 …}
  +posts: Doctrine\ORM\PersistentCollection {#138 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
  +bans: Doctrine\ORM\PersistentCollection {#117 …}
  +reports: Doctrine\ORM\PersistentCollection {#103 …}
  +badges: Doctrine\ORM\PersistentCollection {#81 …}
  +logs: Doctrine\ORM\PersistentCollection {#71 …}
  +awards: Doctrine\ORM\PersistentCollection {#1346 …}
  +categories: Doctrine\ORM\PersistentCollection {#1823 …}
  -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 {#269
    date: 2024-09-21 09:14:31.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1700391429 {#271
    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