I am a long-time Anki user who is just now returning to use it to study for my Security+ class, and I am experiencing lag when I type in the new card fields. Here are the steps to replicate my symptoms.
To begin, I will take a section of the training guide and will paste it into a new Cloze flash card. Below is an exact example of my beginning text from Dion’s training. I will then take that text and remove all formatting. Next, I will turn it into multiple cloze cards on the same card until the class session is done, which is shown below as well.
I will then take the edited data and cut/paste them into new flash cards. If, however, I have to add new data that was not in the training notes, then I experience keystroke lag. As soon as I start typing, my keystrokes will begin to lag and simultaneously I’ll hear my computer fan start spinning up. Once I am done typing, the text will eventually fill in and the fan will go back to normal. Note, selecting text and marking as cloze does not produce lag. Nor does deleting, cutting, or pasting the data or symbols.
For reference, I have an Alienware R10 with 128 GB RAM and a NVIDIA GeForce RTX 3080 video card running Windows 11. My computer will run anything I throw at it at max settings on a 34 inch widescreen Dell gaming monitor with no lag. I have also never experienced lag in Anki through the years. So obviously this issue has me mystified.
Things I have done to try to resolve the issue:
- Rebooted
- Tried all the 24.04.1 Qt6 video driver options with reboots in between
- Downgraded to 24.04.1 Qt5 and tried all video driver options with reboots in between
- Reset my window sizes
- Opened Anki holding the shift key
- Checked my database, empty cards, and images
- Removed the symbols from the text above
- Copied the data to notepad and then to Anki, removing formatting
- I have no mods
Thoughts on how to resolve this issue?
Beginning Text Example:
● Hashing
○ Hashing
■ One-way cryptographic function that produces a unique message digest from an input
○ Hash Digest
■ Like a digital fingerprint for the original data
■ Always of the same length regardless of the input’s length ○ Common Hashing Algorithms
■ MD5 (Message Digest Algorithm 5)
● Creates a 128-bit hash value
● Limited unique values, leading to collisions
● Not recommended for security-critical applications due to vulnerabilities
SHA (Secure Hash Algorithm) Family
● SHA-1
○ Produces a 160-bit hash digest, less prone to collisions than MD5
● SHA-2
○ Offers longer hash digests (SHA-224, SHA-256, SHA-348, SHA-512)
● SHA-3
○ Uses 224-bit to 512-bit hash digests, more secure, 120 rounds of computations
■ RIPEMD (RACE Integrity Primitive Evaluation Message Digest) ● Versions available
○ 160-bit (Most common)
○ 256-bit
○ 320-bit
● Open-source competitor to SHA but less popular
■ HMAC (Hash-based Message Authentication Code)
● Checks message integrity and authenticity
● Utilizes other hashing algorithms (e.g., HMAC-MD5, HMAC-SHA1,
HMAC-SHA256) ○ Digital Signatures
■ Uses a hash digest encrypted with a private key
■ Sender hashes the message and encrypts the hash with their private key
■ Recipient decrypts the digital signature using the sender’s public key
■ Verifies integrity of the message and ensures non-repudiation ○ Common Digital Signature Algorithms
■ DSA (Digital Security Algorithm)
Utilized for digital signatures
● Uses a 160-bit message digest created by DSS (Digital Security Standard) ■ RSA (Rivest-Shamir-Adleman)
● Supports digital signatures, encryption, and key distribution
● Widely used in various applications, including code signing
○ Hashes change drastically even with minor changes in input
○ Hashing is used to verify data integrity and detect any changes
End Text Example:
Hashing = {{c1::One-way cryptographic function that produces a unique message digest from an input}}
Hash Digest = like a digital fingerprint for the original data, it is always of the same length regardless of the input’s length
Common Hashing Algorithms
MD5 (Message Digest Algorithm 5) Hashing Algorithms creates a {{c1::128-bit}} hash value
MD5 (Message Digest Algorithm 5) Hashing Algorithms are limited to {{c1::unique values, leading to collisions}}
MD5 (Message Digest Algorithm 5) Hashing Algorithms are not recommended for {{c1::security-critical applications}} due to vulnerabilities
SHA-1 (Secure Hash Algorithm) produces a {{c1::160-bit}} hash digest and is {{c1::less prone to collisions than MD5}}
SHA-2 (Secure Hash Algorithm) offers longer hash digests (SHA-224, SHA-256, SHA-348, SHA-512)
SHA-3 (Secure Hash Algorithm) Uses {{c1::224-bit to 512-bit}} hash digests and is more secure because it has {{c1::120 rounds of computations}}
RIPEMD (RACE Integrity Primitive Evaluation Message Digest) is an open-source competitor to {{c1::SHA}} but less popular
HMAC (Hash-based Message Authentication Code) checks message {{c1::integrity and authenticity}}
HMAC (Hash-based Message Authentication Code) utilizes other hashing algorithms (e.g., {{c1::HMAC-MD5, HMAC-SHA1,
HMAC-SHA256}})
Digital Signature Process
The sender {{c1::hashes the message and encrypts the hash with their private key}}.
The recipient {{c1::decrypts the digital signature using the sender’s public key}}.
This process verifies the {{c1::integrity of the message}} and {{c1::ensures non-repudiation}}
DSA (Digital Security Algorithm) Digital Signature Algorithm creates digital signatures using a {{c1::160-bit message digest created by DSS (Digital Security Standard)}}
RSA (Rivest-Shamir-Adleman) Digital Signature Algorithm supports {{c1::digital signatures}}, {{c1::encryption}}, and {{c1::key distribution}} and is widely used in {{c1::various applications, including code signing}}
Digital Signature hashes change drastically even with minor changes in input. For this reason, Digital Signature hashing is used to {{c1::verify data integrity}} and {{c1::detect any changes}}