<commit_before><!doctype html>
<html>
	<head>
		<meta charset="utf-8">

		<title>Video Game Hacking: Memory Introspection For Fun</title>

		<meta name="description" content="Learn about pointers, x86 assembly, and memory dumps to find new ways to enjoy your favorite games. Using a memory scanner and re-assembler tool called Cheat Engine, we can view and modify values and modify values in memory to make a game easier or add new ways to play. I hope you are inspired to go explore, modify, and break!">
		<meta name="author" content="<NAME>">

		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.css">
		<link rel="stylesheet" href="css/theme/black.css" id="theme">
		<link rel="stylesheet" href="css/theme/custom.css" id="theme">

		<!-- Theme used for syntax highlighting of code -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<!-- Printing and PDF exports -->
		<script>
			var link = document.createElement( 'link' );
			link.rel = 'stylesheet';
			link.type = 'text/css';
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
			document.getElementsByTagName( 'head' )[0].appendChild( link );
		</script>

		<!--[if lt IE 9]>
		<script src="lib/js/html5shiv.js"></script>
		<![endif]-->
	</head>

	<body>
		<div class="reveal">
			<div class="slides">
				<section>
					<h1>Video Game Hacking</h1>
					<h2>Memory Introspection For Fun</h2>
          <p class="contact">
            <small>
              <a
                href="http://twitter.com/jackiekircher">@jackiekircher</a> |
              <a href="http://jackiekircher.com">jackiekircher.com</a>
            </small>
          </p>
        </section>
        <section>
          <h1 class="solo">Spelunky</h1>
          <aside class="notes">
            Is a:
            <ul>
              <li>Roguelike</li>
              <li>Platformer</li>
            </ul>

            That means:
            <ul>
              <li>Like Super Mario Bros</li>
              <li>Every level is generated with random elements</li>
              <li>One life</li>
            </ul>
          </aside>
        </section>
        <section class="maybe">
          <h1>Specorgi</h1>
          <img class="spelunky-border left" src="images/specorgi-pug.png">
          <img class="spelunky-border right" src="images/specorgi-corgi.png">
        </section>
        <section data-background="images/mine_bg.png">
          <h1>something here</h1>
        </section>
        <section>
          <h1>Cheat Engine</h1>
          <div class="in-place-fragments">
            <p class="large fragment current-visible">scan memory</p>
            <p class="large fragment current-visible">modify memory</p>
            <p class="large fragment current-visible">read code</p>
            <p class="large fragment current-visible">rewrite code</p>
            <p class="large fragment current-visible">export changes with Lua</p>
          </div>
        </section>
        <section>
          <h1>Demo</h1>
        </section>
        <section>
          <h1>Where I Am</h1>
        </section>
				<section>
          <h1>Come break some games!</h1>

          <aside class="notes">
            I invite you to join me 
          </aside>
        </section>
			</div>
		</div>

		<script src="lib/js/head.min.js"></script>
		<script src="js/reveal.js"></script>

		<script>
			// More info https://github.com/hakimel/reveal.js#configuration
			Reveal.initialize({
				history: true,

				// More info https://github.com/hakimel/reveal.js#dependencies
				dependencies: [
					{ src: 'plugin/markdown/marked.js' },
					{ src: 'plugin/markdown/markdown.js' },
					{ src: 'plugin/notes/notes.js', async: true },
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
				]
			});
		</script>
	</body>
</html>
<commit_msg>split up the <section> blob with comments and notes<commit_after><!doctype html>
<html>
	<head>
		<meta charset="utf-8">

		<title>Video Game Hacking: Memory Introspection For Fun</title>

		<meta name="description" content="Learn about pointers, x86 assembly, and memory dumps to find new ways to enjoy your favorite games. Using a memory scanner and re-assembler tool called Cheat Engine, we can view and modify values and modify values in memory to make a game easier or add new ways to play. I hope you are inspired to go explore, modify, and break!">
		<meta name="author" content="<NAME>">

		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.css">
		<link rel="stylesheet" href="css/theme/black.css" id="theme">
		<link rel="stylesheet" href="css/theme/custom.css" id="theme">

		<!-- Theme used for syntax highlighting of code -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<!-- Printing and PDF exports -->
		<script>
			var link = document.createElement( 'link' );
			link.rel = 'stylesheet';
			link.type = 'text/css';
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
			document.getElementsByTagName( 'head' )[0].appendChild( link );
		</script>

		<!--[if lt IE 9]>
		<script src="lib/js/html5shiv.js"></script>
		<![endif]-->
	</head>

	<body>
		<div class="reveal">
			<div class="slides">
        <!-- title slide -->
				<section>
					<h1>Video Game Hacking</h1>
					<h2>Memory Introspection For Fun</h2>
          <p class="contact">
            <small>
              <a
                href="http://twitter.com/jackiekircher">@jackiekircher</a> |
              <a href="http://jackiekircher.com">jackiekircher.com</a>
            </small>
          </p>

          <aside class="notes">
          </aside>
        </section>

        <!-- introduce the game -->
        <section>
          <h1 class="solo">Spelunky</h1>

          <aside class="notes">
            Is a:
            <ul>
              <li>Roguelike</li>
              <li>Platformer</li>
            </ul>

            That means:
            <ul>
              <li>Like Super Mario Bros</li>
              <li>Every level is generated with random elements</li>
              <li>One life</li>
            </ul>
          </aside>
        </section>

        <!-- getting into modding -->
        <section class="maybe" data-background="images/mine_bg.png">
          <h1>Specorgi</h1>
          <img class="spelunky-border left" src="images/specorgi-pug.png">
          <img class="spelunky-border right" src="images/specorgi-corgi.png">

          <aside class="notes">
            <p> </p>
          </aside>
        </section>

        <!-- how to mod -->
        <section data-background="images/jungle_bg.png">
          <h1>Cheat Engine</h1>
          <div class="in-place-fragments">
            <p class="large fragment current-visible">scan memory</p>
            <p class="large fragment current-visible">modify memory</p>
            <p class="large fragment current-visible">read code</p>
            <p class="large fragment current-visible">rewrite code</p>
            <p class="large fragment current-visible">export changes with Lua</p>
          </div>

          <aside class="notes">
            <p>Cheat Engine is a really powerful program that attaches to a running process and let's you peek at its memory.</p>
          </aside>
        </section>

        <!-- demo (video) of hex dump and value editing -->
        <section>
          <h1>Demo</h1>

          <aside class="notes">
            <p>Here's a preview of Cheat Engine in action. On the left
            is the running game, and on the right are a some cheat
            engine windows. The top window is a radar that tracks enemy
            positions by polling map data, and the bottom is a live
            memory dump of the player.</p>
            <p>Notice when the player moves these two values change, and
            when they collect items they're reflected in memory here.</p>
          </aside>
        </section>

        <!-- tell people my location -->
        <section data-background="images/ice_bg.png">
          <h1>Where I Am</h1>

          <aside class="notes">
            <p>If you want to see more I'll be at this corner of this
            room. I'll have the game running for you to interact with
            and maybe you can find some values that I haven't!</p>
          </aside>
        </section>

        <!-- call to action -->
				<section data-background="images/temple_bg.png">
          <h1>Come break some games!</h1>

          <aside class="notes">
            I invite you to join me 
          </aside>
        </section>
			</div>
		</div>

		<script src="lib/js/head.min.js"></script>
		<script src="js/reveal.js"></script>

		<script>
			// More info https://github.com/hakimel/reveal.js#configuration
			Reveal.initialize({
				history: true,

				// More info https://github.com/hakimel/reveal.js#dependencies
				dependencies: [
					{ src: 'plugin/markdown/marked.js' },
					{ src: 'plugin/markdown/markdown.js' },
					{ src: 'plugin/notes/notes.js', async: true },
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
				]
			});
		</script>
	</body>
</html>

{'fraction_non_alphanumeric': 0.14801071943929087, 'fraction_numerical': 0.0055658627087198514, 'mean_word_length': 2.265903736115786, 'pattern_counts': {'":': 0, '<': 251, '<?xml version=': 0, '>': 251, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6734043', 'n_tokens_mistral': 3242, 'n_tokens_neox': 2943, 'n_words': 781}