PageSourceSearch

https://andrewgarrison.com/

html andrewgarrison.com collected 2026-10-02 16:21:42 UTC 15,032 bytes, 185 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3<head>
4	<meta charset="UTF-8" />
5	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
6	<title>Andrew Garrison | a blog about software development</title>
7			
8		
9	<link rel="stylesheet" href="https://andrewgarrison.com/wp-content/themes/Flexible/style.css" type="text/css" />
10	<link rel="pingback" href="https://andrewgarrison.com/xmlrpc.php" />
11	
12	<!--[if lt IE 7]>
13		<link rel="stylesheet" type="text/css" href="https://andrewgarrison.com/wp-content/themes/Flexible/css/ie6style.css" />
14	<![endif]-->
15	<!--[if IE 7]>
16		<link rel="stylesheet" type="text/css" href="https://andrewgarrison.com/wp-content/themes/Flexible/css/ie7style.css" />
17	<![endif]-->
18	<!--[if IE 8]>
19		<link rel="stylesheet" type="text/css" href="https://andrewgarrison.com/wp-content/themes/Flexible/css/ie8style.css" />
20	<![endif]-->
21	<!--[if lt IE 9]>
22		
22<script src="https://andrewgarrison.com/wp-content/themes/Flexible/js/html5.js" type="text/javascript"></script>
22
23	<![endif]-->
24
25	
25<script type="text/javascript">
26		document.documentElement.className = 'js';
27	</script>
27
28
29	<meta name='robots' content='max-image-preview:large' />
30<link rel='dns-prefetch' href='//fonts.googleapis.com' />
31<link rel='dns-prefetch' href='//s.w.org' />
32<link rel="alternate" type="application/rss+xml" title="Andrew Garrison &raquo; Feed" href="https://andrewgarrison.com/feed/" />
33<link rel="alternate" type="application/rss+xml" title="Andrew Garrison &raquo; Comments Feed" href="https://andrewgarrison.com/comments/feed/" />
34		
34<script type="text/javascript">
35			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/andrewgarrison.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8.17"}};
36			!function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings);
37		</script>
37
38		<meta content="Flexible v.1.3" name="generator"/><style type="text/css">
39img.wp-smiley,
40img.emoji {
41	display: inline !important;
42	border: none !important;
43	box-shadow: none !important;
44	height: 1em !important;
45	width: 1em !important;
46	margin: 0 .07em !important;
47	vertical-align: -0.1em !important;
48	background: none !important;
49	padding: 0 !important;
50}
51</style>
52	<link rel='stylesheet' id='wp-block-library-css'  href='https://andrewgarrison.com/wp-includes/css/dist/block-library/style.min.css?ver=5.8.17' type='text/css' media='all' />
53<link rel='stylesheet' id='contact-form-7-css'  href='https://andrewgarrison.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=3.3.1' type='text/css' media='all' />
54<link rel='stylesheet' id='google_font_open_sans-css'  href='http://fonts.googleapis.com/css?family=Open+Sans%3A400%2C300%2C300italic%2C400italic%2C700&#038;subset=latin%2Clatin-ext%2Ccyrillic&#038;ver=5.8.17' type='text/css' media='all' />
55<link rel='stylesheet' id='et-shortcodes-css-css'  href='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/shortcodes/css/shortcodes.css?ver=3.0' type='text/css' media='all' />
56<link rel='stylesheet' id='et-shortcodes-responsive-css-css'  href='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/shortcodes/css/shortcodes_responsive.css?ver=3.0' type='text/css' media='all' />
57<link rel='stylesheet' id='fancybox-css'  href='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/page_templates/js/fancybox/jquery.fancybox-1.3.4.css?ver=1.3.4' type='text/css' media='screen' />
58<link rel='stylesheet' id='et_page_templates-css'  href='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/page_templates/page_templates.css?ver=1.8' type='text/css' media='screen' />
59<script type='text/javascript' src='https://andrewgarrison.com/wp-includes/js/jquery/jquery.min.js?ver=3.6.0' id='jquery-core-js'></script>
vendor: 1 bytes, line 59
59
60<script type='text/javascript' src='https://andrewgarrison.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>
60
61<link rel="https://api.w.org/" href="https://andrewgarrison.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://andrewgarrison.com/xmlrpc.php?rsd" />
62<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://andrewgarrison.com/wp-includes/wlwmanifest.xml" /> 
63<meta name="generator" content="WordPress 5.8.17" />
64<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /><style type="text/css">body { background-color: #efefdf; }body { background-image: url(https://andrewgarrison.com/wp-content/themes/Flexible/images/control_panel/body-bg14.png); }</style><style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style></head>
65<body class="home blog chrome et_includes_sidebar">
66	<div id="container">
67				<header class="clearfix">
68			<hgroup id="logo-area">
69								<h1 id="logo">
70					<a href="https://andrewgarrison.com" title="Andrew Garrison">Andrew Garrison</a>
71				</h1>
72				<h2>a blog about software development</h2>
73			</hgroup>
74			
75			<nav id="top-menu">
76										<ul class="nav">
77															<li class="current_page_item"><a href="https://andrewgarrison.com">Home</a></li>
78							
79							<li class="page_item page-item-109"><a href="https://andrewgarrison.com/about/">About</a></li>
80<li class="page_item page-item-44"><a href="https://andrewgarrison.com/blog/">Blog</a></li>
81<li class="page_item page-item-329"><a href="https://andrewgarrison.com/cookie-policy/">Cookie Policy</a></li>
82													</ul>
83								</nav> <!-- end #top-menu -->
84
85					
86		</header> 
87		<div id="main-area">
88			<a href="#" id="mobile_nav" class="closed"><span></span>Navigation Menu</a>
89<div id="featured" class="flexslider">
90	<ul class="slides">
91				<li class="slide">					
92				<a href="https://andrewgarrison.com/project/codemonkey/">							
93					<img src="https://andrewgarrison.com/wp-content/uploads/2012/10/CodeMonkey-68762_960x3601.jpg" alt='Code Monkey' width='960' height='360' />				</a>
94			</li>
95		</ul>
96</div> <!-- end #featured -->
97
98
99	<section id="blog" class="clearfix">
100		<h1 class="section-title">Blog</h1>
101		<span class="section-tagline">Recent news</span>
102		
103		<a href="/blog" class="more">More posts &raquo;</a>
104		
105		<div id="blog-grid">
106														<article id="post-331" class="blog-item post-331 post type-post status-publish format-standard hentry category-everything">
107					<span class="date">Sep<strong>19</strong></span>
108
109					<h2><a href="https://andrewgarrison.com/blog/simplerockets-2-is-now-available-for-mobile/">SimpleRockets 2 is now available for mobile</a></h2>
110					<p class="meta-info">Posted on Sep 19 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
111					<p>After more than three years of development, SimpleRockets 2 is now available on the iOS App Store and Google Play. You can get it here.
112
113As usual, here&#8217;s a new launch...</p>
114				</article> <!-- end .blog-item -->
115											<article id="post-319" class="blog-item post-319 post type-post status-publish format-standard hentry category-everything category-games category-ios">
116					<span class="date">Nov<strong>27</strong></span>
117
118					<h2><a href="https://andrewgarrison.com/blog/simpleplanes-trailer/">SimplePlanes Trailer</a></h2>
119					<p class="meta-info">Posted on Nov 27 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
120					<p>Just remembered that I still have this blog. Well, the past year I&#8217;ve been writing a game with Philip Tarpley about building airplanes. The game is called SimplePlanes....</p>
121				</article> <!-- end .blog-item -->
122											<article id="post-266" class="blog-item last post-266 post type-post status-publish format-standard hentry category-everything">
123					<span class="date">Nov<strong>25</strong></span>
124
125					<h2><a href="https://andrewgarrison.com/blog/jundroos-game-architecture-and-tools/">Jundroo&#8217;s Game Architecture and Tools</a></h2>
126					<p class="meta-info">Posted on Nov 25 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
127					<p>I am frequently asked what I use to write my games, so I thought it was time to just write it down and put it in one place.
128Architecture
12995% of my code is in C++, and then I have...</p>
130				</article> <!-- end .blog-item -->
131											<article id="post-261" class="blog-item post-261 post type-post status-publish format-standard hentry category-simplerockets">
132					<span class="date">Sep<strong>11</strong></span>
133
134					<h2><a href="https://andrewgarrison.com/blog/landing-a-rover-on-smoon-in-simplerockets/">Landing a rover on Smoon in SimpleRockets</a></h2>
135					<p class="meta-info">Posted on Sep 11 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
136					<p>It seems that every time I release a new game, my players manage to do the impossible. SimpleRockets has been no different. Within just days after release, I am seeing high...</p>
137				</article> <!-- end .blog-item -->
138											<article id="post-223" class="blog-item post-223 post type-post status-publish format-standard hentry category-everything category-ios category-marketing">
139					<span class="date">Sep<strong>06</strong></span>
140
141					<h2><a href="https://andrewgarrison.com/blog/number-two/">Number Two</a></h2>
142					<p class="meta-info">Posted on Sep 6 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
143					<p>My newest game, SimpleRockets, was released yesterday (9/5) and rose to the #2 spot in the iOS App Store. Needless to say, it&#8217;s been an exciting day and I thought it would...</p>
144				</article> <!-- end .blog-item -->
145											<article id="post-216" class="blog-item last post-216 post type-post status-publish format-standard hentry category-everything">
146					<span class="date">Sep<strong>05</strong></span>
147
148					<h2><a href="https://andrewgarrison.com/blog/simplerockets-has-launched/">SimpleRockets has launched!</a></h2>
149					<p class="meta-info">Posted on Sep 5 by <a href="https://andrewgarrison.com/blog/author/admin/" title="Posts by Andrew" rel="author">Andrew</a></p>
150					<p>SimpleRockets is now available on iPhone/iPad, Google Play, Amazon App Store, Windows Phone 8, and PC. It&#8217;s just $0.99 on everything except for PC. Be sure to get it now,...</p>
151				</article> <!-- end .blog-item -->
152					</div> <!-- end #blog-grid -->
153	</section> <!-- end #blog -->
154
155	
156			</div> 	<!-- end #main-area -->
157		
158		<footer id="main_footer" class="clearfix">
159			<p id="copyright">Designed by <a href="http://www.elegantthemes.com" title="Premium WordPress Themes">Elegant Themes</a> | Powered by <a href="http://www.wordpress.org">WordPress</a></p>
160		</footer> <!-- end #main_footer -->
161	</div> <!-- end #container -->
162
163	
163<script type='text/javascript' src='https://andrewgarrison.com/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.18' id='jquery-form-js'></script>
vendor: 1 bytes, line 163
163
164<script type='text/javascript' id='contact-form-7-js-extra'>
165/* <![CDATA[ */
166var _wpcf7 = {"loaderUrl":"https:\/\/andrewgarrison.com\/wp-content\/plugins\/contact-form-7\/images\/ajax-loader.gif","sending":"Sending ..."};
167/* ]]> */
168</script>
vendor: 1 bytes, line 168
168
169<script type='text/javascript' src='https://andrewgarrison.com/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=3.3.1' id='contact-form-7-js'></script>
vendor: 1 bytes, line 169
169
170<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/superfish.js?ver=1.0' id='superfish-js'></script>
vendor: 1 bytes, line 170
170
171<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/jquery.easing.1.3.js?ver=1.0' id='easing-js'></script>
vendor: 1 bytes, line 171
171
172<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/jquery.flexslider-min.js?ver=1.0' id='flexslider-js'></script>
vendor: 1 bytes, line 172
172
173<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/jquery.fitvids.js?ver=1.0' id='fitvids-js'></script>
vendor: 1 bytes, line 173
173
174<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/jquery.quicksand.js?ver=1.0' id='quicksand-js'></script>
vendor: 1 bytes, line 174
174
175<script type='text/javascript' id='custom_script-js-extra'>
176/* <![CDATA[ */
177var etsettings = {"ajaxurl":"https:\/\/andrewgarrison.com\/wp-admin\/admin-ajax.php"};
178/* ]]> */
179</script>
vendor: 1 bytes, line 179
179
180<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/js/custom.js?ver=1.0' id='custom_script-js'></script>
vendor: 1 bytes, line 180
180
181<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/page_templates/js/fancybox/jquery.fancybox-1.3.4.pack.js?ver=1.3.4' id='fancybox-js'></script>
vendor: 1 bytes, line 181
181
182<script type='text/javascript' src='https://andrewgarrison.com/wp-content/themes/Flexible/epanel/page_templates/js/et-ptemplates-frontend.js?ver=1.1' id='et-ptemplates-frontend-js'></script>
vendor: 1 bytes, line 182
182
183<script type='text/javascript' src='https://andrewgarrison.com/wp-includes/js/wp-embed.min.js?ver=5.8.17' id='wp-embed-js'></script>
183
184</body>
185</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.