<commit_before><!doctype html>
<html lang="en">

	<head>
		<meta charset="utf-8">

		<title>Groovy at Gr8Ladies</title>

		<meta name="description" content="An introduction to the programming language Groovy for ICC14">
		<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.min.css">
		<link rel="stylesheet" href="css/theme/sky.css" id="theme">

		<!-- For syntax highlighting -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<link rel="stylesheet" href="css/main.css">

		<!-- If the query includes 'print-pdf', include the PDF print sheet -->
		<script>
			if( window.location.search.match( /print-pdf/gi ) ) {
				var link = document.createElement( 'link' );
				link.rel = 'stylesheet';
				link.type = 'text/css';
				link.href = 'css/print/pdf.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">

			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">
				<section>
					<h1>Groovy at Gr8Ladies</h1>
					<h3>Iowa Code Camp 14</h3><h3>November 1, 2014</h3>
					<p>
						<small>Created by <a href="http://sites.google.com/site/jenniferstrater" target="_blank"><NAME></a> / <a href="http://twitter.com/jennstrater" target="_blank">@jennstrater</a></small>
					</p>
				</section>

				<section>
					<h2>Who am I?</h2>
					<a href="http://altegrahealth.com" target="_blank"><img class="no-box" src="images/altegra.png"/></a>
					<p>Software Engineer -- Healthcare Communications Division -- Minneapolis, MN</p>
					</p>
					<a href="http://gr8ladies.org" target="_blank"><img class="no-box" src="images/gr8ladiesSquare.jpg" height="150px" width="150px"/></a>
					<p>Co-Founder</p>
					<aside class="notes">
						Of course you are probably wondering who we are.  First, I’m <NAME>.  I’m a software engineer in the healthcare communications division of a healthcare services company called Altegra Health.
						After hours, I work with my co-founder Allison to run the organization Gr8Ladies.  My focus in gr8ladies is on retention and professional development within the Groovy ecosystem.
					</aside>
				</section>

				<section>
					<h2>What's Groovy</h2>
					<ul>
						<li>Dynamic, compiled language for the Java Virtual Machine(JVM).</li>
						<li>Interoperable with existing Java libraries</li>
						<li>Concise, easy to read code</li>
						<li>Used by many major companies including:</li>
					</ul>
					<div>
						<img class="horizontal-list-element no-box" src="images/linkedin.jpg"/>
						<img class="horizontal-list-element no-box" src="images/netflix.jpg"/>
						<img class="horizontal-list-element no-box" src="images/mutualOfOmaha.jpg"/>
					</div>
					<aside class="notes">
						Groovy is the main focus of today’s session and the foundation of the Gr8 ecosystem of technologies.
						To start, Groovy is a dynamic compiled language for the JVM.  That mean’s it’s dynamic like languages you may know like Python and PHP, but compiled for efficiency to run on the Java Virtual Machine aka the JVM.
						Many of you may be asking, why learn yet another programming language? And granted, Groovy is not the best language for every situation.
						However, in a setting where productivity is paramount and you are looking for the stability of the known architecture stack like Java, Groovy is the best choice.
						As you’ll see, Groovy’s easy to learn, flexible syntax and interoperability with existing Java libraries, make it a great language to add to your repertoire.
					</aside>
				</section>

				<section>
					<ul>
						<li>Open source -- maintained by <a href="http://www.pivotal.io/oss" target="_blank">Pivotal</a> and programmers like you!</li>
						<li><a href="http://groovy-lang.org" target="_blank">http://groovy-lang.org</a></li>
						<li>contribute: <a href="https://github.com/groovy/groovy-core" target="_blank">https://github.com/groovy/groovy-core</a></li>
					</ul>
					<aside class="notes">
						Groovy  is also open source.  The repository for core is on github and anyone can submit a PR. It's under active development and the community is pretty friendly and welcoming to newcomers.
					</aside>
				</section>

				<section>
					<h2>The Groovy Ecosystem</h2>
					<ul class="column">
						<li><img class="no-box inline-image" src="images/grails.jpg"/><a href="http://grails.org"
																						 target="_blank"> Grails</a>
						</li>
						<li><img class="no-box inline-image" src="images/griffon.jpg"/><a
								href="http://griffon.codehaus.org" target="_blank"> Griffon</a></li>
						<li><img class="no-box inline-image" src="images/gradle.jpg"/><a
								href="http://gradle.codehaus.org" target="_blank"> Gradle</a></li>
					</ul>
					<ul class="column">
						<li><img class="no-box inline-image" src="images/missingImage.png"/><a
								href="https://code.google.com/p/spock/" target="_blank"> Spock</a> and <a
								href="http://www.gebish.org/">Geb</a></li>
						<li><img class="no-box inline-image" src="images/ratpack.jpg"/><a href="https://ratpack.io"
																						  target="_blank"> Ratpack</a>
						</li>
						<li><img class="no-box inline-image" src="images/missingImage.png"/> And Many More!</li>
					</ul>
					<aside class="notes">
						Once you learn the Groovy language, you are open to a whole new world of technologies
						including:
						Grails (the most common web framework in the Groovy eco-system and what many confuse with
						Groovy itself.)
						Griffon a desktop framework
						Gradle a popular build tool that can even be used for building android applications
						Spock and Geb testing frame,works
						Ratpack up and coming lightweight web framework (used for this presentation)
					</aside>
				</section>

				<section>
					<h2>When to use Groovy</h2>
					<ul>
						<li>existing java libraries</li>
						<li>developers know java or another JVM language</li>
						<li>quick prototyping</li>
						<li>scripting</li>
						<li>writing tests</li>
					</ul>
				</section>

				<section>
					<h2>When NOT to use Groovy</h2>
					<ul><li>lots of legacy code in another language especially Ruby</li>
					<li>need 'bare metal' level performance</li></ul>
				</section>

				<section>
					<h2>Scripting</h2>
						<p>Console</p>
						<img class="no-box" src="images/groovyConsole.png" height="350px"/>
						<p>Shell</p>
						<img class="no-box" src="images/groovyShell.png" height="200px"/>
				</section>

				<section>
					<h2>Hello, Code Camp!</h2>
					<pre><code data-trim contenteditable>
						println "Hello, Iowa Code Camp!"
						</code></pre>
				</section>

				<section>
					<section>
						<h2>Vertical Slides</h2>
						<p>
							Slides can be nested inside of other slides,
							try pressing <a href="#" class="navigate-down">down</a>.
						</p>
						<a href="#" class="image navigate-down">
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
						</a>
					</section>
					<section>
						<h2>Basement Level 1</h2>
						<p>Press down or up to navigate.</p>
					</section>
					<section>
						<h2>Basement Level 2</h2>
						<p>Cornify</p>
						<a class="test" href="http://cornify.com">
							<img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif" alt="Unicorn"><commit_msg>through data type overview<commit_after><!doctype html>
<html lang="en">

	<head>
		<meta charset="utf-8">

		<title>Groovy at Gr8Ladies</title>

		<meta name="description" content="An introduction to the programming language Groovy for ICC14">
		<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.min.css">
		<link rel="stylesheet" href="css/theme/sky.css" id="theme">

		<!-- For syntax highlighting -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<link rel="stylesheet" href="css/main.css">

		<!-- If the query includes 'print-pdf', include the PDF print sheet -->
		<script>
			if( window.location.search.match( /print-pdf/gi ) ) {
				var link = document.createElement( 'link' );
				link.rel = 'stylesheet';
				link.type = 'text/css';
				link.href = 'css/print/pdf.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">

			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">
				<section>
					<h1>Groovy at Gr8Ladies</h1>
					<h3>Iowa Code Camp 14</h3><h3>November 1, 2014</h3>
					<p>
						<small>Created by <a href="http://sites.google.com/site/jenniferstrater" target="_blank"><NAME></a> / <a href="http://twitter.com/jennstrater" target="_blank">@jennstrater</a></small>
					</p>
				</section>

				<section>
					<h2>Who am I?</h2>
					<a href="http://altegrahealth.<EMAIL>" target="_blank"><img class="no-box" src="images/altegra.png"/></a>
					<p>Software Engineer -- Healthcare Communications Division -- Minneapolis, MN</p>
					</p>
					<a href="http://gr8ladies.org" target="_blank"><img class="no-box" src="images/gr8ladiesSquare.jpg" height="150px" width="150px"/></a>
					<p>Co-Founder</p>
					<aside class="notes">
						Of course you are probably wondering who we are.  First, I’m <NAME>.  I’m a software engineer in the healthcare communications division of a healthcare services company called Altegra Health.
						After hours, I work with my co-founder Allison to run the organization Gr8Ladies.  My focus in gr8ladies is on retention and professional development within the Groovy ecosystem.
					</aside>
				</section>

				<section>
					<h2>Outline</h2>
					<ul>
						<li>Groovy Overview</li>
						<li>Basic Data Types</li>
						<li>Functions</li>
						<li>Loops</li>
						<li>Search</li>
						<li>Examples/Puzzles</li>
					</ul>
				</section>

				<section>
					<h2>What's Groovy</h2>
					<ul>
						<li>Dynamic, compiled language for the Java Virtual Machine(JVM).</li>
						<li>Interoperable with existing Java libraries</li>
						<li>Concise, easy to read code</li>
						<li>Used by many major companies including:</li>
					</ul>
					<div>
						<img class="horizontal-list-element no-box" src="images/linkedin.jpg"/>
						<img class="horizontal-list-element no-box" src="images/netflix.jpg"/>
						<img class="horizontal-list-element no-box" src="images/mutualOfOmaha.jpg"/>
					</div>
					<aside class="notes">
						Groovy is the main focus of today’s session and the foundation of the Gr8 ecosystem of technologies.
						To start, Groovy is a dynamic compiled language for the JVM.  That mean’s it’s dynamic like languages you may know like Python and PHP, but compiled for efficiency to run on the Java Virtual Machine aka the JVM.
						Many of you may be asking, why learn yet another programming language? And granted, Groovy is not the best language for every situation.
						However, in a setting where productivity is paramount and you are looking for the stability of the known architecture stack like Java, Groovy is the best choice.
						As you’ll see, Groovy’s easy to learn, flexible syntax and interoperability with existing Java libraries, make it a great language to add to your repertoire.
					</aside>
				</section>

				<section>
					<ul>
						<li>Open source -- maintained by <a href="http://www.pivotal.io/oss" target="_blank">Pivotal</a> and programmers like you!</li>
						<li><a href="http://groovy-lang.org" target="_blank">http://groovy-lang.org</a></li>
						<li>contribute: <a href="https://github.com/groovy/groovy-core" target="_blank">https://github.com/groovy/groovy-core</a></li>
					</ul>
					<aside class="notes">
						Groovy  is also open source.  The repository for core is on github and anyone can submit a PR. It's under active development and the community is pretty friendly and welcoming to newcomers.
					</aside>
				</section>

				<section>
					<h2>The Groovy Ecosystem</h2>
					<ul class="column">
						<li><img class="no-box inline-image" src="images/grails.jpg"/><a href="http://grails.org"
																						 target="_blank"> Grails</a>
						</li>
						<li><img class="no-box inline-image" src="images/griffon.jpg"/><a
								href="http://griffon.codehaus.org" target="_blank"> Griffon</a></li>
						<li><img class="no-box inline-image" src="images/gradle.jpg"/><a
								href="http://gradle.codehaus.org" target="_blank"> Gradle</a></li>
					</ul>
					<ul class="column">
						<li><img class="no-box inline-image" src="images/missingImage.png"/><a
								href="https://code.google.com/p/spock/" target="_blank"> Spock</a> and <a
								href="http://www.gebish.org/">Geb</a></li>
						<li><img class="no-box inline-image" src="images/ratpack.jpg"/><a href="https://ratpack.io"
																						  target="_blank"> Ratpack</a>
						</li>
						<li><img class="no-box inline-image" src="images/missingImage.png"/> And Many More!</li>
					</ul>
					<aside class="notes">
						Once you learn the Groovy language, you are open to a whole new world of technologies
						including:
						Grails (the most common web framework in the Groovy eco-system and what many confuse with
						Groovy itself.)
						Griffon a desktop framework
						Gradle a popular build tool that can even be used for building android applications
						Spock and Geb testing frame,works
						Ratpack up and coming lightweight web framework (used for this presentation)
					</aside>
				</section>

				<section>
					<h2>When to use Groovy</h2>
					<ul>
						<li>existing java libraries</li>
						<li>developers know java or another JVM language</li>
						<li>quick prototyping</li>
						<li>scripting</li>
						<li>writing tests</li>
					</ul>
				</section>

				<section>
					<h2>When NOT to use Groovy</h2>
					<ul><li>lots of legacy code in another language especially Ruby</li>
					<li>need 'bare metal' level performance</li></ul>
				</section>

				<section>
					<h2>Scripting</h2>
						<p>Console</p>
						<img class="no-box" src="images/groovyConsole.png" height="350px"/>
						<p>Shell</p>
						<img class="no-box" src="images/groovyShell.png" height="200px"/>
				</section>

				<section>
					<h2>Hello, Code Camp!</h2>
					<pre><code data-trim contenteditable>
						println "Hello, Iowa Code Camp!"
						</code></pre>
					<aside class="notes">
						You can do anything you can do in Java in Groovy. In fact, Almost all Java code is valid Groovy code. Groovy, however, usually has a way to do things with less typing than Java.
						One big thing you’ll notice is that in Groovy, you don’t always have to declare a function and then call it.
						Since Groovy is a scripting language, you can just put commands outside of any function scope and it is valid Groovy. Semicolons are unnecessary.
					</aside>
				</section>

				<section>
					<h2>Data Types</h2>
					<ul>
						<li>Primitives</li>
						<li>Strings</li>
						<li>Collections
						<ul><li>Lists</li><li>Maps</li></ul></li>
						<li>Closures</li>
						<li>Def</li>
					</ul>
				</section>

				<section>
					<section>
						<h2>Vertical Slides</h2>
						<p>
							Slides can be nested inside of other slides,
							try pressing <a href="#" class="navigate-down">down</a>.
						</p>
						<a href="#" class="image navigate-down">
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
						</a>
					</section>
					<section>
						<h2>Basement Level 1</h2>
						<p>Press down or up to navigate.</p>
					</section>
					<section>
						<h2>Basement Level 2</h2>
						<p>Cornify</p>
						<a class="test" href="http://cornify.com">
							<img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif" alt="Unicorn">
{'fraction_non_alphanumeric': 0.15047400519292314, 'fraction_numerical': 0.009661252339834552, 'mean_word_length': 3.050379065786256, 'pattern_counts': {'":': 0, '<': 470, '<?xml version=': 0, '>': 470, 'https://': 12, 'lorem ipsum': 0, 'www.': 4, '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': '224980', 'n_tokens_mistral': 6850, 'n_tokens_neox': 5225, 'n_words': 1513}