<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://github.com/Portfolio/feed.xml" rel="self" type="application/atom+xml" /><link href="https://github.com/Portfolio/" rel="alternate" type="text/html" /><updated>2026-09-13T10:37:27+00:00</updated><id>https://github.com/Portfolio/feed.xml</id><title type="html">Justin Perez Portfolio</title><subtitle>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.</subtitle><author><name>Justin Perez</name></author><entry><title type="html">Code Review: Survival-Game-Concept</title><link href="https://github.com/Portfolio/code%20review/ue5/games/Code-Review-Survival-Game-Concept/" rel="alternate" type="text/html" title="Code Review: Survival-Game-Concept" /><published>2026-09-12T00:00:00+00:00</published><updated>2026-09-12T00:00:00+00:00</updated><id>https://github.com/Portfolio/code%20review/ue5/games/Code-Review-Survival-Game-Concept</id><content type="html" xml:base="https://github.com/Portfolio/code%20review/ue5/games/Code-Review-Survival-Game-Concept/"><![CDATA[<p>Hey Everyone!</p>

<p>For my final Capstone at SNHU I was tasked with looking at some of the older games I have made in the development of my time at this SNHU as someone who is now about to graduate. The first thing I thought of was <em>“Oh this is going to be embarrassing!”</em>, which I was completely right! After looking at my older code for a while I realized I made so many mistakes back in the day that were extremely silly to make. As it was required by class to spend a week polishing the game (while not completely rewriting it) to make it a bit nicer for a portfolio; I wanted to make a semi post mortem/code review just for fun. I also wanted a chance to talk about thing I have learned from then along with how I would approach the same situation much differently if given a chance to do a complete rewrite instead of polish.</p>

<p>This project was made using mainly C++ but also does have a small aspect of blueprints for the UI elements. While I could talk about the blueprints for this code review I would only like to talk about the C++ as that’s where the bulk of the code is and what this project is suppose to be demonstrating.</p>

<p>The project can be found <a href="https://github.com/Justin-Bytes-Code/Survival-Game-Concept">Here</a> on my Github.</p>

<!--more-->

<hr />

<p>First I’d like to say the biggest issue with this entire project I really wish I was allowed to change for my polishing. Is where the code actually is. A major part of the code is located inside the: <code class="language-plaintext highlighter-rouge">PlayerChar.cpp</code> &amp; <code class="language-plaintext highlighter-rouge">PlayerChar.h</code>. 
This is an issue for <strong>multiple</strong> reasons such as refactoring, tweaking, testing, and expandability along with even more. With a smaller game project, such as this one, it could be alright but a good programmer should always plan for expandability rather then expecting it will never be expanded upon or looked on again by another programmer.The larger issue is that several different gameplay systems are being handled directly inside <code class="language-plaintext highlighter-rouge">PlayerChar.cpp.</code> While player-specific logic belongs in the player class, systems such as resource management and building could be separated into their own components or classes as the project grows. You should try to the best of your ability to make every system modular to the best ability you can. While this can be seen as a time waste by some other people I’d argue the opposite, if you ever need the code later you will be thanking yourself in the past for having the forethought for making it a lot easier on yourself to scan through your code. This also is in general a great habit to develop like all of OOP principals, as it stops a lot of redundant code from having to be written along with heavily speeds up your development time.</p>

<!--more-->

<hr />

<p>Breaking down the code I’d like to talk about this at the start of <code class="language-plaintext highlighter-rouge">PlayerChar.cpp</code></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  BuildingArray.SetNum(3);
	ResourcesArray.SetNum(3);
	ResourcesNameArray.Add(TEXT("Wood"));
	ResourcesNameArray.Add(TEXT("Stone"));
	ResourcesNameArray.Add(TEXT("Berry"));
</code></pre></div></div>

<p>While this code is functional and does work as intended it could be written in a cleaner nicer way while still allowing for expandability. I’d change the initialization and data structure to make the resource system dynamically scalable. I manually initialized the array to a size of 3, which creates unnecessary rigidity. It also introduces the <em>“Magic Number”</em> issue as let’s say later down the line we want to add 100s of resources. We would have to memorize the size was 100 then remember to add to that number if we ever decided to add more or less which could cause issues in the future.</p>

<!--more-->

<hr />

<p>Another section of my code I heavily did improve upon even if I wasn’t allowed to “completely rewrite the code” is</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>void APlayerChar::SetHealth(float amount)
{
	if (Health + amount &lt; 100)
	{
		Health = Health + amount;
	}
}

void APlayerChar::SetHunger(float amount)
{
	if (Hunger + amount &lt; 100)
	{
		Hunger = Hunger += amount;
	}
	else {
		Hunger = 100;
	}
}

void APlayerChar::SetStamina(float amount)
{
	if (Stamina + amount &lt; 100)
	{
		Stamina = Stamina + amount;
	}
}

void APlayerChar::DecreaseStats()
{
	if (Hunger &gt; 0)
	{
		SetHunger(-1.0f);
	}
	
	SetStamina(10.0f);

	if (Hunger &lt;= 0)
	{
		SetHealth(-3.0f);
	}
}
</code></pre></div></div>

<p>The first thing you might notice is <em>“there isn’t a singular comment!”</em>. Which is a good thing to notice but the bigger issue the naming convention + logic. For an example naming a function <code class="language-plaintext highlighter-rouge">void APlayerChar::SetHealth(float amount)</code> might make you think it’s to set a player health function but it’s actually a additive healing function intended to heal the player. I would rename it something like <code class="language-plaintext highlighter-rouge">GainHealth</code> instead then add a smaller comment explaining what it does. This is also true for a function named <code class="language-plaintext highlighter-rouge">void APlayerChar::DecreaseStats()</code> it only decreases 2 stat which a better way to write this might be <code class="language-plaintext highlighter-rouge">void APlayerChar::PassiveHungerDrain()</code></p>

<p>There is also the issue with the logic. The logic in almost all of these isn’t set up in a scalable/Modular way. Firstly they all include the <em>“Magic Number”</em> issue I spoke about before where there is no context for most of these variables which could lead other programmers confused. They also could lead to hard coded numbers which could cause issues in the future. For an example a game designer says <em>“Hey Justin, let’s make the player health around 150 instead of 100”</em>. You’d have to manually go in and change a lot of variables as now <code class="language-plaintext highlighter-rouge">if (Health + amount &lt; 100)</code> doesn’t work anymore. There is also edge case logic that is a even larger issue in this code. For this example we are going to use this snippet.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>void APlayerChar::SetHealth(float amount)
{
	if (Health + amount &lt; 100)
	{
		Health = Health + amount;
	}
}

</code></pre></div></div>
<p>Let’s say Your health is at 80 and you eat a berry which heals you for 30. It would be 80 + 30 which means your <em>new</em> health value is 110 and 110 &lt; 100 isn’t true. This means you would need the <strong>EXACT</strong> amount of healing to regain HP to max again. This could be easily fixed by fixing this line of code or adding another snippet for <em>KISS</em> simplicity like:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>else if (Health + amount &gt;= MaxHealth)
{
  Health = MaxHealth;
}
</code></pre></div></div>
<p>This could easily fix the code while not introducing complex logic to the problem that might make it a bit harder to read.</p>

<!--more-->

<hr />

<p>Now for the big one which is the <code class="language-plaintext highlighter-rouge">FindObject()</code> function where <strong>MOST</strong> of the game logic is stored and has deep nesting issues along with no comments.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>void APlayerChar::FindObject()
{
	FHitResult HitResult;
	FVector StartLocation = PlayerCamComp-&gt;GetComponentLocation();
	FVector Direction = PlayerCamComp-&gt;GetForwardVector() * 800.0f;
	FVector EndLocation = StartLocation + Direction;

	FCollisionQueryParams QuaryParams;
	QuaryParams.AddIgnoredActor(this);
	QuaryParams.bTraceComplex = true;
	QuaryParams.bReturnFaceIndex = true;

	if (!isBuilding)
	{
		if (GetWorld()-&gt;LineTraceSingleByChannel(HitResult, StartLocation, EndLocation, ECC_Visibility, QuaryParams))
		{
			AResource_M* HitResource = Cast&lt;AResource_M&gt;(HitResult.GetActor());

			if (Stamina &gt; 5.0f)
			{
				if (HitResource)
				{
					FString hitName = HitResource-&gt;resourceName;
					int resourceValue = HitResource-&gt;resourceAmount;

					HitResource-&gt;totalResource = HitResource-&gt;totalResource - resourceValue;

					if (HitResource-&gt;totalResource &gt; resourceValue)
					{
						GiveResource(resourceValue, hitName);

						matsCollected = matsCollected + resourceValue;

						objWidget-&gt;UpdatematOBJ(matsCollected);

						check(GEngine != nullptr);
						GEngine-&gt;AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("Resource Collected"));

						UGameplayStatics::SpawnDecalAtLocation(GetWorld(), hitDecal, FVector(10.0f, 10.0f, 10.0f), HitResult.Location, FRotator(-90, 0, 0), 2.0f);

						SetStamina(-5.0f);

					}
					else
					{
						HitResource-&gt;Destroy();
						check(GEngine != nullptr);
						GEngine-&gt;AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("Resource Depleted"));

					}
				}
			}
		}

	}

	else
	{
		isBuilding = false;
		objectsBuilt = objectsBuilt + 1.0f;

		objWidget-&gt;UpdatebuildObj(objectsBuilt);
	}


}
</code></pre></div></div>

<p>This is probably the most egregious example on the list. <code class="language-plaintext highlighter-rouge">FindObject()</code> is doing way to much for the start as it’s responsible for:</p>

<ul>
  <li>Performs a line trace</li>
  <li>Determines what was hit</li>
  <li>Checks stamina</li>
  <li>Collects resources</li>
  <li>Updates resource totals</li>
  <li>Updates the objective UI</li>
  <li>Displays debug messages</li>
  <li>Spawns a decal</li>
  <li>Changes stamina</li>
  <li>Handles building</li>
  <li>Updates the building objective</li>
</ul>

<p>That’s way to much for 1 function to be handling and could be broken down in multiple smaller functiones. Which it could look something like this:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">TraceForObject()</code>
    <ul>
      <li>Handles line traces for objects</li>
    </ul>
  </li>
  <li><code class="language-plaintext highlighter-rouge">HandleResource()</code>
    <ul>
      <li>Handles resource gathering</li>
    </ul>
  </li>
  <li><code class="language-plaintext highlighter-rouge">CollectResource()</code>
    <ul>
      <li>Handles the math values of resource gathering</li>
    </ul>
  </li>
  <li><code class="language-plaintext highlighter-rouge">UpdateObjective()</code>
    <ul>
      <li>Handles Objectives</li>
    </ul>
  </li>
</ul>

<p>A simple change like this would make the function much easier to read and most likely even prevent issues arising in the future of being unable to find bugs.</p>

<p>There is also the issue of the naming convention like before <code class="language-plaintext highlighter-rouge">FindObject()</code> isn’t a descriptive name. It could be renamed to <code class="language-plaintext highlighter-rouge">InteractWithObject()</code> instead with a smaller comment explaining the functionality.</p>

<p>Magic numbers is also the biggest issue inside this function. So many numbers are purely magic numbers which is going to make almost anyone confused if you try to code with it or tinker with it in the future. Even though I made the code 2 years ago I still struggled to understand what was even going on until I read it slowly / played the game a bit to understand it. Like stated before this is a huge issue going forward as if any value changes; for instance the <code class="language-plaintext highlighter-rouge">SetStamina(-5.0f);</code> which is a stamina drain. You’d have to find every variable of a 5 to change it.</p>

<p>There is also the issue of logic problems much like the other issues I did found here:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>HitResource-&gt;totalResource = HitResource-&gt;totalResource - resourceValue;

if (HitResource-&gt;totalResource &gt; resourceValue)
{
    GiveResource(resourceValue, hitName);
    ...
}
else
{
    HitResource-&gt;Destroy();
}
</code></pre></div></div>

<p>While the code does work I am subtracting the resource value before checking whether there is enough resources that remain. This could cause an issue in the future where the player destroys a resource without having received the final amount. This is horrible for the player experience as it’s going to seem like the game is either broken or your input didn’t register correctly.</p>

<!--more-->

<p>Most of the code here has been redone and is currently available on my Github located <a href="https://github.com/Justin-Bytes-Code/Survival-Game-Concept">Here</a></p>]]></content><author><name>Justin Perez</name></author><category term="Code Review" /><category term="UE5" /><category term="Games" /><category term="Post Formats" /><category term="readability" /><category term="Code Review" /><category term="standard" /><category term="SNHU" /><category term="UE5" /><category term="Games" /><summary type="html"><![CDATA[Hey Everyone! For my final Capstone at SNHU I was tasked with looking at some of the older games I have made in the development of my time at this SNHU as someone who is now about to graduate. The first thing I thought of was “Oh this is going to be embarrassing!”, which I was completely right! After looking at my older code for a while I realized I made so many mistakes back in the day that were extremely silly to make. As it was required by class to spend a week polishing the game (while not completely rewriting it) to make it a bit nicer for a portfolio; I wanted to make a semi post mortem/code review just for fun. I also wanted a chance to talk about thing I have learned from then along with how I would approach the same situation much differently if given a chance to do a complete rewrite instead of polish. This project was made using mainly C++ but also does have a small aspect of blueprints for the UI elements. While I could talk about the blueprints for this code review I would only like to talk about the C++ as that’s where the bulk of the code is and what this project is suppose to be demonstrating. The project can be found Here on my Github.]]></summary></entry><entry><title type="html">Welcome to Jekyll!</title><link href="https://github.com/Portfolio/blog/welcome-to-jekyll/" rel="alternate" type="text/html" title="Welcome to Jekyll!" /><published>2019-04-18T19:34:30+00:00</published><updated>2019-04-18T19:34:30+00:00</updated><id>https://github.com/Portfolio/blog/welcome-to-jekyll</id><content type="html" xml:base="https://github.com/Portfolio/blog/welcome-to-jekyll/"><![CDATA[<p>You’ll find this post in your <code class="language-plaintext highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="language-plaintext highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p>

<p>To add new posts, simply add a file in the <code class="language-plaintext highlighter-rouge">_posts</code> directory that follows the convention <code class="language-plaintext highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p>

<p>Jekyll also offers powerful support for code snippets:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span>
  <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span>
<span class="k">end</span>
<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span>
<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span>
</code></pre></div></div>

<p>Check out the <a href="https://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p>]]></content><author><name>Justin Perez</name></author><category term="blog" /><category term="Jekyll" /><category term="update" /><summary type="html"><![CDATA[You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.]]></summary></entry><entry><title type="html">Post: Link</title><link href="https://github.com/Portfolio/blog/post-link/" rel="alternate" type="text/html" title="Post: Link" /><published>2010-03-07T00:00:00+00:00</published><updated>2010-03-07T00:00:00+00:00</updated><id>https://github.com/Portfolio/blog/post-link</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-link/"><![CDATA[<p>This theme supports <strong>link posts</strong>, made famous by John Gruber. To use, just add <code class="language-plaintext highlighter-rouge">link: http://url-you-want-linked</code> to the post’s YAML front matter and you’re done.</p>

<blockquote>
  <p>And this is how a quote looks.</p>
</blockquote>

<p>Some <a href="#">link</a> can also be shown.</p>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="link" /><category term="Post Formats" /><summary type="html"><![CDATA[This theme supports link posts, made famous by John Gruber. To use, just add link: http://url-you-want-linked to the post’s YAML front matter and you’re done.]]></summary></entry><entry><title type="html">Post: Notice</title><link href="https://github.com/Portfolio/blog/post-notice/" rel="alternate" type="text/html" title="Post: Notice" /><published>2010-02-05T00:00:00+00:00</published><updated>2010-02-05T00:00:00+00:00</updated><id>https://github.com/Portfolio/blog/post-notice</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-notice/"><![CDATA[<p>A notice displays information that explains nearby content. Often used to call attention to a particular detail.</p>

<p>When using Kramdown <code class="language-plaintext highlighter-rouge">{: .notice}</code> can be added after a sentence to assign the <code class="language-plaintext highlighter-rouge">.notice</code> to the <code class="language-plaintext highlighter-rouge">&lt;p&gt;&lt;/p&gt;</code> element.</p>

<p class="notice"><strong>Changes in Service:</strong> We just updated our <a href="#">privacy policy</a> here to better service our customers. We recommend reviewing the changes.</p>

<p class="notice--primary"><strong>Primary Notice:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. <a href="#">Praesent libero</a>. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.</p>

<p class="notice--info"><strong>Info Notice:</strong> Lorem ipsum dolor sit amet, <a href="#">consectetur adipiscing elit</a>. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.</p>

<p class="notice--warning"><strong>Warning Notice:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href="#">Integer nec odio</a>. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.</p>

<p class="notice--danger"><strong>Danger Notice:</strong> Lorem ipsum dolor sit amet, <a href="#">consectetur adipiscing</a> elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.</p>

<p class="notice--success"><strong>Success Notice:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at <a href="#">nibh elementum</a> imperdiet.</p>

<p>Want to wrap several paragraphs or other elements in a notice? Using Liquid to capture the content and then filter it with <code class="language-plaintext highlighter-rouge">markdownify</code> is a good way to go.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{% capture notice-2 %}
#### New Site Features

* You can now have cover images on blog pages
* Drafts will now auto-save while writing
{% endcapture %}

<span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">"notice"</span><span class="nt">&gt;</span>{{ notice-2 | markdownify }}<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<div class="notice">
  
<h4 id="new-site-features">New Site Features</h4>

<ul>
  <li>You can now have cover images on blog pages</li>
  <li>Drafts will now auto-save while writing</li>
</ul>

</div>

<p>Or you could skip the capture and stick with straight HTML.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">"notice"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;h4&gt;</span>Message<span class="nt">&lt;/h4&gt;</span>
  <span class="nt">&lt;p&gt;</span>A basic message.<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<div class="notice">
  <h4>Message</h4>
  <p>A basic message.</p>
</div>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="Post Formats" /><category term="notice" /><summary type="html"><![CDATA[A notice displays information that explains nearby content. Often used to call attention to a particular detail.]]></summary></entry><entry><title type="html">Post: Quote</title><link href="https://github.com/Portfolio/blog/post-quote/" rel="alternate" type="text/html" title="Post: Quote" /><published>2010-02-05T00:00:00+00:00</published><updated>2010-02-05T00:00:00+00:00</updated><id>https://github.com/Portfolio/blog/post-quote</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-quote/"><![CDATA[<blockquote>
  <p>Only one thing is impossible for God: To find any sense in any copyright law on the planet.</p>
</blockquote>

<blockquote>
  <p><cite><a href="http://www.brainyquote.com/quotes/quotes/m/marktwain163473.html">Mark Twain</a></cite></p>
</blockquote>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="Post Formats" /><category term="quote" /><summary type="html"><![CDATA[Only one thing is impossible for God: To find any sense in any copyright law on the planet. Mark Twain]]></summary></entry><entry><title type="html">Post: Chat</title><link href="https://github.com/Portfolio/blog/post-chat/" rel="alternate" type="text/html" title="Post: Chat" /><published>2010-01-08T00:00:00+00:00</published><updated>2010-01-08T00:00:00+00:00</updated><id>https://github.com/Portfolio/blog/post-chat</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-chat/"><![CDATA[<p>Abbott: Strange as it may seem, they give ball players nowadays very peculiar names.</p>

<p>Costello: Funny names?</p>

<p>Abbott: Nicknames, nicknames. Now, on the St. Louis team we have Who’s on first, What’s on second, I Don’t Know is on third–</p>

<p>Costello: That’s what I want to find out. I want you to tell me the names of the fellows on the St. Louis team.</p>

<p>Abbott: I’m telling you. Who’s on first, What’s on second, I Don’t Know is on third–</p>

<p>Costello: You know the fellows’ names?</p>

<p>Abbott: Yes.</p>

<p>Costello: Well, then who’s playing first?</p>

<p>Abbott: Yes.</p>

<p>Costello: I mean the fellow’s name on first base.</p>

<p>Abbott: Who.</p>

<p>Costello: The fellow playin’ first base.</p>

<p>Abbott: Who.</p>

<p>Costello: The guy on first base.</p>

<p>Abbott: Who is on first.</p>

<p>Costello: Well, what are you askin’ me for?</p>

<p>Abbott: I’m not asking you–I’m telling you. Who is on first.</p>

<p>Costello: I’m asking you–who’s on first?</p>

<p>Abbott: That’s the man’s name.</p>

<p>Costello: That’s who’s name?</p>

<p>Abbott: Yes.</p>

<p>Costello: When you pay off the first baseman every month, who gets the money?</p>

<p>Abbott: Every dollar of it. And why not, the man’s entitled to it.</p>

<p>Costello: Who is?</p>

<p>Abbott: Yes.</p>

<p>Costello: So who gets it?</p>

<p>Abbott: Why shouldn’t he? Sometimes his wife comes down and collects it.</p>

<p>Costello: Who’s wife?</p>

<p>Abbott: Yes. After all, the man earns it.</p>

<p>Costello: Who does?</p>

<p>Abbott: Absolutely.</p>

<p>Costello: Well, all I’m trying to find out is what’s the guy’s name on first base?</p>

<p>Abbott: Oh, no, no. What is on second base.</p>

<p>Costello: I’m not asking you who’s on second.</p>

<p>Abbott: Who’s on first!</p>

<p>Costello: St. Louis has a good outfield?</p>

<p>Abbott: Oh, absolutely.</p>

<p>Costello: The left fielder’s name?</p>

<p>Abbott: Why.</p>

<p>Costello: I don’t know, I just thought I’d ask.</p>

<p>Abbott: Well, I just thought I’d tell you.</p>

<p>Costello: Then tell me who’s playing left field?</p>

<p>Abbott: Who’s playing first.</p>

<p>Costello: Stay out of the infield! The left fielder’s name?</p>

<p>Abbott: Why.</p>

<p>Costello: Because.</p>

<p>Abbott: Oh, he’s center field.</p>

<p>Costello: Wait a minute. You got a pitcher on this team?</p>

<p>Abbott: Wouldn’t this be a fine team without a pitcher?</p>

<p>Costello: Tell me the pitcher’s name.</p>

<p>Abbott: Tomorrow.</p>

<p>Costello: Now, when the guy at bat bunts the ball–me being a good catcher–I want to throw the guy out at first base, so I pick up the ball and throw it to who?</p>

<p>Abbott: Now, that’s he first thing you’ve said right.</p>

<p>Costello: I DON’T EVEN KNOW WHAT I’M TALKING ABOUT!</p>

<p>Abbott: Don’t get excited. Take it easy.</p>

<p>Costello: I throw the ball to first base, whoever it is grabs the ball, so the guy runs to second. Who picks up the ball and throws it to what. What throws it to I don’t know. I don’t know throws it back to tomorrow–a triple play.</p>

<p>Abbott: Yeah, it could be.</p>

<p>Costello: Another guy gets up and it’s a long ball to center.</p>

<p>Abbott: Because.</p>

<p>Costello: Why? I don’t know. And I don’t care.</p>

<p>Abbott: What was that?</p>

<p>Costello: I said, I DON’T CARE!</p>

<p>Abbott: Oh, that’s our shortstop!</p>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="chat" /><category term="Post Formats" /><summary type="html"><![CDATA[Abbott: Strange as it may seem, they give ball players nowadays very peculiar names.]]></summary></entry><entry><title type="html">Post: Modified Date</title><link href="https://github.com/Portfolio/blog/post-modified/" rel="alternate" type="text/html" title="Post: Modified Date" /><published>2010-01-07T00:00:00+00:00</published><updated>2016-03-09T21:20:02+00:00</updated><id>https://github.com/Portfolio/blog/post-modified</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-modified/"><![CDATA[<p>This post has been updated and should show a modified date if used in a layout.</p>

<p>All children, except one, grow up. They soon know that they will grow up, and the way Wendy knew was this. One day when she was two years old she was playing in a garden, and she plucked another flower and ran with it to her mother. I suppose she must have looked rather delightful, for Mrs. Darling put her hand to her heart and cried, “Oh, why can’t you remain like this for ever!” This was all that passed between them on the subject, but henceforth Wendy knew that she must grow up. You always know after you are two. Two is the beginning of the end.</p>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="Post Formats" /><category term="readability" /><category term="standard" /><summary type="html"><![CDATA[This post has been updated and should show a modified date if used in a layout.]]></summary></entry><entry><title type="html">Post: Standard</title><link href="https://github.com/Portfolio/blog/post-standard/" rel="alternate" type="text/html" title="Post: Standard" /><published>2010-01-07T00:00:00+00:00</published><updated>2010-01-07T00:00:00+00:00</updated><id>https://github.com/Portfolio/blog/post-standard</id><content type="html" xml:base="https://github.com/Portfolio/blog/post-standard/"><![CDATA[<p>All children, except one, grow up. They soon know that they will grow up, and the way Wendy knew was this. One day when she was two years old she was playing in a garden, and she plucked another flower and ran with it to her mother. I suppose she must have looked rather delightful, for Mrs. Darling put her hand to her heart and cried, “Oh, why can’t you remain like this for ever!” This was all that passed between them on the subject, but henceforth Wendy knew that she must grow up. You always know after you are two. Two is the beginning of the end.</p>

<p>Mrs. Darling first heard of Peter when she was tidying up her children’s minds. It is the nightly custom of every good mother after her children are asleep to rummage in their minds and put things straight for next morning, repacking into their proper places the many articles that have wandered during the day.</p>

<!--more-->

<p>This post has a manual excerpt <code class="language-plaintext highlighter-rouge">&lt;!--more--&gt;</code> set after the second paragraph. The following YAML Front Matter has also be applied:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">excerpt_separator</span><span class="pi">:</span> <span class="s2">"</span><span class="s">&lt;!--more--&gt;"</span>
</code></pre></div></div>

<p>If you could keep awake (but of course you can’t) you would see your own mother doing this, and you would find it very interesting to watch her. It is quite like tidying up drawers. You would see her on her knees, I expect, lingering humorously over some of your contents, wondering where on earth you had picked this thing up, making discoveries sweet and not so sweet, pressing this to her cheek as if it were as nice as a kitten, and hurriedly stowing that out of sight. When you wake in the morning, the naughtiness and evil passions with which you went to bed have been folded up small and placed at the bottom of your mind and on the top, beautifully aired, are spread out your prettier thoughts, ready for you to put on.</p>

<p>I don’t know whether you have ever seen a map of a person’s mind. Doctors sometimes draw maps of other parts of you, and your own map can become intensely interesting, but catch them trying to draw a map of a child’s mind, which is not only confused, but keeps going round all the time. There are zigzag lines on it, just like your temperature on a card, and these are probably roads in the island, for the Neverland is always more or less an island, with astonishing splashes of colour here and there, and coral reefs and rakish-looking craft in the offing, and savages and lonely lairs, and gnomes who are mostly tailors, and caves through which a river runs, and princes with six elder brothers, and a hut fast going to decay, and one very small old lady with a hooked nose. It would be an easy map if that were all, but there is also first day at school, religion, fathers, the round pond, needle-work, murders, hangings, verbs that take the dative, chocolate pudding day, getting into braces, say ninety-nine, three-pence for pulling out your tooth yourself, and so on, and either these are part of the island or they are another map showing through, and it is all rather confusing, especially as nothing will stand still.</p>

<p>Of course the Neverlands vary a good deal. John’s, for instance, had a lagoon with flamingoes flying over it at which John was shooting, while Michael, who was very small, had a flamingo with lagoons flying over it. John lived in a boat turned upside down on the sands, Michael in a wigwam, Wendy in a house of leaves deftly sewn together. John had no friends, Michael had friends at night, Wendy had a pet wolf forsaken by its parents, but on the whole the Neverlands have a family resemblance, and if they stood still in a row you could say of them that they have each other’s nose, and so forth. On these magic shores children at play are for ever beaching their coracles [simple boat]. We too have been there; we can still hear the sound of the surf, though we shall land no more.</p>

<p>Of all delectable islands the Neverland is the snuggest and most compact, not large and sprawly, you know, with tedious distances between one adventure and another, but nicely crammed. When you play at it by day with the chairs and table-cloth, it is not in the least alarming, but in the two minutes before you go to sleep it becomes very real. That is why there are night-lights.</p>

<p>Occasionally in her travels through her children’s minds Mrs. Darling found things she could not understand, and of these quite the most perplexing was the word Peter. She knew of no Peter, and yet he was here and there in John and Michael’s minds, while Wendy’s began to be scrawled all over with him. The name stood out in bolder letters than any of the other words, and as Mrs. Darling gazed she felt that it had an oddly cocky appearance.</p>]]></content><author><name>Justin Perez</name></author><category term="Blog" /><category term="Post Formats" /><category term="readability" /><category term="standard" /><summary type="html"><![CDATA[All children, except one, grow up. They soon know that they will grow up, and the way Wendy knew was this. One day when she was two years old she was playing in a garden, and she plucked another flower and ran with it to her mother. I suppose she must have looked rather delightful, for Mrs. Darling put her hand to her heart and cried, “Oh, why can’t you remain like this for ever!” This was all that passed between them on the subject, but henceforth Wendy knew that she must grow up. You always know after you are two. Two is the beginning of the end. Mrs. Darling first heard of Peter when she was tidying up her children’s minds. It is the nightly custom of every good mother after her children are asleep to rummage in their minds and put things straight for next morning, repacking into their proper places the many articles that have wandered during the day.]]></summary></entry></feed>