Recovering data after physical damage

A wide variety of failures can cause physical damage to storage media. CD-ROMs can have their metallic substrate or dye layer scratched off; hard disks can suffer any of several mechanical failures, such as head crashes and failed motors; tapes can simply break. Physical damage always causes at least some data loss, and in many cases the logical structures of the file system are damaged as well. Any logical damage must be dealt with before files can be salvaged from the failed media.
Most physical damage cannot be repaired by end users. For example, opening a hard disk in a normal environment can allow airborne dust to settle on the platter and become caught between the platter and the read/write head, causing new head crashes that further damage the platter and thus compromise the recovery process. Furthermore, end users generally do not have the hardware or technical expertise required to make these repairs. Consequently, costly data recovery companies are often employed to salvage important data.
Article Source Wikipedia

Recovery techniques

Recovering data from physically-damaged hardware can involve multiple techniques. Some damage can be repaired by replacing parts in the hard disk. This alone may make the disk usable, but there may still be logical damage. A specialized disk-imaging procedure is used to recover every readable bit from the surface. Once this image is acquired and saved on a reliable medium, the image can be safely analysed for logical damage and will possibly allow for much of the original file system to be reconstructed.
Article Source Wikipedia

Hardware repair

Examples of physical recovery procedures are: removing a damaged PCB (printed circuit board) and replacing it with a matching PCB from a healthy drive, performing a live PCB swap (in which the System Area of the HDD is damaged on the target drive which is then instead read from the donor drive, the PCB then disconnected while still under power and transferred to the target drive), read/write head assembly with matching parts from a healthy drive, removing the hard disk platters from the original damaged drive and installing them into a healthy drive, and often a combination of all of these procedures. Some data recovery companies have procedures that are highly technical in nature and are not recommended for an untrained individual. Each of them will void the manufacturer's warranty. For companies who will not void a warranty, see companies such as Kroll Ontrack, SalvageData, and DriveSavers.
Article Source Wikipedia

Overwritten data


When data have been physically overwritten on a hard disk it is generally assumed that the previous data are no longer possible to recover. In 1996, Peter Gutmann, a computer scientist, presented a paper that suggested overwritten data could be recovered through the use of Scanning transmission electron microscopy. In 2001, he presented another paper on a similar topic. Substantial criticism has followed, primarily dealing with the lack of any concrete examples of significant amounts of overwritten data being recovered. To guard against this type of data recovery, he and Colin Plumb designed the Gutmann method, which is used by several disk scrubbing software packages.
Although Gutmann's theory may be correct, there's no practical evidence that overwritten data can be recovered. Moreover, there are good reasons to think that it cannot.
Article Source Wikipedia

Corrupt file systems

In some cases, data on a hard drive can be unreadable due to damage to the file system. In the majority of these cases, at least a portion of the original data can be recovered by repairing the damaged file system using specialized data recovery software. This type of data recovery can be performed by knowledgeable end-users as it requires no special physical equipment. However, more serious cases can still require expert intervention.
Article Source Wikipedia

Online Data Recovery

"Online" or "Remote" data recovery is yet another method to restore the lost or deleted data. It is same as performing the regular software based recoveries except that this kind of recovery is performed over the Internet without physically having the drive or computer in possession. The recovery technician sitting somewhere else gains access to user's computer and complete the recovery job online. In this scenario, the user doesn't have to travel or send the media to anywhere physically.
Although online data recovery is convenient and useful in many cases, it still carries some points making it less popular than the classic data recovery methods. First of all, it requires a stable broadband Internet connection for it to be performed correctly, which many third world countries still lack. Also, it cannot be performed in case of physical damage to media and for such cases, the traditional in-lab recovery has to take place.
Article Source Wikipedia

AI - Continuing saga

(Here is an article written by lazylockie, which is his username on the forums.  You may think this is a cop-out and that I'm extremely lazy and you would be correct on both accounts.  So without further ado...)

In this article I�ll talk about Forge � yeah, obviously � but more specifically about some aspects of Forge�s AI.

Why is the AI weak?
I think the main reason sometimes the AI is so weak is because it doesn�t interact the human on any other phase other Main. This limits a lot the card pool they can effectively use. We know the developers are working on this, but it�s a nice advantage that we players have against them.

For example stuff like Giant Growth, Basking Rootwalla and Sorceress Queen are usually the Achilles Tendon of AI. AI happily attacks with a White Knight onto your Basking Rootwalla and suddenly you�ve gained advantage on a situation that in real life wouldn�t have happened. Stalemates are more easily broken and often lead into human victory.


AI needs to be generic
How is your general behavior when playing with Jace, the Mind Sculptor? I assume it would be something like: If you�re not playing against burn or there�s no threat on opponent�s field, Brainstorm. This could be, in pseudo code � albeit probably codeable on Forge:

Jace, the Mind Sculptor behavior
if (there�s a �dangerous� creature on opponent�s field)
  -1 ability targeting that creature

if (loyalty == 1) OR (opponent has a basic land AND loyalty <= 3)
   +2 ability targeting opponent
else
   +0 ability //Brainstorm for card advantage

 The pseudocode above isn�t perfect, but practically covers all common sense functionality of Jace. However, as mtgrares (the author of this bog) already mentioned on past articles, designing an AI behavior for each card created is hard/confusing and even then it might not work as expected, since Magic involves interactions between many cards at same time.

Another example that is often seen is Baneslayer Angel. The little lady is almost auto-win on the hands of a human player if it connects, because common sense says that that gal must attack every turn, even when on board disadvantage, because it has evasion and lifelink. However, AI doesn�t comprehend that Baneslayer has a 10 point life swing, so in dire situations he�ll often leave it for blocking, when he could have attacked and won the battle.

Why the AI prefers simple decks
If there�s one thing that AI is good at is brute force. Anything that is big and cheap is often a good deal for AI. That�s why Affinity decks are so hard on the hands of AI, especially at early levels of Quest mode: big stuff like Myr Enforcer is free and the deck is pretty straightforward. The fewer decisions the deck needs to make, the better AI will handle that deck. Tarmogoyf, considered one of the best creatures on Legacy, fits this function of brute force quite well: easily splashable, low mana investment, grows quickly as game progresses. It amuses me why Tarmogoyf isn�t widely used on AI decks.

(This is mtgrares talking now)
Let me briefly critique the pseudocode.   The AI has a hard time determining if you (the opponent) has a dangerous creature on the field.  How dangerous is dangerous?  Is a flying 2/2 dangerous or does it have to be a flying 4/4?  Royal Assassin is very dangerous bit the AI won't recognize it has dangerous, since it is only a 1/1 and the AI cannot "see" activated abilities.

I would suggest using Jace to look at his opponents library.  If the opponent has less than 6 lands the AI would put basic lands on the bottom of your library and if the opponent has more than 6 lands, do the opposite, put any spell on the bottom of your library.  Then use Jace's ultimate ability to win the game.

And to finish the article on a funny note, "I am the mustard seed of your doom" which is taken from the videogame Mario and Luigi: Bowser's Inside Story. 

--mtgrares

Computer Forensics: Caffeine-Induced Monday Ramblings

I just wanted to take a few minutes to share a few items I think are newsworthy. First, the new & improved SANS Computer Forensics Blog has been updated. Check it out at http://computer-forensics.sans.org (Hats off to Rob Lee and the web development team at SANS). The SANS Forensics blog has a new look with this enhancement as well. The SANS Forensics blog has had an awesome amount of traffic today, so if you have trouble loading the site or the blog, please keep that in mind.

Some of you will remember the recent SANS blog reader's survey. A lot of the comments and feedback that that were sent in by the forensics community during this survey were shared with the blog team and with SANS Institute. A lot of these suggestions were used and integrated into the new SANS Computer Forensics webpage and blog, so thank you readers! Look for some good things on the SANS blog in the near future based on feedback from the reader's survey.


Open Source Digital Forensics- Brian Carrier's new and improved OSDF site is now live. Brian discussed this at the WACCI conference. This brings to mind, there is always discussion about "court approved" forensic tools. I encourage you to read Brian Carrier's white paper here (PDF) on open source forensic tools.

Certification, Licensing, and Accreditation in Digital Forensics- Eric Huber shares some good information on getting certified, saying no to digital forensic licensing, and accreditation. Make sure you read the comments! Good information  Eric!

* Harlan Carvey shares some registry information here that was posted by a member of the Win4n6 Yahoo Group! If you do not follow and share with this group, you should.

* NIJ (National Institute of Justice) releases their computer forensic tool testing reports. A great page for reference, especially when you may to defend/validate your tool on the witness stand.

ForensicArtiFacts.com- great resource by Matt Churchill and Joe Garcia. Have an artifact you'd like to share? Submit it through ForensicArtiFacts.com

* Andrew Hoog with ViaForensics posted his iPhone Forensics White Paper here.

* Ken Pryor, fellow SANS blog author, has started his own blog here.

* Checkout Ira Victor's (fellow SANS blog author) The CyberJungle- The News and Talk on Security, Privacy, and The Law

* This week's Digital Forensic Case Leads was posted this morning here, delivered by Ray Davidson.

* In the podcasts, it is great to see Ovie back behind the mic delivering CyberSpeak. Please send Ovie e-mail and tell him how much CyberSpeak rocks!

December should be awesome on the forensic podcast front! From the rumor mill, an "Inside the CyberCrime 4cast Speak" podcast is in the works, which will bring 4 podcasts together for one big show!! It'll be interesting to see how this one develops. Stay tuned...

Generate Deck - Play by Play


I love Forge's generate deck option.  It was something that occurred to me randomly and has grown to be one of my favorite ways to play Magic.  Today, I'm going to play through one game against the AI and describe all of the wonderful, exciting stuff that happens.

I lost the coin toss and I'm going second.  My opening hand has 4 lands, 3 cost creature, 6 cost creature, and an creature enchantment (aura).  I should win if I can play Plasma Elemental (cost: 5U, 4/1) since it is unblockable, if the AI doesn't weenie rush me.
The AI plays a land.

I draw the nearly worthless Demolish (cost: 3R, sorcery) which says "Destroy target artifact or land."  I play an Island.

The AI plays a different land, so he has access to both of his colors.

I draw another Island and play a Mountain.

AI plays another Plains.  (Those Zendikar full-frame lands do look great.  I was hoping that Wizards would print all new lands like that.)

I play a 2nd Island and cast my Vodalian Knights (cost: 1UU, 2/2) which has first strike and gains flying for U.  I caught a big break since Vodalian Knights can't attack unless the AI has an Island, which it does.

The AI plays a 4th Island and plays Cessation (cost: 2W, enchant creature, enchanted creature can't block) on my Knights.  At least Vodalian Knights can still block.

I draw the insane Phantasmal Forces (cost: 3U, 4/1, flying) "At the beginning of your upkeep, sacrifice Phantasmal Forces unless you pay U" and cast it.

The AI plays another land (now he has 5) and Psionic Blast's my Phantasmal Forces.

I draw and play another land so now I have 5.  I don't have any creatures that I can play yet so I destroy one of the AI's land with Demolish and I play Brainstorm (cost: U, instant, Draw three cards, then put two cards from your hand on top of your library in any order.) Brainstorm doesn't show me any creatures.

The computer plays Keeneye Aven (cost: 3U, creature, 2/3, flying).

I cautiously play my game winning Plasma Elemental (4/1, unblockable) and hope the AI doesn't notice.

The AI plays Diplomatic Immunity (cost: 1U, enchant creature) which gives his Keeneye Aven shroud and swings for 2. 
AI - 18 life, Me - 18 life

I enchant Plasma Elemental with Volcanic Strength which increases Plasma's stats by +2/+2 and swing for 6.
AI - 12 life, Me - 18 life

The AI destroys Volcanic Strength with Frantic Purification (cost: 2W, instant, Destroy target enchantment) and attacks with Keeneye Aven for 2.  AI - 12 life, Me - 16 life

I draw the obscure card Onslaught (cost: R, enchantment, Whenever you cast a creature spell, tap target creature) which doesn't help me at all but I play it anyways.  I attack with Plasma Elemental for 4.
AI - 8 life, Me - 16 life

The AI coolly attacks for 2 and then plays the game changing Meloku the Clouded Mirror which has the ability to turn all of your lands into 1/1 flyers.  Lets hope the AI is dumb and doesn't use Meloku's ability.
AI - 8 life, Me - 14 life

I draw another odd Magic card, Bringer of the Blue Dawn which costs an insane 7UU.  I only have 7 lands so Bringer is unplayable.  I swing for 4 with Plasma Elemental.
AI - 4 life, Me - 14 life

The AI swings for 2 with Keeneye Aven and only creates one flying token.  The AI seems smart and plays Shu Soldier-Farmers (cost: 4W, 2/4) which has a triggered ability, so the AI gains 4 life.  That extra 4 life means that the AI can live an extra turn.
AI - 8 life, Me - 12 life

I draw and play another land.  I swing again for 4 with Plasma Elemental.
AI - 4 life, Me - 12 life

The AI creates one more token with Meloku and attacks with almost everything, for a total attack of 6.  I sacrificially use Vodalian Knights to reduce the attack to 4.
AI - 4 life, Me - 8 life

Finally victory is within my grasp.  I attack with Plasma Elemental and win the game.  All in all it was a good game.  The AI whittled my life down to 8 and threw me a few curveballs.  Plasma Elemental was an all-star and I would have certainly lost the game with any other creature.  In this format the creatures win the game.  Generated decks feel similar to sealed decks because they are a little random and not very focused.

Playing a quick game like this is very satisfying.  Magic is a fun game with lots of variety.  I love not knowing which cards are in my deck.  I love that feeling of surprise and of course winning occasionally doesn't hurt. :)  I'm glad that the AI put up a good fight and didn't seem to do anything stupid.

Keep tapping,
mtgrares

p.s.
--The generate deck code that I wrote still has some major flaws in it: it doesn't generate a mana curve and it could exclude some awful cards which are only useful if you build a whole deck around them.  I prefer generated decks without creatures with a low power (0 or 1) and without artifacts.  The menu options are in the New Game screen, under Options.

--Writing is hard work.  It took me an hour to write the 900 or so words above.  I have no idea how the guys at Star City Games churn out so many pages each week.

Set the Search Screen to the Classic Look

Set the Search Screen to the Classic Look

When I first saw the default search pane in Windows XP, my instinct was to return it to its classic look; that puppy had to go. Of course, I later discovered that a doggie door is built into the applet. Click "Change preferences" then "Without an animated screen character." If you'd rather give it a bare-bones "Windows 2000" look and feel, fire up your Registry editor and navigate to:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CabinetState.

You may need to create a new string value labeled "Use Search Asst" and set it to "no".

How to Remove Windows XP's Messenger

How to Remove Windows XP's Messenger

Theoretically, you can get rid of it (as well as a few other things). Windows 2000 power users should already be familiar with this tweak.

Fire up the Windows Explorer and navigate your way to the %SYSTEMROOT% \ INF folder. What the heck is that thingy with the percentage signs? It's a variable. For most people, %SYSTEMROOT% is C:\Windows. For others, it may be E:\WinXP. Get it? Okay, on with the hack! In the INF folder, open sysoc.inf (but not before making a BACKUP copy first). Before your eyes glaze over, look for the line containing "msmsgs" in it. Near the end of that particular line, you'll notice that the word "hide" is not so hidden. Go ahead and delete "hide" (so that the flanking commas are left sitting next to one another). Save the file and close it. Now, open the Add and Remove Programs applet in the Control Panel. Click the Add / Remove Windows Components icon. You should see "Windows Messenger" in that list. Remove the checkmark from its box, and you should be set. NOTE: there are other hidden system components in that sysoc.inf file, too. Remove "hide" and the subsequent programs at your own risk.

Jesus Follow-up

I figured my Jesus post would generate a number of comments.  Most personal blogs are so random that they are unreadable so I have intentionally focused on making all of my posts about Magic or programming.  So rather than diluting this blog, maybe I�ll start another blog where I talk only about Jesus (but I�ll probably sneak in some Magic stuff).

I realize that religion is a volatile topic and everyone has a strong opinion.  One of my favorite shows is House and he despises religion.  I also know that Karl Marx said that �Religion is the opiate of the masses�.  But neither House nor Karl Marx have changed my stance on Jesus.

The truth about blogging is that I have no idea what I�m doing even though I�ve written more than 100,000 words.  I�m just a guy who writes stuff for an unseen audience.  Yes I can look at the hit count and say that the average number of views in a day is 500 to 800 but those are just numbers and people are different than numbers.  To me blogging is just a big experiment and the only reason that I blog is to �advertise� Forge.

Thanks for your patience,
mtgrares

p.s.
The new opiate of the masses is the Internet and before that was the TV.

Do you know Jesus?

I wanted to briefly talk about something more important than Magic.  I believe that heaven and hell are real, literal places and that the only way to get into heaven is to ask Jesus into your heart.  The common belief is that a person has to be �good� or do a few �good works� to get into heaven but the Bible says our good works are as �filthy rags�.  Nothing you can do (without Jesus) will get you into heaven. 

The only way to get into heaven is to ask Jesus into your heart and to ask him to forgive your sins.  If you have never read the Bible, start with Matthew which describes the life of Jesus.

p.s.
I have been reluctant to talk about Jesus on my blog but since Jesus is the most important part of my life, I should talk about him more. 

How to NOT Write a Magic Clone


Let's say that you wanted to write your own implementation of Magic (for some unknown reason). Naturally you would create a Card class which mimics a real, cardboard card. And for some crazy reason you wanted to add your favorite card from Planeshift Singe (R, Instant, "Deals 1 damage to target creature"). Obviously you are not a "power gamer" but that is ok, because you like who you are....maybe.

The simplest way to implement effects like Singe is to allow a Card object to deal damage to another Card object. The code for Singe would look something like this:
Singe.resolve()
{
  getTargetCard().addDamage(1)
}
So far so good, one card down, a bazillion to go. Now you want to code a card that says, "Whenever you deal damage, you draw 1 card". Suddenly your world comes crashing down because your simple implementation doesn't work. Card objects should not deal damage to each other, so you use a layer of indirection. Singe could be written as:
Singe.resolve()
{
  RulesEngine.addDamage(getTargetCard(), 1)
}
Now you want to add another card, Awe Strike (W, Instant, "The next time target creature would deal damage this turn, prevent that damage. You gain life equal to the damage prevented this way").

The question is this, "Can we add Awe Strike using the method above?" Truthfully the answer is maybe. If every card uses the rule engine hopefully you should be able to code Awe Strike. Unfortunately the devil is always in the details.

The goal when programming a Magic clone is to give as much information as possible to the rules engine so it can do the insane things that Magic cards do like Painter's Servant

If the rules engine isn't given enough information eventually your Magic clone will hit the wall and not be able to implement a card or keyword.

Keep on tapping,
mtgrares

p.s.
The craziest card I know of is Warp World (5RRR, sorcery) which dumps all of your permanents into your graveyard and then you draw that many cards and put those permanents onto the battlefield. The Magic 2010 set faq lists 6 separate sub-steps.


--�All problems in computer science can be solved by another level of indirection.�

--You can read more about my idea of making the rules engine object huge because it has to handle everything in the whole game.  (Most of the RulesEngine object would just act as a "wrapper" for other objects/methods.)  Big objects are usually to be avoided because they have too much complexity but I don't see another way to handle a game like Magic.  You can read a previous post about this subject here.

Research Advice ( HTML Format)

Guidelines for Citing Referenced Material
Preparing a Poster Presentation
PhD Student and Supervisor Resources
Recommended C Style and Coding Standards
Pages in printer-friendly format.

System Security Implementation ( HTML Format)