GET https://kbin.spritesserver.nl/u/@harsh3466@lemmy.world/threads/hot

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 …}
}
0.90 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.07 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

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

Access Decision

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

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2363
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "What-I-ve-Learned-This-Week"
  +title: "What I've Learned This Week"
  +url: null
  +body: """
    I’ve been homelabbing for a few years now, and recently I’ve really been focusing in on learning how to use gnu/linux. I thought it might be fun to periodically share the things I’ve been learning. The stand outs for me this past week were:\n
    \n
    1. Use the full path when referencing files and directories in bash scripts *(Edit: when it makes sense, which is something I’m also still learning. This mkaes sense when the files will always be located in the same place.)*\n
    2. In a bash script, the variable `${file##*/}` will get you the name of the file your script is handling *(example, when looping over files in a directory. I believe that’s a shell/bash standard variable, but I need to learn where it came from and how it works)*\n
    3. Ubuntu gets a ton of justifiable criticism, but I find [Canonical’s Multipass](https://multipass.run/) to be a great tool for spinning up Linux virtual machines. Especially on Apple silicon macs.\n
    4. Piping the output of `ls` to `grep` as a variable in a path is a great way to change to a directory you know exists but can’t remember the exact name of. *(Example:* `cd ~/movies/“$(ls ~/movies | grep movie-name)”`*)*\n
    5. The reason Mac cli utilities have syntax variations compared to the standard gnu/linux utilities is because macOS and its cli utilities are BSD based. This was information I knew at a high level, but had never really understood the implications of until this week.\n
    6. Related to point 5, if you’re on macOS trying to learn and you’re annoyed by the syntax differences between bsd and gnu utilities, you can run [this script from darksonic37 on github](https://github.com/darksonic37/linuxify) to remove the bsd utilities from macOS and replace them with their gnu counterparts. *(I have not run or reviewed the script. I found mulitpass first, and so far I’m happy using the Ubuntu virtual machine)*
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 10
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728225865 {#2467
    date: 2024-10-06 16:44:25.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2360 …}
  +reports: Doctrine\ORM\PersistentCollection {#2361 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#2385 …}
  +children: []
  -id: 32596
  -titleTs: "'learn':4 've':3 'week':6"
  -bodyTs: "'/)':153 '/darksonic37/linuxify)':295 '/movies':206,208 '1':48 '2':88 '3':137 '4':170 '5':213,262 '6':258 'also':71 'alway':81 'annoy':274 'appl':167 'base':237 'bash':59,91 'believ':117 'bsd':236,280,299 'came':131 'canon':148 'cd':205 'chang':189 'cli':217,233 'compar':222 'counterpart':309 'critic':144 'darksonic37':290 'differ':278 'directori':57,115,192 'edit':61 'especi':165 'exact':201 'exampl':108,204 'exist':195 'far':324 'file':55,79,95,103,112 'find':147 'first':321 'focus':16 'found':319 'full':51 'fun':29 'get':97,139 'github':292 'github.com':294 'github.com/darksonic37/linuxify)':293 'gnu':282,308 'gnu/linux':23,226 'great':157,186 'grep':177,209 'handl':107 'happi':327 'high':245 'homelab':4 'implic':253 'inform':240 'justifi':143 'knew':242 'know':194 'learn':19,38,73,128,270 'level':246 'linux':162 'locat':83 'loop':110 'ls':175,207 'm':70,326 'mac':169,216 'machin':164,332 'maco':230,267,302 'make':64 'might':27 'mkae':75 'movi':211 'movie-nam':210 'mulitpass':320 'multipass':150 'multipass.run':152 'multipass.run/)':151 'name':100,202,212 'need':126 'never':249 'out':41 'output':173 'past':45 'path':52,183 'period':31 'pipe':171 'place':87 'point':261 're':265,273 'realli':14,250 'reason':215 'recent':11 'referenc':54 'relat':259 'rememb':199 'remov':297 'replac':304 'review':315 'run':286,313 'script':60,92,105,288,317 'sens':65,76 'share':32 'shell/bash':121 'silicon':168 'someth':68 'spin':160 'stand':40 'standard':122,225 'still':72 'syntax':220,277 'thing':34 'thought':25 'ton':141 'tool':158 'tri':268 'ubuntu':138,330 'understood':251 'use':22,49,328 'util':218,227,234,283,300 'variabl':94,123,180 'variat':221 've':2,13,36 'virtual':163,331 'way':187 'week':46,257 'work':136 'year':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706105867
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11082140"
  +editedAt: DateTimeImmutable @1727976369 {#2471
    date: 2024-10-03 19:26:09.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706019467 {#2371
    date: 2024-01-23 15:17:47.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 {#2363
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "What-I-ve-Learned-This-Week"
  +title: "What I've Learned This Week"
  +url: null
  +body: """
    I’ve been homelabbing for a few years now, and recently I’ve really been focusing in on learning how to use gnu/linux. I thought it might be fun to periodically share the things I’ve been learning. The stand outs for me this past week were:\n
    \n
    1. Use the full path when referencing files and directories in bash scripts *(Edit: when it makes sense, which is something I’m also still learning. This mkaes sense when the files will always be located in the same place.)*\n
    2. In a bash script, the variable `${file##*/}` will get you the name of the file your script is handling *(example, when looping over files in a directory. I believe that’s a shell/bash standard variable, but I need to learn where it came from and how it works)*\n
    3. Ubuntu gets a ton of justifiable criticism, but I find [Canonical’s Multipass](https://multipass.run/) to be a great tool for spinning up Linux virtual machines. Especially on Apple silicon macs.\n
    4. Piping the output of `ls` to `grep` as a variable in a path is a great way to change to a directory you know exists but can’t remember the exact name of. *(Example:* `cd ~/movies/“$(ls ~/movies | grep movie-name)”`*)*\n
    5. The reason Mac cli utilities have syntax variations compared to the standard gnu/linux utilities is because macOS and its cli utilities are BSD based. This was information I knew at a high level, but had never really understood the implications of until this week.\n
    6. Related to point 5, if you’re on macOS trying to learn and you’re annoyed by the syntax differences between bsd and gnu utilities, you can run [this script from darksonic37 on github](https://github.com/darksonic37/linuxify) to remove the bsd utilities from macOS and replace them with their gnu counterparts. *(I have not run or reviewed the script. I found mulitpass first, and so far I’m happy using the Ubuntu virtual machine)*
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 10
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728225865 {#2467
    date: 2024-10-06 16:44:25.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2360 …}
  +reports: Doctrine\ORM\PersistentCollection {#2361 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#2385 …}
  +children: []
  -id: 32596
  -titleTs: "'learn':4 've':3 'week':6"
  -bodyTs: "'/)':153 '/darksonic37/linuxify)':295 '/movies':206,208 '1':48 '2':88 '3':137 '4':170 '5':213,262 '6':258 'also':71 'alway':81 'annoy':274 'appl':167 'base':237 'bash':59,91 'believ':117 'bsd':236,280,299 'came':131 'canon':148 'cd':205 'chang':189 'cli':217,233 'compar':222 'counterpart':309 'critic':144 'darksonic37':290 'differ':278 'directori':57,115,192 'edit':61 'especi':165 'exact':201 'exampl':108,204 'exist':195 'far':324 'file':55,79,95,103,112 'find':147 'first':321 'focus':16 'found':319 'full':51 'fun':29 'get':97,139 'github':292 'github.com':294 'github.com/darksonic37/linuxify)':293 'gnu':282,308 'gnu/linux':23,226 'great':157,186 'grep':177,209 'handl':107 'happi':327 'high':245 'homelab':4 'implic':253 'inform':240 'justifi':143 'knew':242 'know':194 'learn':19,38,73,128,270 'level':246 'linux':162 'locat':83 'loop':110 'ls':175,207 'm':70,326 'mac':169,216 'machin':164,332 'maco':230,267,302 'make':64 'might':27 'mkae':75 'movi':211 'movie-nam':210 'mulitpass':320 'multipass':150 'multipass.run':152 'multipass.run/)':151 'name':100,202,212 'need':126 'never':249 'out':41 'output':173 'past':45 'path':52,183 'period':31 'pipe':171 'place':87 'point':261 're':265,273 'realli':14,250 'reason':215 'recent':11 'referenc':54 'relat':259 'rememb':199 'remov':297 'replac':304 'review':315 'run':286,313 'script':60,92,105,288,317 'sens':65,76 'share':32 'shell/bash':121 'silicon':168 'someth':68 'spin':160 'stand':40 'standard':122,225 'still':72 'syntax':220,277 'thing':34 'thought':25 'ton':141 'tool':158 'tri':268 'ubuntu':138,330 'understood':251 'use':22,49,328 'util':218,227,234,283,300 'variabl':94,123,180 'variat':221 've':2,13,36 'virtual':163,331 'way':187 'week':46,257 'work':136 'year':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706105867
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11082140"
  +editedAt: DateTimeImmutable @1727976369 {#2471
    date: 2024-10-03 19:26:09.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706019467 {#2371
    date: 2024-01-23 15:17:47.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 {#2363
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "What-I-ve-Learned-This-Week"
  +title: "What I've Learned This Week"
  +url: null
  +body: """
    I’ve been homelabbing for a few years now, and recently I’ve really been focusing in on learning how to use gnu/linux. I thought it might be fun to periodically share the things I’ve been learning. The stand outs for me this past week were:\n
    \n
    1. Use the full path when referencing files and directories in bash scripts *(Edit: when it makes sense, which is something I’m also still learning. This mkaes sense when the files will always be located in the same place.)*\n
    2. In a bash script, the variable `${file##*/}` will get you the name of the file your script is handling *(example, when looping over files in a directory. I believe that’s a shell/bash standard variable, but I need to learn where it came from and how it works)*\n
    3. Ubuntu gets a ton of justifiable criticism, but I find [Canonical’s Multipass](https://multipass.run/) to be a great tool for spinning up Linux virtual machines. Especially on Apple silicon macs.\n
    4. Piping the output of `ls` to `grep` as a variable in a path is a great way to change to a directory you know exists but can’t remember the exact name of. *(Example:* `cd ~/movies/“$(ls ~/movies | grep movie-name)”`*)*\n
    5. The reason Mac cli utilities have syntax variations compared to the standard gnu/linux utilities is because macOS and its cli utilities are BSD based. This was information I knew at a high level, but had never really understood the implications of until this week.\n
    6. Related to point 5, if you’re on macOS trying to learn and you’re annoyed by the syntax differences between bsd and gnu utilities, you can run [this script from darksonic37 on github](https://github.com/darksonic37/linuxify) to remove the bsd utilities from macOS and replace them with their gnu counterparts. *(I have not run or reviewed the script. I found mulitpass first, and so far I’m happy using the Ubuntu virtual machine)*
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 10
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728225865 {#2467
    date: 2024-10-06 16:44:25.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2370 …}
  +votes: Doctrine\ORM\PersistentCollection {#2360 …}
  +reports: Doctrine\ORM\PersistentCollection {#2361 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2372 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2386 …}
  +badges: Doctrine\ORM\PersistentCollection {#2385 …}
  +children: []
  -id: 32596
  -titleTs: "'learn':4 've':3 'week':6"
  -bodyTs: "'/)':153 '/darksonic37/linuxify)':295 '/movies':206,208 '1':48 '2':88 '3':137 '4':170 '5':213,262 '6':258 'also':71 'alway':81 'annoy':274 'appl':167 'base':237 'bash':59,91 'believ':117 'bsd':236,280,299 'came':131 'canon':148 'cd':205 'chang':189 'cli':217,233 'compar':222 'counterpart':309 'critic':144 'darksonic37':290 'differ':278 'directori':57,115,192 'edit':61 'especi':165 'exact':201 'exampl':108,204 'exist':195 'far':324 'file':55,79,95,103,112 'find':147 'first':321 'focus':16 'found':319 'full':51 'fun':29 'get':97,139 'github':292 'github.com':294 'github.com/darksonic37/linuxify)':293 'gnu':282,308 'gnu/linux':23,226 'great':157,186 'grep':177,209 'handl':107 'happi':327 'high':245 'homelab':4 'implic':253 'inform':240 'justifi':143 'knew':242 'know':194 'learn':19,38,73,128,270 'level':246 'linux':162 'locat':83 'loop':110 'ls':175,207 'm':70,326 'mac':169,216 'machin':164,332 'maco':230,267,302 'make':64 'might':27 'mkae':75 'movi':211 'movie-nam':210 'mulitpass':320 'multipass':150 'multipass.run':152 'multipass.run/)':151 'name':100,202,212 'need':126 'never':249 'out':41 'output':173 'past':45 'path':52,183 'period':31 'pipe':171 'place':87 'point':261 're':265,273 'realli':14,250 'reason':215 'recent':11 'referenc':54 'relat':259 'rememb':199 'remov':297 'replac':304 'review':315 'run':286,313 'script':60,92,105,288,317 'sens':65,76 'share':32 'shell/bash':121 'silicon':168 'someth':68 'spin':160 'stand':40 'standard':122,225 'still':72 'syntax':220,277 'thing':34 'thought':25 'ton':141 'tool':158 'tri':268 'ubuntu':138,330 'understood':251 'use':22,49,328 'util':218,227,234,283,300 'variabl':94,123,180 'variat':221 've':2,13,36 'virtual':163,331 'way':187 'week':46,257 'work':136 'year':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706105867
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11082140"
  +editedAt: DateTimeImmutable @1727976369 {#2471
    date: 2024-10-03 19:26:09.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706019467 {#2371
    date: 2024-01-23 15:17:47.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\Entry {#1576
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "I-m-an-idiot-arm"
  +title: "I'm an idiot (arm)"
  +url: null
  +body: """
    EDIT: Putting this at the top because not everyone is seeing what I actually need. I can unpack the rar archive just fine. What I can’t do (on arm) is add to/update the files in the rar archive. I have unrar already installed. What I can’t install is the rar package to create/update rar archives.\n
    \n
    So I’ve been banging my head against the wall for about half an hour trying to install the rar package from the multiverse repository on an Ubuntu 23.10 vm I have running on my m1 mac mini. I finally ended up on [pkgs.org](https://pkgs.org) and searched up rar to see if I could download it directly instead of using apt.\n
    \n
    And it was there I realized there’s no arm version of rar.\n
    \n
    Side note, any recommendations for an arm utility that handles rar files? I already have unrar-free installed, but what I need is something to update/add files to existing rar files.\n
    \n
    Worst case scenario I unrar them and then repackage them with tar or zip, but if I can just work with the rar archive, I’d prefer that.\n
    \n
    Edit: I got excited for a second remembering that I’ve got rar installed via homebrew on that same m1 mac, but when I tried to install homebrew in the vm, I learned that homebrew doesn’t officially support arm.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 21
  +favouriteCount: 43
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1705524211 {#1572
    date: 2024-01-17 21:43:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1702 …}
  +votes: Doctrine\ORM\PersistentCollection {#1683 …}
  +reports: Doctrine\ORM\PersistentCollection {#1689 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
  +badges: Doctrine\ORM\PersistentCollection {#2464 …}
  +children: []
  -id: 30843
  -titleTs: "'arm':5 'idiot':4 'm':2"
  -bodyTs: "'23.10':86 'actual':14 'add':32 'alreadi':43,145 'apt':118 'archiv':21,39,57,187 'arm':30,128,138,231 'bang':62 'case':165 'could':111 'create/update':55 'd':189 'direct':114 'doesn':227 'download':112 'edit':1,192 'end':98 'everyon':9 'excit':195 'exist':161 'file':35,143,159,163 'final':97 'fine':23 'free':149 'got':194,203 'half':70 'handl':141 'head':64 'homebrew':207,219,226 'hour':72 'instal':44,49,75,150,205,218 'instead':115 'learn':224 'm1':93,211 'mac':94,212 'mini':95 'multivers':81 'need':15,154 'note':133 'offici':229 'packag':53,78 'pkgs.org':101,102 'prefer':190 'put':2 'rar':20,38,52,56,77,106,131,142,162,186,204 'realiz':124 'recommend':135 'rememb':199 'repackag':172 'repositori':82 'run':90 'scenario':166 'search':104 'second':198 'see':11,108 'side':132 'someth':156 'support':230 'tar':175 'to/update':33 'top':6 'tri':73,216 'ubuntu':85 'unpack':18 'unrar':42,148,168 'unrar-fre':147 'update/add':158 'use':117 'util':139 've':60,202 'version':129 'via':206 'vm':87,222 'wall':67 'work':183 'worst':164 'zip':177"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705461120
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10766460"
  +editedAt: DateTimeImmutable @1725148824 {#1660
    date: 2024-09-01 02:00:24.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705374720 {#1587
    date: 2024-01-16 04:12:00.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
7 DENIED edit
App\Entity\Entry {#1576
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "I-m-an-idiot-arm"
  +title: "I'm an idiot (arm)"
  +url: null
  +body: """
    EDIT: Putting this at the top because not everyone is seeing what I actually need. I can unpack the rar archive just fine. What I can’t do (on arm) is add to/update the files in the rar archive. I have unrar already installed. What I can’t install is the rar package to create/update rar archives.\n
    \n
    So I’ve been banging my head against the wall for about half an hour trying to install the rar package from the multiverse repository on an Ubuntu 23.10 vm I have running on my m1 mac mini. I finally ended up on [pkgs.org](https://pkgs.org) and searched up rar to see if I could download it directly instead of using apt.\n
    \n
    And it was there I realized there’s no arm version of rar.\n
    \n
    Side note, any recommendations for an arm utility that handles rar files? I already have unrar-free installed, but what I need is something to update/add files to existing rar files.\n
    \n
    Worst case scenario I unrar them and then repackage them with tar or zip, but if I can just work with the rar archive, I’d prefer that.\n
    \n
    Edit: I got excited for a second remembering that I’ve got rar installed via homebrew on that same m1 mac, but when I tried to install homebrew in the vm, I learned that homebrew doesn’t officially support arm.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 21
  +favouriteCount: 43
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1705524211 {#1572
    date: 2024-01-17 21:43:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1702 …}
  +votes: Doctrine\ORM\PersistentCollection {#1683 …}
  +reports: Doctrine\ORM\PersistentCollection {#1689 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
  +badges: Doctrine\ORM\PersistentCollection {#2464 …}
  +children: []
  -id: 30843
  -titleTs: "'arm':5 'idiot':4 'm':2"
  -bodyTs: "'23.10':86 'actual':14 'add':32 'alreadi':43,145 'apt':118 'archiv':21,39,57,187 'arm':30,128,138,231 'bang':62 'case':165 'could':111 'create/update':55 'd':189 'direct':114 'doesn':227 'download':112 'edit':1,192 'end':98 'everyon':9 'excit':195 'exist':161 'file':35,143,159,163 'final':97 'fine':23 'free':149 'got':194,203 'half':70 'handl':141 'head':64 'homebrew':207,219,226 'hour':72 'instal':44,49,75,150,205,218 'instead':115 'learn':224 'm1':93,211 'mac':94,212 'mini':95 'multivers':81 'need':15,154 'note':133 'offici':229 'packag':53,78 'pkgs.org':101,102 'prefer':190 'put':2 'rar':20,38,52,56,77,106,131,142,162,186,204 'realiz':124 'recommend':135 'rememb':199 'repackag':172 'repositori':82 'run':90 'scenario':166 'search':104 'second':198 'see':11,108 'side':132 'someth':156 'support':230 'tar':175 'to/update':33 'top':6 'tri':73,216 'ubuntu':85 'unpack':18 'unrar':42,148,168 'unrar-fre':147 'update/add':158 'use':117 'util':139 've':60,202 'version':129 'via':206 'vm':87,222 'wall':67 'work':183 'worst':164 'zip':177"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705461120
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10766460"
  +editedAt: DateTimeImmutable @1725148824 {#1660
    date: 2024-09-01 02:00:24.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705374720 {#1587
    date: 2024-01-16 04:12:00.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
8 DENIED moderate
App\Entity\Entry {#1576
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "I-m-an-idiot-arm"
  +title: "I'm an idiot (arm)"
  +url: null
  +body: """
    EDIT: Putting this at the top because not everyone is seeing what I actually need. I can unpack the rar archive just fine. What I can’t do (on arm) is add to/update the files in the rar archive. I have unrar already installed. What I can’t install is the rar package to create/update rar archives.\n
    \n
    So I’ve been banging my head against the wall for about half an hour trying to install the rar package from the multiverse repository on an Ubuntu 23.10 vm I have running on my m1 mac mini. I finally ended up on [pkgs.org](https://pkgs.org) and searched up rar to see if I could download it directly instead of using apt.\n
    \n
    And it was there I realized there’s no arm version of rar.\n
    \n
    Side note, any recommendations for an arm utility that handles rar files? I already have unrar-free installed, but what I need is something to update/add files to existing rar files.\n
    \n
    Worst case scenario I unrar them and then repackage them with tar or zip, but if I can just work with the rar archive, I’d prefer that.\n
    \n
    Edit: I got excited for a second remembering that I’ve got rar installed via homebrew on that same m1 mac, but when I tried to install homebrew in the vm, I learned that homebrew doesn’t officially support arm.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 21
  +favouriteCount: 43
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1705524211 {#1572
    date: 2024-01-17 21:43:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1702 …}
  +votes: Doctrine\ORM\PersistentCollection {#1683 …}
  +reports: Doctrine\ORM\PersistentCollection {#1689 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1724 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1727 …}
  +badges: Doctrine\ORM\PersistentCollection {#2464 …}
  +children: []
  -id: 30843
  -titleTs: "'arm':5 'idiot':4 'm':2"
  -bodyTs: "'23.10':86 'actual':14 'add':32 'alreadi':43,145 'apt':118 'archiv':21,39,57,187 'arm':30,128,138,231 'bang':62 'case':165 'could':111 'create/update':55 'd':189 'direct':114 'doesn':227 'download':112 'edit':1,192 'end':98 'everyon':9 'excit':195 'exist':161 'file':35,143,159,163 'final':97 'fine':23 'free':149 'got':194,203 'half':70 'handl':141 'head':64 'homebrew':207,219,226 'hour':72 'instal':44,49,75,150,205,218 'instead':115 'learn':224 'm1':93,211 'mac':94,212 'mini':95 'multivers':81 'need':15,154 'note':133 'offici':229 'packag':53,78 'pkgs.org':101,102 'prefer':190 'put':2 'rar':20,38,52,56,77,106,131,142,162,186,204 'realiz':124 'recommend':135 'rememb':199 'repackag':172 'repositori':82 'run':90 'scenario':166 'search':104 'second':198 'see':11,108 'side':132 'someth':156 'support':230 'tar':175 'to/update':33 'top':6 'tri':73,216 'ubuntu':85 'unpack':18 'unrar':42,148,168 'unrar-fre':147 'update/add':158 'use':117 'util':139 've':60,202 'version':129 'via':206 'vm':87,222 'wall':67 'work':183 'worst':164 'zip':177"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705461120
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10766460"
  +editedAt: DateTimeImmutable @1725148824 {#1660
    date: 2024-09-01 02:00:24.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705374720 {#1587
    date: 2024-01-16 04:12:00.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
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\Entry {#2461
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1740
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2452 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2454 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2459 …}
  +badges: Doctrine\ORM\PersistentCollection {#2470 …}
  +children: []
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1717
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#2462
    date: 2023-12-24 23:15:31.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
11 DENIED edit
App\Entity\Entry {#2461
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1740
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2452 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2454 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2459 …}
  +badges: Doctrine\ORM\PersistentCollection {#2470 …}
  +children: []
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1717
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#2462
    date: 2023-12-24 23:15:31.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
12 DENIED moderate
App\Entity\Entry {#2461
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1731 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1619 …}
  +slug: "My-First-Regular-Expressions"
  +title: "My First Regular Expressions"
  +url: null
  +body: """
    I’ve been reading *Mastering Regular Expressions* by Jeffrey E.F. Friedl, and since nobody in my life (aside from my wife) cares, I thought I’d share something I’m pretty proud of. My first set of regular expressions, that I wrote myself to manipulate the text I’m working with.\n
    \n
    What’s I’m so happy about is that I wrote these expressions. I understand exactly what they do and the purpose of each character in each expression.\n
    \n
    I’ve used regex in the past. Stuff cobbled together from stack overflow, but I never really understood how they worked or what the expressions meant, just that they did what I needed them to do at the time.\n
    \n
    I’m only about 10% of the way through the book, but already I understand so much more than I ever did about regex *(I also recognize I have a lot to learn)*.\n
    \n
    I wrote the expressions to be used with egrep and sed to generate and clean up a list of filenames pulled out of tarballs. *(movies I’ve ripped from my DVD collection and tarballed to archive them)*.\n
    \n
    The first expression I wrote was this one used with tar and egrep to list the files in the tarball and get just the name of the video file:\n
    \n
    `tar -tzvf file.tar.gz | egrep -o ‘/[^/]*.m(kv|p4)’ > movielist`\n
    \n
    Which gives me a list of movies of which this is an example:\n
    \n
    `/The.Hunger.Games.(2012).[tmdbid-70160].mp4`\n
    \n
    Then I used sed with the expression groups to remove:\n
    \n
    - the leading forward slash\n
    - Everything from `.[` to the end\n
    - All of the periods in between words\n
    \n
    And the last expression checks for one or more spaces and replaces them with a single space.\n
    \n
    This is the full sed command:\n
    \n
    `sed -Eie ‘s/^///; s/.[[a-z]±[0-9]+].m(p4|kv)//; s/[^a-zA-Z0-9()&-]/ /g; s/ +/ /g’ movielist`\n
    \n
    Which leaves me with a pretty list of movies that looks like this:\n
    \n
    `The Hunger Games (2012)`\n
    \n
    I’m sure this could be done more elegantly, and I’m happy for any feedback on how to do that! For now, I’m just excited that I’m beginning to understand regex and how to use it!\n
    \n
    Edit: fixed title so it didn’t say “regex expressions”
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 63
  +favouriteCount: 214
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711562613 {#1740
    date: 2024-03-27 19:03:33.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2458 …}
  +votes: Doctrine\ORM\PersistentCollection {#2422 …}
  +reports: Doctrine\ORM\PersistentCollection {#2452 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2454 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2459 …}
  +badges: Doctrine\ORM\PersistentCollection {#2470 …}
  +children: []
  -id: 24511
  -titleTs: "'express':4 'first':2 'regular':3"
  -bodyTs: "'-70160':243 '-9':302 '/g':312,314 '/the.hunger.games':240 '0':301 '10':123 '2012':241,332 '9':311 'a-z':298 'a-za-z0':307 'alreadi':131 'also':144 'archiv':187 'asid':18 'begin':363 'book':129 'care':22 'charact':76 'check':275 'clean':166 'cobbl':88 'collect':183 'command':293 'could':337 'd':26 'didn':377 'done':339 'dvd':182 'e.f':10 'edit':372 'egrep':160,201,221 'eie':295 'eleg':341 'end':263 'ever':139 'everyth':259 'exact':67 'exampl':239 'excit':359 'express':7,39,64,79,104,155,191,251,274,381 'feedback':348 'file':205,217 'file.tar.gz':220 'filenam':171 'first':35,190 'fix':373 'forward':257 'friedl':11 'full':291 'game':331 'generat':164 'get':210 'give':228 'group':252 'happi':57,345 'hunger':330 'jeffrey':9 'kv':224,305 'last':273 'lead':256 'learn':151 'leav':317 'life':17 'like':327 'list':169,203,231,322 'look':326 'lot':149 'm':30,49,55,120,223,303,334,344,357,362 'manipul':45 'master':5 'meant':105 'movi':176,233,324 'movielist':226,315 'mp4':244 'much':135 'name':213 'need':112 'never':95 'nobodi':14 'o':222 'one':196,277 'overflow':92 'p4':225,304 'past':86 'period':267 'pretti':31,321 'proud':32 'pull':172 'purpos':73 'read':4 'realli':96 'recogn':145 'regex':83,142,366,380 'regular':6,38 'remov':254 'replac':282 'rip':179 'say':379 'sed':162,248,292,294 'set':36 'share':27 'sinc':13 'singl':286 'slash':258 'someth':28 'space':280,287 'stack':91 'stuff':87 'sure':335 'tar':199,218 'tarbal':175,185,208 'text':47 'thought':24 'time':118 'titl':374 'tmdbid':242 'togeth':89 'tzvf':219 'understand':66,133,365 'understood':97 'use':82,158,197,247,370 've':2,81,178 'video':216 'way':126 'wife':21 'word':270 'work':50,100 'wrote':42,62,153,193 'z':300 'z0':310 'za':309"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1703542531
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9942188"
  +editedAt: DateTimeImmutable @1707607314 {#1717
    date: 2024-02-11 00:21:54.0 +01:00
  }
  +createdAt: DateTimeImmutable @1703456131 {#2462
    date: 2023-12-24 23:15:31.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