<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gabriel Magaña Gonzalez | Technologist</title>
	<atom:link href="http://gabrielmagana.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://gabrielmagana.com</link>
	<description>Software architect, team leader, and engineer.</description>
	<lastBuildDate>Sun, 23 Nov 2025 17:20:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://gabrielmagana.com/wp-content/uploads/2023/03/gabriel-favicon.png</url>
	<title>Gabriel Magaña Gonzalez | Technologist</title>
	<link>https://gabrielmagana.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android phone not recognized on Windows 10</title>
		<link>https://gabrielmagana.com/229689-2/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Mon, 08 Mar 2021 21:32:07 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://gabrielmagana.com/?p=229689</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p><em>I&#8217;m putting this here, primarily so I don&#8217;t forget how to do it the next time. Hopefully other people can use this as well.</em></p>
<p>Sometimes, when I connect my phone to my Windows computer via a USB cable, the phone&#8217;s directories and files just do not show up on my Explorer. I narrowed this problem down to the drivers that Windows is using. One driver is the bad one that does not work, and the other works reliably. This is what I do when this problem happens:</p>
<p>1) Go to the device manager and look for something under &#8220;Other devices&#8221; or &#8220;Portable devices&#8221;. It may be the model number of the cell phone, or simply be called &#8220;MTP device&#8221;:</p>
<p style="padding-left: 40px;"><a href="https://gabrielmagana.com/wp-content/uploads/2021/03/2021-03-09_10-22-32.png"><img decoding="async" src="https://gabrielmagana.com/wp-content/uploads/2021/03/2021-03-09_10-22-32.png" width="257" height="169" alt="" class="wp-image-229692 aligncenter size-full" style="float: left;" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2) Right click on it, and select &#8220;Update Driver&#8221;</p>
<p>3) Select &#8220;Browse my computer for drivers&#8221;</p>
<p>4) Select &#8220;Let me pick from a list of available drivers on my computer&#8221;</p>
<p>5) Choose &#8220;MTP USB Device&#8221;. If there are multiple drivers, try this several times and choose a different one each time until one works. When this works, the Explorer will open a window with the files on your phone.</p>
<p>&nbsp;</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>The post <a href="https://gabrielmagana.com/229689-2/">Android phone not recognized on Windows 10</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Basic human psychological needs (or, how to help people be happy)</title>
		<link>https://gabrielmagana.com/basic-human-psychological-needs-or-how-to-help-people-be-happy/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Mon, 23 Dec 2019 17:26:17 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[happiness]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[self determination theory]]></category>
		<guid isPermaLink="false">https://gabrielmagana.com/?p=229630</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_1 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Want to raise happy children? Want to put a smile on uncle Harry, who is clearly frustrated with his life and is an asshole to everyone around him? When dealing with people, keep in mind these fundamental needs we all have. All the people I&#8217;ve encountered who seem depressed and frustrated lack one or more of these.</p>
<p><strong>Autonomy</strong> &#8211; We all need to have control over their life and a choice in what we do. Make sure the person does not feel forced or trapped in a situation.</p>
<p><strong>Competence</strong> &#8211; Make sure the person is able to solve their problems. If the problem is too complex, simplify it. If they still lack the skills to solve the problem, then give them the autonomy (see above) to use a tool/professional/whatever to solve the problem.</p>
<p><strong>Relatedness</strong> &#8211; People need to have a sense of belonging with others and feel connected.</p>
<p>How you give these to people depends entirely on the situation: If you are a minority dealing with a racist person, then start with relatedness: Focus on what&#8217;s in common, and explore other areas of commonality before you deal with more explosive topics. This is why talking about the weather is a safe (though boring and stereotypical) choice for a first coversation with a total stranger.</p>
<p>In any case, if you want to make someone feel better about you and life in general, make sure these three needs are met.</p>
<p>Any aspect of psychology is a huge topic to explore. Check out these other pages for more detail:</p>
<p><a href="https://positivepsychology.com/self-determination-theory/" target="_blank" rel="noopener noreferrer"><strong>Self Determination Theory</strong></a><strong> </strong>&#8211; Must read. This expands much more into what I wrote above.</p>
<p><a href="https://upliftconnect.com/six-basic-human-needs/" target="_blank" rel="noopener noreferrer"><strong>Tony Robbins&#8217; List</strong></a> &#8211; Tony is a great, uplifting person, and he states six basic human needs. They overlap with these above, so I think reading this page will give you a fuller view.</p>
<p><a href="http://www.ascd.org/publications/books/103009/chapters/Identifying-Our-Basic-Psychological-Needs.aspx" target="_blank" rel="noopener noreferrer"><strong>Motivating Students</strong></a> &#8211; The list, adapted to students.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>The post <a href="https://gabrielmagana.com/basic-human-psychological-needs-or-how-to-help-people-be-happy/">Basic human psychological needs (or, how to help people be happy)</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The &#8220;Now&#8221; page</title>
		<link>https://gabrielmagana.com/the-now-page/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Tue, 17 Dec 2019 09:40:39 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">https://gabrielmagana.com/?p=510</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_2 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>I added a <a href="/now"><strong>Now Page</strong></a> to my site. The Now page is a <a href="https://nownownow.com/about" target="_blank" rel="noopener noreferrer"><strong>pretty cool concept</strong></a>, driven by <a href="https://sivers.org/" target="_blank" rel="noopener noreferrer"><strong>Derek Sivers</strong></a> (by the way, if you do not follow Derek, you should).  The Now page is a snapshot in time. It should have no history and it should inform your web visitors about where you are in life, what&#8217;s been happening and what you are thinking, what you are doing, what your goals are, etc. This of it as if you have not seen a dear old friend in a year, and what would you tell him or her to catch up on your life.</p>
<p>I think it&#8217;s an awesome concept. We live in a very fragmented information flow. I share lots of things on social networks that are funny to me, I sometimes share pictures I take of family or places I visit.</p>
<p>But it&#8217;s all a tiny fragment of what&#8217;s going on in my life.</p>
<p>To really know what&#8217;s going on in my mind and life, we&#8217;d have to sit down face to face and have a long conversation. Of course I can hardly do that with anyone, especially the people who really matter to me. We all live far away from each other.</p>
<p>That&#8217;s where the Now Page comes into play. The idea is that you update it frequently, and people can come visit that page at any time and see what&#8217;s going on with your life.</p>
<p>It&#8217;s simple, but enables a deep connection unlike any social network or instant messenger could.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>The post <a href="https://gabrielmagana.com/the-now-page/">The “Now” page</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Book: Liminal Thinking</title>
		<link>https://gabrielmagana.com/book-liminal-thinking/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Tue, 17 Dec 2019 09:25:27 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<guid isPermaLink="false">https://gabrielmagana.com/?p=229617</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_3 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_2_5 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_0">
				
				
				
				
				<span class="et_pb_image_wrap "><img fetchpriority="high" decoding="async" width="198" height="300" src="https://gabrielmagana.com/wp-content/uploads/2019/12/2019-12-17_2-07-03-198x300.png" alt="" title="" class="wp-image-229620" /></span>
			</div>
			</div><div class="et_pb_column et_pb_column_3_5 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>One of the things I most like to do is to get to know myself. I want to consciously know what I think (which is surprisingly difficult for me), why I think what I think, and knowing my weaknesses and blind spots.</p>
<p>The whole point of this is to improve myself. I know the term self-improvement has a very negative stigma lately, especially from very vocal folks, but I cannot jump on that bandwagon because I really do think I can identify my weaknesses and improve upon them.</p>
<p>The problem is identifying those weaknesses.</p>
<p>The book <strong><a href="http://liminalthinking.com/" target="_blank" rel="noopener noreferrer">Liminal Thinking</a></strong> had me hooked from beginning to end. So much so that I read the whole thing from beginning to end in one sitting.</p>
<p>All through my adult life, I&#8217;ve sought to be a better person in all aspects: As a friend, as a father, as a husband, as a son, as a boss, as a provider, as a mentor, as a business strategist, as a student, as a life strategist, and as a human being in general.  The problem is that it&#8217;s extremely difficult to see yourself in the mirror for what you really, truly are. As easy as it is to see other people for who they are, I find it near impossible to do the same for myself.</p>
<p>Liminal Thinking has given me several major new strategies to get to know myself, to analyze my life, and to detach from myself to see my situation from different angles, which then gives me a much truer picture of my own life.</p>
<p>I love to read, and through reading I&#8217;ve learned much in my life.  This is one of those few books that completely changed my outlook about a major area of my life (getting to know myself, and diagnosing and addressing my shortcomings).</p>
<p>If you are in a similar situation to mine, where you are looking to make a change in yourself for the better, then I give this book my highest recommendation.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>The post <a href="https://gabrielmagana.com/book-liminal-thinking/">Book: Liminal Thinking</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clean Architecture (Java)</title>
		<link>https://gabrielmagana.com/clean-architecture-java/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Fri, 06 Dec 2019 15:08:09 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[System Architecture]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Clean Architecture]]></category>
		<guid isPermaLink="false">https://gabrielmagana.com/?p=505</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_4 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>I&#8217;ve been using Clean Architecture for a long time quite successfully. I previously posted about <strong><a href="https://gabrielmagana.com/clean-architecture/">Clean Architecture</a></strong>, where I linked to a sample project in C#. I wanted to also see what a project in Java would look like, so I went ahead and implemented it as well have a look at the <a href="https://github.com/gmagana/clean-architecture-example-java" target="_blank" rel="noopener noreferrer"><strong>github repo</strong></a> for the Java version.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>The post <a href="https://gabrielmagana.com/clean-architecture-java/">Clean Architecture (Java)</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clean Architecture</title>
		<link>https://gabrielmagana.com/clean-architecture/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Thu, 04 Jul 2019 18:34:03 +0000</pubDate>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[System Architecture]]></category>
		<category><![CDATA[Clean Architecture]]></category>
		<guid isPermaLink="false">http://gabrielmagana.com/?p=379</guid>

					<description><![CDATA[<p>In the past few days, I soared straight through Robert Martin&#8216;s book, Clean Architecture. After seeing a receipe for such an elegant system architecture, I spent a couple days converting an existing project to the architecture. It was difficult to implement Clean Architecture for the first time, and to do so while converting an existing [&#8230;]</p>
The post <a href="https://gabrielmagana.com/clean-architecture/">Clean Architecture</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></description>
										<content:encoded><![CDATA[<p>In the past few days, I soared straight through <a href="http://blog.cleancoder.com/">Robert Martin</a>&#8216;s book, <a href="https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164">Clean Architecture</a>.  After seeing a receipe for such an elegant system architecture, I spent a couple days converting an existing project to the architecture.</p>



<p>It was difficult to implement Clean Architecture for the first time, and to do so while converting an existing project to it!</p>



<p>In the end, I was successful, and I was extremely happy I did the conversion on that project. It;s the right size of project, and it was a good time to conver it, since I only had a lot of code written (but not a ton!) and the project was not in production yet.</p>



<p>I can confirm that project will have a lot less of a hard time when I make changes to it.</p>



<p>To prevent future pain, I also wrote a boilerplate C# Clean Architecture solution from scratch and put it up on a Github repo. Check it out at  <a href="https://github.com/gmagana/clean-architecture-example-csharp">https://github.com/gmagana/clean-architecture-example-csharp</a> .</p>



<p>I think the sample solution will be useful for a person new to Clean Architecture. I certainly wish I&#8217;d had that sample code at hand when learning about the architecture!</p>



<p>In the future, I&#8217;ll be using that sample solution to start new projects. Hopefully it will be useful to other folks as well!</p>The post <a href="https://gabrielmagana.com/clean-architecture/">Clean Architecture</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On being overwhelmed</title>
		<link>https://gabrielmagana.com/on-being-overwhelmed/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Mon, 14 Aug 2017 12:41:27 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://gabrielmagana.com/?p=369</guid>

					<description><![CDATA[<p>How to not feel overwhelmed.</p>
The post <a href="https://gabrielmagana.com/on-being-overwhelmed/">On being overwhelmed</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></description>
										<content:encoded><![CDATA[<p><em>Note: This an extremely useful suggestion taken from Tim Ferris&#8217; book, Tools of Titans. I highly recommend everyone read Tim&#8217;s book.</em></p>
<p>Feeling overwhelmed sucks. You feel bombarded from every direction, and all you want to do is run away from it all. We&#8217;ve all been there.</p>
<p>Tim Ferris suggests asking yourself these two questions when you&#8217;re overwhelmed:</p>
<ol>
<li>In the midst of overwhelm, is life not showing you exactly what you should subtract?</li>
<li>Are you having a <em>breakdown</em> or a <em>breakthrough</em>?</li>
</ol>
<p>As Marcus Aurelius and Ryan Holiday would say: &#8220;The obstacle is the way&#8221;, in other words, the obstacle itself gives you an insight to the solution. You just have to look.</p>
<p>Thank you Tim, for giving me the answer :-).</p>
<p>I highly recommend you read this book. The excerpt above is from the chapter titled: <em>How to Say &#8220;No&#8221; When it Matters Most</em>.</p>The post <a href="https://gabrielmagana.com/on-being-overwhelmed/">On being overwhelmed</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Travelling: TSA Pre vs Global Entry vs Sentri vs Nexus &#8211; Which is right trusted traveler service for me?</title>
		<link>https://gabrielmagana.com/travelling-tsa-pre-vs-global-entry-vs-sentri-vs-nexus-which-is-right-trusted-traveler-service-for-me/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Mon, 07 Aug 2017 12:18:03 +0000</pubDate>
				<category><![CDATA[Travel]]></category>
		<guid isPermaLink="false">http://gabrielmagana.com/?p=364</guid>

					<description><![CDATA[<p>TSA Pre vs Global Entry vs Sentri vs Nexus - Which is right trusted traveler service for me?</p>
The post <a href="https://gabrielmagana.com/travelling-tsa-pre-vs-global-entry-vs-sentri-vs-nexus-which-is-right-trusted-traveler-service-for-me/">Travelling: TSA Pre vs Global Entry vs Sentri vs Nexus – Which is right trusted traveler service for me?</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></description>
										<content:encoded><![CDATA[<p>When I was trying to choose which is the right expedited border processing service for me, I could not find any information. Not even the people who processed my TSA Pre application knew what the different programs were. I recently received this flyer which explained it all. Since I did not find such a clear explanation anywhere I post it here, maybe it will help someone in the same boat as I:</p>
<p>Front:<br />
<a href="http://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001.jpg"><img loading="lazy" decoding="async" src="http://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001-791x1024.jpg" alt="" width="791" height="1024" class="aligncenter size-large wp-image-365" srcset="https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001-791x1024.jpg 791w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001-232x300.jpg 232w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001-768x994.jpg 768w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001-1080x1398.jpg 1080w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0001.jpg 1700w" sizes="(max-width: 791px) 100vw, 791px" /></a></p>
<p>Back:<br />
<a href="http://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002.jpg"><img loading="lazy" decoding="async" src="http://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002-791x1024.jpg" alt="" width="791" height="1024" class="aligncenter size-large wp-image-366" srcset="https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002-791x1024.jpg 791w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002-232x300.jpg 232w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002-768x994.jpg 768w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002-1080x1398.jpg 1080w, https://gabrielmagana.com/wp-content/uploads/2017/08/Scan_0002.jpg 1700w" sizes="(max-width: 791px) 100vw, 791px" /></a></p>The post <a href="https://gabrielmagana.com/travelling-tsa-pre-vs-global-entry-vs-sentri-vs-nexus-which-is-right-trusted-traveler-service-for-me/">Travelling: TSA Pre vs Global Entry vs Sentri vs Nexus – Which is right trusted traveler service for me?</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Installing FTP server (vsFTPd) on an Amazon EC2 Ubuntu 14.04 host</title>
		<link>https://gabrielmagana.com/installing-ftp-server-vsftpd-on-an-amazon-ec2-ubuntu-14-04-host/</link>
					<comments>https://gabrielmagana.com/installing-ftp-server-vsftpd-on-an-amazon-ec2-ubuntu-14-04-host/#comments</comments>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Sun, 30 Nov 2014 17:31:53 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://gabrielmagana.com/?p=248</guid>

					<description><![CDATA[<p>How to install FTP server vsFTPd on Ubuntu on Amazon EC2 and also fixes an authentication bug</p>
The post <a href="https://gabrielmagana.com/installing-ftp-server-vsftpd-on-an-amazon-ec2-ubuntu-14-04-host/">Installing FTP server (vsFTPd) on an Amazon EC2 Ubuntu 14.04 host</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></description>
										<content:encoded><![CDATA[<h1>Intro</h1>
<p>When I tried to do this seemingly simple task, I could not find any one guide on the web which told me everything I needed to do, so I write it myself <img src="https://gabrielmagana.com/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> I also ran into a bug in Ubuntu that at least shows up on Amazon: Authentication fails every time even though you are 100% sure you have the right credentials. This is tested on Ubuntu 14.04 on an Amazon EC2 instance, but it will probably work on other versions as well.</p>
<p>So here is what you need to do:</p>
<h1>Step 1: Install vsFTPd</h1>
<pre style="padding-left: 30px;">sudo apt-get update
sudo apt-get install vsftpd</pre>
<h1>Step 2: Configure vsFTPd</h1>
<pre style="padding-left: 30px;">sudo vi /etc/vsftpd.conf</pre>
<p>Uncomment the following lines:</p>
<pre style="padding-left: 30px;">write_enable=YES
local_umask=022</pre>
<h1>Step 3: Configure chroot</h1>
<p>Enabling chroot keeps FTP users confined to their hone directory tree. This usually a recommended security practice. To do this, edit the vsftd config file again:</p>
<pre style="padding-left: 30px;">sudo vi /etc/vsftpd.conf</pre>
<p>Uncomment the following line:</p>
<pre style="padding-left: 30px;">chroot_local_user=YES</pre>
<p>and add this line at the end of the file:</p>
<pre style="padding-left: 30px;">allow_writeable_chroot=YES</pre>
<h1>Step 4: Enable Passive Mode</h1>
<p>Usually you want to enable passive mode on an FTP server. You set aside a range of ports to use for passive FTP connections. In the example below, I use port 40000 to 40100. To enabl;e passive mode, edit the vsftpd.conf config file again:</p>
<pre style="padding-left: 30px;">sudo vi /etc/vsftpd.conf</pre>
<p>Append the following lines:</p>
<pre style="padding-left: 30px;">pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
port_enable=YES</pre>
<h2>Passive address resolve</h2>
<p>Passive connections require using a routable IP address from the remote host.</p>
<p>Do you have a fixed IP address on your server?  If so configure by appending these lines:</p>
<pre style="padding-left: 30px;">pasv_addr_resolve=NO
pasv_address=&lt;SERVER_IP_ADDRESS&gt;</pre>
<p>If you do not have a fixed IP address and would like to user a hostname instead, append these lines:</p>
<pre style="padding-left: 30px;">pasv_addr_resolve=YES
pasv_address=&lt;SERVER_FQDN&gt;</pre>
<p>&nbsp;</p>
<p>SERVER_FQDN is the fully qualified hostname of the server that remote clients can find, such as ftp.mydomain.com</p>
<h1>Step 5: Ubuntu vsFTPd authentication bug workaround</h1>
<p>I ran into a bug where I could not authenticate into FTP even though I was sure I was using the correct credentials. I do not know ifd this is a general bug in Ubuntu, or only affects Ubuntu on Amazon. This is how to fix the problem if you are affected as well:</p>
<pre style="padding-left: 30px;"><span class="kw2">sudo</span> <span class="kw2">apt-get remove</span> vsftpd
<span class="kw2">sudo</span> <span class="kw2">rm</span> <span class="sy0">/</span>etc<span class="sy0">/</span>pam.d<span class="sy0">/</span>vsftpd
<span class="kw2">sudo</span> <span class="kw2">apt-get install</span> vsftpd</pre>
<p>This fixed the problem for me, and it was not a problem to run these steps after configuring vsFTPd.</p>
<h1>Step 6: Open ports in the AWS EC2 control panel</h1>
<p>You need the following ports open in the AWS security group: TCP 20 to 21</p>
<p>If you configured passive mode, then you need to open up that range of ports as well, in the example above I used ports 40000 to 40100</p>
<h1>Step 7: Restart the vsFTPd service</h1>
<p>Finally, you should have everything you need in order to connect via FTP to your server:</p>
<pre style="padding-left: 30px;">sudo service vsftpd restart</pre>The post <a href="https://gabrielmagana.com/installing-ftp-server-vsftpd-on-an-amazon-ec2-ubuntu-14-04-host/">Installing FTP server (vsFTPd) on an Amazon EC2 Ubuntu 14.04 host</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
					<wfw:commentRss>https://gabrielmagana.com/installing-ftp-server-vsftpd-on-an-amazon-ec2-ubuntu-14-04-host/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Best in Show</title>
		<link>https://gabrielmagana.com/best-in-show/</link>
		
		<dc:creator><![CDATA[Gabriel Magaña]]></dc:creator>
		<pubDate>Wed, 26 Dec 2012 13:15:39 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://gabrielmagana.com/?p=81</guid>

					<description><![CDATA[<p>So here I am, back in my native Morelia, in my grandfather’s magnificent house in the historic center of the city. I grew up in this house, surrounded by what I now realize were many factors that added up to an awesome, enviable childhood. I went up to the roof to take a panorama picture [&#8230;]</p>
The post <a href="https://gabrielmagana.com/best-in-show/">Best in Show</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></description>
										<content:encoded><![CDATA[<p>So here I am, back in my native Morelia, in my grandfather’s magnificent house in the historic center of the city. I grew up in this house, surrounded by what I now realize were many factors that added up to an awesome, enviable childhood.</p>
<p>I went up to the roof to take a panorama picture of the view outside. I have spent many wonderful solitary moments in this rooftop just taking in the beauty of the city and thinking about the historical events that happened right here. Morelia played a very important part in the Mexican revolution: It witnessed the birth of the insurgency by the main characters in the revolution, as well as being the birthplace of revolutionary leader José Maria Morelos, hence the name change to “Morelia” in his honor.</p>
<p><div id="attachment_91" style="width: 710px" class="wp-caption aligncenter"><a href="http://gabrielmagana.com/wp-content/uploads/2012/12/20121224-MoreliaRoofTopView-1-sm.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-91" class=" wp-image-91" title="Morelia, Mexico" alt="Morelia, Mexico" src="http://gabrielmagana.com/wp-content/uploads/2012/12/20121224-MoreliaRoofTopView-1-sm-1024x219.jpg" width="700" height="149" srcset="https://gabrielmagana.com/wp-content/uploads/2012/12/20121224-MoreliaRoofTopView-1-sm-1024x219.jpg 1024w, https://gabrielmagana.com/wp-content/uploads/2012/12/20121224-MoreliaRoofTopView-1-sm-300x64.jpg 300w" sizes="(max-width: 700px) 100vw, 700px" /></a><p id="caption-attachment-91" class="wp-caption-text">Morelia, Mexico</p></div></p>
<p>Anyway, I was in the rooftop taking my pictures when I saw an old artifact just sitting in the rooftop leaning against a wall between an old bathtub and a rusted out dustpan: It was a tarnished “Best in Show” award plate made out of copper that one of our dogs had won on what feels like a lifetime ago.</p>
<p><div id="attachment_87" style="width: 310px" class="wp-caption aligncenter"><a href="http://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-87" class="size-medium wp-image-87  " title="Best in Show" alt="Best in Show" src="http://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion-300x200.jpg" width="300" height="200" srcset="https://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion-300x200.jpg 300w, https://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion-1024x685.jpg 1024w, https://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion-120x80.jpg 120w, https://gabrielmagana.com/wp-content/uploads/2012/12/Exposicion.jpg 1549w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-87" class="wp-caption-text">Best in Show</p></div></p>
<p>To appreciate the significance of this award one must know something about our family: We were, for a couple decades or so, absolutely dog -crazy. There are pet owners, pet rescuers, and dog fans in this world, but we were absolutely dog-crazy. We would travel to the USA to purchase dogs we had scoped out and reserved months before they were born. We actually have framed pictures of dogs throughout the house interspersed with pictures of people.</p>
<p>We remember dogs as fondly as we remember close family members. You might hear a conversation around the house about our beloved old maid aunt Carlotta, who is rumored to have really still been a virgin when she died a couple years ago at age 95. You might also hear the same stories about dogs, such as Tiny’s (a Collie) extreme disdain of people wearing sandals. He would lunge at and bite without warning at anyone wearing sandals for some unknown reason. The psychological underpinnings of such sandal-hating tendencies have been the subject of much discussion in our family through the decades, and will certainly never be resolved. There are also stories about how Arthur, a huge Great Dane my uncle Jorge had. Which pure blood Great Dane is not huge? Anyway, Arthur was very playful, too much for his size. There was no leash to be purchased on either side of the border that could withstand Arthur’s lunge. There was no TV cable that could stand the excited swag of his tail either. If the TV signal was suddenly lost, Arthur’s tail was the prime suspect. We would go up on the roof and devise yet another way to keep the TV cable out of the deadly whip’s way.</p>
<p><div id="attachment_84" style="width: 210px" class="wp-caption aligncenter"><a href="http://gabrielmagana.com/wp-content/uploads/2012/12/Tiny.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-84" class="size-medium wp-image-84  " title="Tiny" alt="Tiny" src="http://gabrielmagana.com/wp-content/uploads/2012/12/Tiny-200x300.jpg" width="200" height="300" srcset="https://gabrielmagana.com/wp-content/uploads/2012/12/Tiny-200x300.jpg 200w, https://gabrielmagana.com/wp-content/uploads/2012/12/Tiny.jpg 518w" sizes="(max-width: 200px) 100vw, 200px" /></a><p id="caption-attachment-84" class="wp-caption-text">Tiny, the sandal-hating Collie</p></div></p>
<p>There are also stories about another of Uncle Jorge’s dogs: Sam, a Siberian Husky. Sam was just crazy and over eager. Once he jumped to a neighbor’s property and killed all his chickens. We’re talking a lot of chickens. There is also the time he fell from the roof on top of a drunken guy walking by.</p>
<p>Also my beloved late uncle Alberto is fondly remembered in the family as were his most notable dogs: A pair of beautiful Afghan Hounds who required daily hair maintenance. We have a framed picture of those dogs too.</p>
<p>As for my mother and I, our most winning dogs were a pair of Kerry Blue Terriers, although we had several other breeds through the years as well. Yes, we have several framed pictures of those dogs as well.</p>
<p>And so on. One could make a list of my aunts and uncles and come up with several dogs each owned and describe the salient aspects of each (each human and each dog, that is!), and tell a bunch of stories about them all.</p>
<p>For a family with so many pure-breed dogs, dogs and dog shows were a way of life. Breed Standards were required reading done as the next purchase was planned and in preparation for dog shows. Maybe every other weekend on average we went to a dog show, no matter if attendance required eight or ten hours of driving each way. Nearly every time we came back with an award of some sort. In my mother’s house I even had my own display of ribbons and prizes won for handling show dogs as a child. If we had not moved to the USA thirty or so years ago, I would have most certainly maintained the family hobby. A great many things changed when we immigrated to the United States…<br />
So back to the Best in Show award plate on the roof. By now it goes without saying that finding this maximum accolade of dog ownership abandoned on the roof was surprising. For all our dog show madness, I believe this was the only time we won a Best in Show. I believe it was won by Jack, our Kerry Blue Terrier.</p>
<p>The plate itself is deservedly large. It is a custom hand-hammered copper plate engraved with the heads of three dogs in the center, and the inscription of the event on the outside circular area. The fact that it’s made out of copper is of significance because it’s a natural resource found near here. The plate is very tarnished, though. It has obviously sat there forgotten for a long time. I am not sure why it’s not hanging in a prominent place inside the house.</p>
<p>I debated for some time whether or not to bring it in and clean it up. With the right liquids and an hour’s of scrubbing I know I can make the plate go back to its shining glory, making it new again, shimmering with pride as it is &#8211; after all &#8211; a Best in Show award won by a very dog-devoted family.</p>
<p>But the plate is also the past. The long-gone past. The only dog enthusiast in the family now is my cousin Omar but he breeds dogs and does not really show them.</p>
<p>The real choice to me was whether or not to try to make the past alive again by polishing the plate and giving it a more dignified location. But that past is dead, no matter how awesome it was. This house has enough memories of the past as it is. As I sit in the formal dining room in the pre-dawn hours writing this, I can hear the many sounds of the past, when this house was full of children running around, my aunts and uncles planning the next night out, my grandparents laughing and joking and having a drink with one of the ever-present visitors. The inside of this old proud house is filled with pictures. Those pictures are, in a way, attempts to cling to the past. So is this Best in Show award.</p>
<p>I decided to leave the plate where it was on the roof. I decided to say goodbye to the past, beautiful as it was, as if it were an old friend.</p>
<p>I know I will be back sometime in the future. I will go on the roof top again, and if I see that old award there, I just might sit next to it with a bottle of Tequila, just two old friends remembering a past that both love immensely, knowing that the past must be allowed to remain in the past.</p>The post <a href="https://gabrielmagana.com/best-in-show/">Best in Show</a> first appeared on <a href="https://gabrielmagana.com">Gabriel Magaña Gonzalez | Technologist</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
