Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Colombo
Red Hat Certified System Administrator (RHCSA) - RHEL 10
Sanjeewani95
Updated:
Friday at 7:43 PM
NURSING , CAREGIVER , HOTEL & BEAUTY COURSES
IVA Para Medical Campus
Updated:
Thursday at 9:24 AM
Handmade Character Soft Toys Peppa Pig Family
anil1961
Updated:
Wednesday at 9:58 PM
Ad icon
Video Content Creator
pramukag
Updated:
Jun 28, 2026
Ad icon
QA Engineer Intern
pramukag
Updated:
Jun 28, 2026
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
Education
Big IT Words in Simple Words Part 2
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="Fox Mulder89" data-source="post: 18688447" data-attributes="member: 454953"><p><span style="color: Navy"><span style="font-size: 15px"> Simulated Annealing</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">It’s Mount Everest, the biggest challenge you’ve ever faced. Your goal is to reach the summit, but it’s impractical to climb Mount Everest over and over again. You have one chance. You are more cautious now. Instead of always climbing upwards, you occasionally move to a lower point and explore other paths, to reducing your chance of taking the wrong path. The higher you climb, the lower the probability you move to a lower point and explore.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px"> Dynamic Programming</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: *Writes down “1+1+1+1+1+1+1+1 =” on a sheet of paper*</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: What’s that equal to?</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Kid: *counting and 3 seconds later* Eight!</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: *Writes down another “+1″ on the left*</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: What about now?</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Kid: *instantly* Nine!</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: Wow, how did you calculate so fast?</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Kid: You just added one more!</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Dad: So you didn’t need to recount because you remembered it was eight before. Brilliant!</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">The example above describes memoization (yes memoization not memorization), a top-down approach in dynamic programming, which store the results of previous computations for future use.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 12px"><span style="font-size: 15px"> Concurrency</span></span></span></p><p><span style="color: Navy"></span></p><p><span style="color: Navy"></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">Let’s say you work as a secretary in company A. You have to answer phone calls, arrange meetings, typing documents, etc. You always have to switch back and forth between your tasks based on priority. Every time the phone rings, you have to stop whatever task you are working on.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Concurrency is a property of programs and systems that allow tasks to run in overlapping time periods.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px">Race Condition</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">This is what will happen if you allow concurrent transactions in a banking system and race condition isn’t handled:</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">You have $1000 in your bank account.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Someone transfers $500 to you and you withdraw $300 from ATM.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Imagine both transactions are performed at the same time, both transactions will see $1000 as your current balance.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Now, transaction A adds $500 to your account and you have $1500. However, transaction B also sees $1000 as your current balance and it completes a millisecond later, it deducts $300 from $1000 and updates your account balance as $700.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">You now have $700 instead of $1200 because transaction B overwrites transaction A.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">This happens because the banking system isn’t aware of other ongoing transactions.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">So, what can you do to handle the above situation? One really simple way is mutual exclusion.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px">Deadlock</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">Deadlock is another common issue in concurrency system.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Let’s use the same banking system analogy with a different scenario. Just keep in mind that access to a bank account is locked whenever there’s an ongoing transaction.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Peter transfer $1000 to you (transaction A) and you transfer $500 to him at the same time (transaction B).</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Transaction A locks Peter’s account and deducts $1000 from Peter’s account.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Transaction B locks your account and deducts $500 from your account.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Then, transaction A tries access your account to add the $1000 from Peter.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">At the same time, transaction B also tries to add your $500 to Peter’s account.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">However, since both transactions aren’t completed, both can’t access the locked accounts. Both wait for each other to complete. Deadlock.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Here’s a real life example:</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Boy: Let her approach me first.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Girl: Let him approach me first.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px"> Brute-force Attack</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">Try hundreds and thousands of different keys. An experienced burglar will try the most commonly used keys first.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">A brute-force attack tries every possible passwords, and usually starts by guessing commonly used passwords like “123456”, “abcdef”, etc.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px">Social Engineering</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">A couple just moved in next door. They are really nice and helpful. They often invite you over for dinner. One day, you mentioned that you are going for a two-week vacation soon. They happily offered to take care of your dog. You left a spare key for them. Since then, you have not heard any news about them.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">Social engineering is tricking users into revealing their private information.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px"> Trojan Horse</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">A burglar pretends to be a plumber and you unlock the door for him. He fixes your leaking pipe and everything looks perfectly normal. After he left, you discovered that your jewelry is missing.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">A trojan horse is malware program that pretends to be useful or helpful and runs malicious code in the background.</span></span></p><p></p><p><span style="color: Navy"><span style="font-size: 15px"> Rootkit</span></span></p><p></p><p><span style="color: Blue"><span style="font-size: 15px">Your door lock is jammed and you call a locksmith. He fixes your door lock and secretly duplicates another key.</span></span></p><p><span style="color: Blue"><span style="font-size: 15px"></span></span></p><p><span style="color: Blue"><span style="font-size: 15px">A rootkit gains administrator or root access of a computer through various ways like social engineering, then disguise as necessary files that is hard to detect by antivirus software.</span></span></p></blockquote><p></p>
[QUOTE="Fox Mulder89, post: 18688447, member: 454953"] [COLOR="Navy"][SIZE="4"] Simulated Annealing[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]It’s Mount Everest, the biggest challenge you’ve ever faced. Your goal is to reach the summit, but it’s impractical to climb Mount Everest over and over again. You have one chance. You are more cautious now. Instead of always climbing upwards, you occasionally move to a lower point and explore other paths, to reducing your chance of taking the wrong path. The higher you climb, the lower the probability you move to a lower point and explore.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"] Dynamic Programming[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]Dad: *Writes down “1+1+1+1+1+1+1+1 =” on a sheet of paper* Dad: What’s that equal to? Kid: *counting and 3 seconds later* Eight! Dad: *Writes down another “+1″ on the left* Dad: What about now? Kid: *instantly* Nine! Dad: Wow, how did you calculate so fast? Kid: You just added one more! Dad: So you didn’t need to recount because you remembered it was eight before. Brilliant! The example above describes memoization (yes memoization not memorization), a top-down approach in dynamic programming, which store the results of previous computations for future use.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="3"][SIZE="4"] Concurrency[/SIZE][/SIZE] [/COLOR] [COLOR="Blue"][SIZE="4"]Let’s say you work as a secretary in company A. You have to answer phone calls, arrange meetings, typing documents, etc. You always have to switch back and forth between your tasks based on priority. Every time the phone rings, you have to stop whatever task you are working on. Concurrency is a property of programs and systems that allow tasks to run in overlapping time periods.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"]Race Condition[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]This is what will happen if you allow concurrent transactions in a banking system and race condition isn’t handled: You have $1000 in your bank account. Someone transfers $500 to you and you withdraw $300 from ATM. Imagine both transactions are performed at the same time, both transactions will see $1000 as your current balance. Now, transaction A adds $500 to your account and you have $1500. However, transaction B also sees $1000 as your current balance and it completes a millisecond later, it deducts $300 from $1000 and updates your account balance as $700. You now have $700 instead of $1200 because transaction B overwrites transaction A. This happens because the banking system isn’t aware of other ongoing transactions. So, what can you do to handle the above situation? One really simple way is mutual exclusion.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"]Deadlock[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]Deadlock is another common issue in concurrency system. Let’s use the same banking system analogy with a different scenario. Just keep in mind that access to a bank account is locked whenever there’s an ongoing transaction. Peter transfer $1000 to you (transaction A) and you transfer $500 to him at the same time (transaction B). Transaction A locks Peter’s account and deducts $1000 from Peter’s account. Transaction B locks your account and deducts $500 from your account. Then, transaction A tries access your account to add the $1000 from Peter. At the same time, transaction B also tries to add your $500 to Peter’s account. However, since both transactions aren’t completed, both can’t access the locked accounts. Both wait for each other to complete. Deadlock. Here’s a real life example: Boy: Let her approach me first. Girl: Let him approach me first.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"] Brute-force Attack[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]Try hundreds and thousands of different keys. An experienced burglar will try the most commonly used keys first. A brute-force attack tries every possible passwords, and usually starts by guessing commonly used passwords like “123456”, “abcdef”, etc.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"]Social Engineering[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]A couple just moved in next door. They are really nice and helpful. They often invite you over for dinner. One day, you mentioned that you are going for a two-week vacation soon. They happily offered to take care of your dog. You left a spare key for them. Since then, you have not heard any news about them. Social engineering is tricking users into revealing their private information.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"] Trojan Horse[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]A burglar pretends to be a plumber and you unlock the door for him. He fixes your leaking pipe and everything looks perfectly normal. After he left, you discovered that your jewelry is missing. A trojan horse is malware program that pretends to be useful or helpful and runs malicious code in the background.[/SIZE][/COLOR] [COLOR="Navy"][SIZE="4"] Rootkit[/SIZE][/COLOR] [COLOR="Blue"][SIZE="4"]Your door lock is jammed and you call a locksmith. He fixes your door lock and secretly duplicates another key. A rootkit gains administrator or root access of a computer through various ways like social engineering, then disguise as necessary files that is hard to detect by antivirus software.[/SIZE][/COLOR] [/QUOTE]
Insert quotes…
Verification
Haya warak paha keeyada? (haya wadi kireema paha)
Post reply
Top
Bottom