<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Jay Cruz</title>
    <subtitle>This is my blog. There are many like it. But this one is mine</subtitle>
    <link href="https://yarocruz.netlify.app/feed.xml" rel="self"/>
    <link href="https://yarocruz.netlify.app"/>
    <updated>2023-01-28T16:31:43Z</updated>
    <id>https://yarocruz.netlify.app</id>
    <author>
        <name>Jay Cruz</name>
        <email>yarocruz@gmail.com</email>
    </author>
        
        <entry>
            <title>The Git and Github Bootcamp</title>
            <link href="https://yarocruz.netlify.app/posts/the-git-and-github-bootcamp/"/>
            <updated>2023-01-28T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-git-and-github-bootcamp/</id>
            <content type="html">&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/git-fetch-vs-git-pull.png&quot; alt=&quot;Git Fetch vs Git Pull&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.udemy.com/user/coltsteele/&quot;&gt;Colt Steele&lt;/a&gt; is an amazing Instructor and his courses on &lt;a href=&quot;https://www.udemy.com/&quot;&gt;Udemy&lt;/a&gt; are hands down one of the best courses you can get on the platform, specially if you&#39;re starting to learn Web Development. His &lt;a href=&quot;https://www.udemy.com/share/101W9C3@ijEPUFhZlTmTl_Pk-FYlvIH-Ci9wS3Pvo_E-qph9rRz90mvEXnCinrVguObrwEMF/&quot;&gt;Web Developer Bootcamp&lt;/a&gt; is legendary.&lt;/p&gt;
&lt;p&gt;I recently got his &lt;a href=&quot;https://www.udemy.com/course/git-and-github-bootcamp/learn/lecture/25090990?start=15#overview&quot;&gt;Git &amp;amp; Github Bootcamp&lt;/a&gt; course. This course is shorter than his typical courses but it&#39;s still so darn good.&lt;/p&gt;
&lt;p&gt;I&#39;ve been using Git and Github for years and I always felt that I was decent at it. But after going through the course I realized how little I actually knew about Git and Github. All the other topics that I felt fuzzy about, like &lt;strong&gt;branches&lt;/strong&gt; and &lt;strong&gt;merging&lt;/strong&gt;, we&#39;re cleared up. Other &amp;quot;advanced&amp;quot; topics like &lt;a href=&quot;https://git-scm.com/book/en/v2/Git-Branching-Rebasing&quot;&gt;Rebasing&lt;/a&gt;, which is something that I knew about, but never really explored, have blown my mind.&lt;/p&gt;
&lt;p&gt;He does such a great job at explaining things and his slides are just excellent. I highly recommend it if you want to get your git fundamentals straightened out and dig a bit deeper with Git and Github.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;*Btdubs. You can always wait until &lt;a href=&quot;https://www.udemy.com/&quot;&gt;Udemy&lt;/a&gt; has a sale on all it&#39;s courses. They are typicaly $10 to $15 when put on sale.&lt;/em&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Problem Solving Isn&#39;t a Skill</title>
            <link href="https://yarocruz.netlify.app/posts/problem-solving-isn&amp;#39;t-a-skill/"/>
            <updated>2023-01-14T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/problem-solving-isn&amp;#39;t-a-skill/</id>
            <content type="html">&lt;p&gt;The idea that &amp;quot;programming is just about solving problems&amp;quot; has always bothered me. It&#39;s usually the answer that&#39;s given when experienced Software Engineers are asked for career advice. It&#39;s a typical answer to the question &amp;quot;How do I get better at programming?&amp;quot;&lt;/p&gt;
&lt;p&gt;It seems like a reasonable and valid answer. The code that you write to make something happen is a solution to a problem, generally speaking. Code is a recipe that makes a cake. Code can literally solve a puzzle and can literally solve for x.&lt;/p&gt;
&lt;p&gt;But many people seem to repeat that programming is just solving problems as a copout and a way to be vague. It&#39;s a hand wave to avoid getting specific.&lt;/p&gt;
&lt;p&gt;It wasn&#39;t until I stumbled upon &lt;a href=&quot;https://www.scotthyoung.com/blog/2022/01/04/cognitive-load-theory/&quot;&gt;this Scott H Young post on Cognitive Load&lt;/a&gt; that it became clear why the idea that problem solving as the underlying meta-skill to programming, while understandable, has always been suspect to me.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Problem solving isn’t a skill. The way we get good at solving problems is by having (a) knowledge that assists in solving the problem and (b) automatic procedural components that help in solving problems. There are probably no general problem solving methods that work for every domain. &lt;strong&gt;Heuristics for problem solving within a domain might exist&lt;/strong&gt;. Still, the significance of these is overwhelmed by the power of having tons of learned patterns in memory. This explains why transfer is elusive and why expertise tends to be specific.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In other words, to solve a programming challenge you need to have the specific programming knowledge to solve it. Sure, &lt;a href=&quot;https://en.wikipedia.org/wiki/Sherlock_Holmes&quot;&gt;Sherlock Holmes&lt;/a&gt;, with his power of deduction and logical reasoning, could maybe come up with something close to pseudo-code to solve FizzBuzz, but if he doesn’t know how to write in a programming language he wouldn’t be able to solve it. He would need to know the differences between even and odd numbers (I&#39;m sure he does), and the specific syntax of a computer programming language, like &lt;strong&gt;if statements&lt;/strong&gt; and what the &lt;strong&gt;modulo %&lt;/strong&gt; operator does.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Side note: I also have some issues with the idea that you don&#39;t need to be good at math to be good at programming, but that&#39;s another blog post.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The problem I see with equating programming as problem solving is that it&#39;s one of those nice to hear ideas. Because everyone is good at solving problems. At least some types of problems. Some people are good at crossword puzzles, some at Sudoku, some at Chess, some at fixing cars, and some at making coffee. But these skills aren&#39;t necessarily transferable to programming.&lt;/p&gt;
&lt;p&gt;The skill &lt;strong&gt;isn&#39;t&lt;/strong&gt; the problem solving, the skill is being good at Chess or being good at fixing cars.&lt;/p&gt;
&lt;p&gt;You might be really good at Soduku, but you&#39;re probably not going to figure out how to construct an &lt;a href=&quot;https://mathworld.wolfram.com/UndirectedGraph.html#:~:text=A%20graph%20for%20which%20the,to%20mean%20%22undirected%20graph.%22&quot;&gt;undirected graph&lt;/a&gt; with just &lt;strong&gt;sheer problem solving will&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;No matter how many general problem solving methods you might think you have, general problem solving is not really a skill. What matters most when it comes to programming is the specific knowledge needed to solve a programming task. As Scott H Young mentioned, you can&#39;t really practice problem solving. You can only practice and study specific things about the domain you&#39;re learning.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Long Game</title>
            <link href="https://yarocruz.netlify.app/posts/the-long-game/"/>
            <updated>2023-01-06T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-long-game/</id>
            <content type="html">&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/are-ya-hired.jpeg&quot; alt=&quot;Leetcode&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I don’t know much about poker, but I read &lt;a href=&quot;https://www.amazon.com/Biggest-Bluff-Learned-Attention-Master-ebook/dp/B082ZQYGSL/ref=sr_1_1?crid=35CRNHFOXLL06&amp;amp;keywords=the+biggest+bluff+by+maria+konnikova&amp;amp;qid=1673026693&amp;amp;qu=eyJxc2MiOiIxLjYzIiwicXNhIjoiMS40NyIsInFzcCI6IjEuNzMifQ%3D%3D&amp;amp;sprefix=Biggest+Blu%2Caps%2C122&amp;amp;sr=8-1&quot;&gt;The Biggest Bluff&lt;/a&gt; a couple of years ago. The book really opened my eyes on how much chance plays a role in our lives. Call it luck, or call it randomness; chance has a lot do with our sucess and failures.  More than we like to admit. The book makes the case that the &lt;em&gt;game&lt;/em&gt; of life can be &lt;em&gt;played&lt;/em&gt; like the game of poker. Poker, like life, has uncertainties and losses, but if you have a strategy and put yourself in positions where the odds of winning are favorable, in the long run, you can &amp;quot;win&amp;quot;.&lt;/p&gt;
&lt;p&gt;With finding a Software Engineering job for example, where the demand for inexperienced programmers is lower than the supply, when you’re just 1 person out of 100 people that apply for a junior Dev job, if the other 99 are equally qualified, your chances at getting that job is 1%. Obviously this is almost never the case right. If you&#39;ve done all of the things (networking, solid portfolio, real world projects, etc), the things most people don’t do, then that puts you closer to the top tier. That will bump a couple of percentage points in the odds. If you do even more, like having a direct contact in the company that will vouch for you, or if you build something truly novel and remarkable, then you&#39;re even closer to “winning”.&lt;/p&gt;
&lt;p&gt;The trick is to get your percentage as close as possible to at least 40%. &lt;em&gt;The only way you could reach 50% is if there’s only 1 other candidate and both are equally qualified.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Obviously I&#39;m simplifying things and there&#39;s so many other variables when it comes to applying and getting a highly desirable job.&lt;/p&gt;
&lt;h2&gt;The Struggle is Real&lt;/h2&gt;
&lt;p&gt;Easier said than done right? I&#39;m currently struggling with this. I signed up with &lt;a href=&quot;https://www.pathrise.com/&quot;&gt;Pathrise&lt;/a&gt; and I&#39;m starting to doubt if it&#39;s working out. I&#39;m trying to hit a quota of 20 applications a week. I&#39;m sending out cover letters. I&#39;m hitting the LeetCode. I&#39;m doing all of the things. Have gotten some responses. I&#39;ve had two to three occasions where I&#39;ve been sent to take a coding test. &lt;a href=&quot;https://yarocruz.netlify.app/posts/fixing-potholes/&quot;&gt;I don&#39;t think I passed one of them&lt;/a&gt;. 80% of the outcome of this strategy has been crickets and the rest have been emails with the &amp;quot;sorry but moving with other candidates&amp;quot; auto response.&lt;/p&gt;
&lt;p&gt;It&#39;s exhausting. It&#39;s emotionally draining.&lt;/p&gt;
&lt;p&gt;But that’s the long game.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Metaverse</title>
            <link href="https://yarocruz.netlify.app/posts/the-metaverse/"/>
            <updated>2023-01-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-metaverse/</id>
            <content type="html">&lt;p&gt;I finished reading &lt;a href=&quot;https://www.amazon.com/Snow-Crash-Neal-Stephenson/dp/0553380958&quot;&gt;Snow Crash&lt;/a&gt;, a novel by Neal Stephenson. While reading it I kept wondering why is it that Silicon Valley has decided that the &lt;a href=&quot;https://en.wikipedia.org/wiki/Metaverse&quot;&gt;&lt;em&gt;Metaverse&lt;/em&gt;&lt;/a&gt; is the next big technology revolution. The book is a fun read and the Metaverse is cool the same watching the virtual world in &lt;a href=&quot;https://en.wikipedia.org/wiki/Free_Guy&quot;&gt;Free Guy&lt;/a&gt; is cool or the way Oasis is cool in &lt;a href=&quot;https://en.wikipedia.org/wiki/Ready_Player_One_(film)&quot;&gt;Ready Player One&lt;/a&gt;. But for the characters in the world of Snow Crash, the Metaverse isn&#39;t that cool at all. It&#39;s actually kind of terrible. People can actually die in the real world from a virus that infects your brain making you speak in tongues until you finally die. Have the &lt;a href=&quot;https://en.wikipedia.org/wiki/Web3&quot;&gt;web3&lt;/a&gt; tech bros even read this book?&lt;/p&gt;
&lt;p&gt;Perhaps I might need to re-read the book, but I don&#39;t believe Neal Stephenson was proposing that the Metaverse was a good idea for humanity. It is a dystopian cyberpunk future. No technologists is saying that we should build Skynet. (Please don&#39;t email me.)&lt;/p&gt;
&lt;h2&gt;General Purpose VR Is Not Ready to Be a Thing Yet&lt;/h2&gt;
&lt;p&gt;Most of the AR/VR Headset market is betting that the next Internet, like the idea of the &lt;em&gt;Metaverse&lt;/em&gt;, is going to be a General Purpose VR, but we&#39;ve had &lt;a href=&quot;https://secondlife.com/&quot;&gt;Second Life&lt;/a&gt; and &lt;a href=&quot;https://www.minecraft.net/en-us&quot;&gt;Minecraft&lt;/a&gt; for a bit, and while these sandbox &lt;em&gt;games&lt;/em&gt;? have been successful, they have only reached only a small niche of non-gamers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://daringfireball.net/2023/01/information_apple_headset&quot;&gt;Apple coming out with a headset captures my interest&lt;/a&gt;, but as Gruber points out in the end, what would be the point?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.minecraft.net/en-us&quot;&gt;Google Glass&lt;/a&gt; suddenly seems more like the logical next step in the evolution of the web. If only we can make &#39;em less creepy. For now we will have to make due with Zoom for our standups.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Are We Humans?</title>
            <link href="https://yarocruz.netlify.app/posts/are-we-humans/"/>
            <updated>2023-01-03T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/are-we-humans/</id>
            <content type="html">&lt;p&gt;&lt;a href=&quot;https://maggieappleton.com/ai-dark-forest&quot;&gt;The Expanding Dark Forest and Generative AI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Maggie Appleton writes a thought provoking essay on the future of the web and where it&#39;s headed when more of the information getting produced is generated by AI instead of humans.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&#39;re about to drown in a sea of pedestrian takes. An explosion of noise that will drown out any signal. Goodbye to finding original human insights or authentic connections under that pile of cruft.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She sees a future where will be questioning more and more the &lt;em&gt;realness&lt;/em&gt; of people online and we will have to find ways to prove it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;After the forest expands, we will become deeply sceptical of one another&#39;s realness. Every time you find a new favourite blog or Twitter account or Tiktok personality online, you&#39;ll have to ask: Is this really a whole human with a rich and complex life like mine? Is there a being on the other end of this web interface I can form a relationship with?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There&#39;s a lot to process. Highly recommended read.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Year in Review 2022</title>
            <link href="https://yarocruz.netlify.app/posts/year-in-review-2022/"/>
            <updated>2022-12-31T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/year-in-review-2022/</id>
            <content type="html">&lt;p&gt;2022 has been of a weird year to me. It wasn&#39;t completely terrible. There were some highs and there were some lows. Some good things happened. It just dipped a bit at the end.&lt;/p&gt;
&lt;p&gt;I&#39;m looking forward to 2023. People are worried about AI &lt;a href=&quot;https://www.youtube.com/watch?v=APo2p4-WXsc&quot;&gt;taking our jobs&lt;/a&gt; but I&#39;m not worried. It&#39;s gonna be an intersting year.&lt;/p&gt;
&lt;h2&gt;Things That Happened in 2022&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Got fired by &lt;a href=&quot;https://www.servicenow.com/&quot;&gt;ServiceNow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Got hired as a Teaching Assistant for a Full-Stack Web Development Coding Bootcamp&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/user_challenges/31751719&quot;&gt;Read 38 Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;At the end of the year I started getting into the habit of posting here more frequently&lt;/li&gt;
&lt;li&gt;We bought a record player&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/jaycruz/list/watched-in-2022/&quot;&gt;Watched 48 Movies&lt;/a&gt; (I think I watched more)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Things I want to do in 2023&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Read 50 Books (Was close this year)&lt;/li&gt;
&lt;li&gt;Lose 50 pounds&lt;/li&gt;
&lt;li&gt;Go for a run almost every day&lt;/li&gt;
&lt;li&gt;Run a 5k and 10k&lt;/li&gt;
&lt;li&gt;Ride Bike at least 3 times a week&lt;/li&gt;
&lt;li&gt;Play videogames&lt;/li&gt;
&lt;li&gt;Land a job as a Programmer&lt;/li&gt;
&lt;li&gt;Be a better boyfriend. Do cool shit with Krista (love you baby)&lt;/li&gt;
&lt;li&gt;Do a Road Trip up the East Coast.&lt;/li&gt;
&lt;li&gt;Make friends. Be more social&lt;/li&gt;
&lt;li&gt;Keep meditating&lt;/li&gt;
&lt;li&gt;Eat more veggies / Go a week without eating meat on occasion&lt;/li&gt;
&lt;li&gt;Keep the habit of writing daily&lt;/li&gt;
&lt;li&gt;Do intermittent fasting once or twice a week.&lt;/li&gt;
&lt;li&gt;Draw once or twice a week&lt;/li&gt;
&lt;li&gt;Listen to music / Buy more records&lt;/li&gt;
&lt;li&gt;Learn to Cook like real food and meals&lt;/li&gt;
&lt;li&gt;Eat fish once or twice a week&lt;/li&gt;
&lt;li&gt;Exercise 3 times a week. Strength training&lt;/li&gt;
&lt;li&gt;Call my mom more often&lt;/li&gt;
&lt;li&gt;Get back to learning Japanese&lt;/li&gt;
&lt;li&gt;Solve all &lt;a href=&quot;https://adventofcode.com/2022&quot;&gt;Advent of Code 2022 puzzles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Code everyday&lt;/li&gt;
&lt;li&gt;Build something cool with Rust&lt;/li&gt;
&lt;/ul&gt;
</content>
        </entry>
        
        <entry>
            <title>No Pressure</title>
            <link href="https://yarocruz.netlify.app/posts/no-pressure/"/>
            <updated>2022-12-24T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/no-pressure/</id>
            <content type="html">&lt;blockquote&gt;
&lt;p&gt;“Just write. Even if only one person learns something from your article, you’ll feel great, and that you’ve contributed — even if just a little bit — to this amazing community that we’re all constantly learning from. And if no one reads your article, then that’s also okay.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— &lt;a href=&quot;https://www.sarasoueidan.com/desk/just-write/&quot;&gt;https://www.sarasoueidan.com/desk/just-write/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the main reasons many of us abandoned blogging for social media was because blogging became &lt;em&gt;serious&lt;/em&gt; long-form writing. It stopped being a form of communication and expression and it became just another medium for mostly non-fiction writing. Journalists, Essayist, and professional Writers, while legitimizing Blogging as valuable, ended up becoming rock star bloggers, eventually pushing us amateurs away. We couldn&#39;t compete with the pros. The pressure to only post &lt;em&gt;valuable content&lt;/em&gt; was too high and social media gave us back that no-pressure of just expressing ourselves.&lt;/p&gt;
&lt;p&gt;There&#39;s a vibe going on. Due to recent events at Twitter people are rethinking social media and &lt;a href=&quot;https://matthiasott.com/articles/into-the-personal-website-verse&quot;&gt;looking back at blogging&lt;/a&gt;. People are talking about RSS. It&#39;s interesting and the enthusiasm is contagious.&lt;/p&gt;
&lt;p&gt;Blogging probably won&#39;t make a comeback, but people are definitely tired of the competition and the performance.&lt;/p&gt;
&lt;p&gt;We are realizing that there&#39;s no need to compete. There&#39;s no pressure. Just write.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Story of Next.js</title>
            <link href="https://yarocruz.netlify.app/posts/the-story-of-next.js/"/>
            <updated>2022-12-23T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-story-of-next.js/</id>
            <content type="html">&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/BILxV_vrZO0&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;This video is not just about &lt;a href=&quot;https://nextjs.org/&quot;&gt;Next.js&lt;/a&gt; but also about how we got here. It gives a brief history on how went from websites to web apps and how we got from AJAX to jQuery to React. &lt;a href=&quot;https://twitter.com/tylermcginnis&quot;&gt;Tyler McGinnis&lt;/a&gt; believes that Next.js is the best way to create web applications today and I don&#39;t think he&#39;s wrong.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Chasing Something Beautiful</title>
            <link href="https://yarocruz.netlify.app/posts/chasing-something-beautiful/"/>
            <updated>2022-12-21T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/chasing-something-beautiful/</id>
            <content type="html">&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/sculpture.png&quot; alt=&quot;Sculpture at Lake Eola&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I have a bit of nostalgia for when I wanted to be a photographer. Back when I would chase the next “banger” to post on Instagram. I no longer want to be a photographer, that’s a tough racket and I have nothing but respect for people who manage to make a living out of taking pictures. But I do miss hunting down something beautiful to capture. I do miss taking photos.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Pixel Perfect</title>
            <link href="https://yarocruz.netlify.app/posts/pixel-perfect/"/>
            <updated>2022-12-16T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/pixel-perfect/</id>
            <content type="html">&lt;p&gt;I completed yet another &amp;quot;second round&amp;quot; of job application tests. It was for a Front End Developer role. It was more of a &lt;a href=&quot;https://bradfrost.com/blog/post/front-of-the-front-end-and-back-of-the-front-end-web-development/&quot;&gt;Front of the Front End role&lt;/a&gt;. You know, the 2000&#39;s Front End Web Developer. Not today&#39;s Front End React Engineer Web Developer.&lt;/p&gt;
&lt;p&gt;The tests weren&#39;t anything like the kind of tests you would expect. They were a series of mostly behavioral questions. Some of them were technical, like &amp;quot;what is your knowledge of SEO?&amp;quot;. But the most technical thing they asked was to take a PSD and convert it into a pixel perfect HTML! This threw me off hard.&lt;/p&gt;
&lt;p&gt;I&#39;m sure that old school &lt;strong&gt;Front of Front End&lt;/strong&gt; Devs that read &lt;a href=&quot;https://www.smashingmagazine.com/&quot;&gt;Smashing Magazine&lt;/a&gt; and &lt;a href=&quot;https://css-tricks.com/&quot;&gt;CSS Tricks&lt;/a&gt; can take a Designer&#39;s PSD file and spit out a pixel perfect landing page, with a &lt;a href=&quot;https://shouldiuseacarousel.com/&quot;&gt;Carousel&lt;/a&gt;, in just a couple of minutes, but the PSD I was given had a non-trivial layout, with guides, layers, and a Carousel. This was something that could&#39;ve taken me a couple of hours. Days even.&lt;/p&gt;
&lt;p&gt;I still wanted to complete the application, but it was required for me to upload a file in order to submit the application. I ended up writing an HTML file with two &lt;strong&gt;p&lt;/strong&gt; tags that said, &amp;quot;This should be paid work. This is not a couple of minutes/under one hour job&amp;quot;.&lt;/p&gt;
&lt;p&gt;I expected that it was going to be one those Web Designer/Developer roles. In the job requirements they list jQuery and WordPress. But a PSD file?!&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Fixing Potholes</title>
            <link href="https://yarocruz.netlify.app/posts/fixing-potholes/"/>
            <updated>2022-12-14T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/fixing-potholes/</id>
            <content type="html">&lt;blockquote&gt;
&lt;p&gt;&amp;quot;You are given a task to fix potholes in a road. The road is described by a string S consisting of N characters. Each character represents a single fragment of the road. Character &amp;quot;.&amp;quot; denotes a smooth surface and &#39;x&#39; denotes a pothole. For example, S = &amp;quot;...xxx..x&amp;quot; means that the road starts with three smooth fragments, followed by three potholes, followed by two smooth fragments and ending with one pothole.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;You can choose any number of consecutive potholes and fix all of them. Fixing a segment consisting of K consecutive potholes costs K + 1. In the example above, fixing the first two consecutive potholes costs 2 + 1 = 3 and fixing the last pothole costs 1 + 1 = 2. After these fixes, the road would look like this: &amp;quot;.....x...&amp;quot;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;You are given a budget B. You can fix multiple segments containing potholes as long as you fit in the budget. What is the maximum number of potholes you can fix?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Write a function that, given the string S of length N and the integer B, returns the maximum number of potholes that can be fixed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Examples:&lt;br /&gt;
Give S = &amp;quot;...xxx..x....xxx.&amp;quot; and B = 7, the function should return 5.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Write an efficient algorithm in JavaScript for the following assumptions:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;N is an integer within the range[1..100,000]&lt;br /&gt;
B is an integer within the range [0..200,000]&lt;br /&gt;
string S consists only of characters &#39;.&#39; and &#39;x&#39;.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&#39;ve heard and read many takes on the pros and cons of technical coding tests interviews. I understand the &lt;a href=&quot;https://www.fastcompany.com/90790394/what-is-a-faang-company&quot;&gt;FAANG&lt;/a&gt;, or &lt;a href=&quot;https://www.fastcompany.com/90790394/what-is-a-faang-company&quot;&gt;MAMAA&lt;/a&gt;, point of view of how hard it is to find a programmer that actually knows how to program and how difficult it is to filter out the ones who don&#39;t. I get that. These companies want &amp;quot;top-tier&amp;quot; Software Engineers. They want the best.&lt;/p&gt;
&lt;p&gt;But I still don&#39;t understand why companies that are nowhere close to being a Google or a Microsoft give out coding tests that are non-trivial and quite complex. I&#39;m not saying to just test candidates to write a function that will return the sum of two numbers, or &lt;a href=&quot;https://en.wikipedia.org/wiki/Fizz_buzz&quot;&gt;FizzBuzz&lt;/a&gt;. (Smaller companies that attract &amp;quot;average level&amp;quot; candidates &lt;a href=&quot;https://blog.codinghorror.com/why-cant-programmers-program/&quot;&gt;probably should.&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;But if the kind of programing for the job is strictly Web Development, and particularly focused on the client-side, how is the ability to solve the example above in a hour relevant to the day to day coding for a Front-End Developer role?&lt;/p&gt;
&lt;h2&gt;Digression&lt;/h2&gt;
&lt;p&gt;I&#39;ll admit it. I&#39;m not great at solving coding puzzles. I started &lt;a href=&quot;https://adventofcode.com/2022&quot;&gt;Advent of Code&lt;/a&gt; with enthusiasm, but after Day 8 that enthusiasm has started to wane. It gets to a point where it stops being fun. I feel like a have &lt;a href=&quot;https://en.wikipedia.org/wiki/Dyscalculia&quot;&gt;Dyscalculia&lt;/a&gt;, sometimes referred as &amp;quot;math dyslexia&amp;quot;. I&#39;m sure I don&#39;t have that, but sometimes I don&#39;t understand the problem fully, no matter how many times I read the problem statement.&lt;/p&gt;
&lt;p&gt;Unfortunately, I still want to be a Software Engineer. I know I&#39;ll figure this out. I&#39;m working with &lt;a href=&quot;https://www.pathrise.com/&quot;&gt;Pathrise&lt;/a&gt; and they set me on a plan to be applying to 15 software jobs a week. The rejection emails are starting to come in. That coding test was the closest I&#39;ve been to passing to a &amp;quot;round 1&amp;quot;. So the plan is definitely being effective. But things are gonna get bumpy.&lt;/p&gt;
&lt;p&gt;I just gotta fix the potholes. I probably won&#39;t fix all of them, but I&#39;m sure I&#39;ll fix as much as I can.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Another One of Those Update Posts</title>
            <link href="https://yarocruz.netlify.app/posts/another-one-of-those-update-posts/"/>
            <updated>2022-12-09T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/another-one-of-those-update-posts/</id>
            <content type="html">&lt;p&gt;The most interesting thing that happened this past year was that I got hired by &lt;a href=&quot;https://www.servicenow.com/&quot;&gt;ServiceNow&lt;/a&gt; and then I got fired. I worked for the company for about a year doing Tech Support. I&#39;m still processing being let go. There are still some lingering feelings. I don&#39;t feel enough emotional distance to say anything that wouldn&#39;t come off as bitter. But I definitely do want to talk about it, because I think I learned a few things working for such a huge &lt;strong&gt;application platform as a service&lt;/strong&gt; &lt;a href=&quot;https://en.wikipedia.org/wiki/Platform_as_a_service&quot;&gt;aPaaS&lt;/a&gt; software company. I wasn&#39;t even aware of the acronym aPaaS. I might write some more about this, but one thing I can say now with certainty is that I&#39;m not interested in a career in Tech Support.&lt;/p&gt;
&lt;p&gt;What I&#39;m still interested in is having a career in Software Development. I&#39;m still still looking for that first &amp;quot;real&amp;quot; job as a coder. (I don&#39;t count my 2 to 3 weeks working at a startup as official since I don&#39;t feel like I gained any substantial experience there.) I signed up with &lt;a href=&quot;https://www.pathrise.com/&quot;&gt;Pathrise&lt;/a&gt; to see if that helps. The staff at Pathrise have been super nice and helpful, though it&#39;s probably gonna be a while until I start seeing any results being that the &lt;a href=&quot;https://www.nytimes.com/2022/12/06/technology/computer-students-tech-jobs-layoffs.html&quot;&gt;industry is in a big mood&lt;/a&gt; right now.&lt;/p&gt;
&lt;p&gt;Another piece of news is that I&#39;m a Teaching Assisting for the Bootcamp I attended. I landed the gig while working at ServiceNow. I actually landed two part-time cohorts, one of them with the University of Central Florida, which I finished a couple weeks ago, and the other with University of North Carolina at Charlotte, which I&#39;m currently TA&#39;ing. The job is great. I get to help out students and do a refresher in Full Stack Web Development.&lt;/p&gt;
&lt;p&gt;Those have been the major things that kept me busy this year. Besides that I&#39;m mostly taking some time to think. Getting back into doing things I enjoy doing like coding, reading, watching movies, listening music (we got a record player), and a little gaming (Tried &lt;a href=&quot;https://en.bandainamcoent.eu/elden-ring/elden-ring&quot;&gt;Elden Ring&lt;/a&gt;, but playing &lt;a href=&quot;https://www.orithegame.com/&quot;&gt;Ori&lt;/a&gt; on Xbox). I&#39;m doing &lt;a href=&quot;https://adventofcode.com/2022&quot;&gt;Advent of Code&lt;/a&gt; for this year again and I kept up with solving the puzzles each day on my own until day 7. I&#39;m a bit behind and I&#39;ll probably stay behind because I like giving it a shot on my own until I tried every possible thing I can think of. I&#39;m nowhere near the level of being in &lt;a href=&quot;https://adventofcode.com/2022/leaderboard&quot;&gt;the top 100&lt;/a&gt;. I&#39;m doing #AoC for learning purposes. I find that I learn better after I&#39;ve done enough research to have an idea on how to solve it. Then, watching someone solving it on YouTube (really enjoy &lt;a href=&quot;https://www.youtube.com/@thibpat&quot;&gt;this French dude&lt;/a&gt;) gives me those aha moments. The other day I learned an algorithm that builds a graph and I felt like a wizard.&lt;/p&gt;
&lt;p&gt;That&#39;s a nice feeling. We should all strive to do things that make us feel like wizards.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Crypto Craze</title>
            <link href="https://yarocruz.netlify.app/posts/the-crypto-craze/"/>
            <updated>2022-03-22T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-crypto-craze/</id>
            <content type="html">&lt;p&gt;This explainer article on NYT, &lt;a href=&quot;https://www.nytimes.com/interactive/2022/03/18/technology/cryptocurrency-crypto-guide.html?referringSource=articleShare&quot;&gt;&lt;em&gt;The Latecomer&#39;s Guide to Crypto&lt;/em&gt;&lt;/a&gt; by Kevin Roose, while good at explaining the ideas behind cryptocurrencies, blockchains, and NFT&#39;s, didn&#39;t convince me that this is something I should pay any more attention to. Even if isn&#39;t all a scam, or some tech cult, I&#39;m just not a finance person. I have never bought a stock and I probably google inflation every other week. From a programming perspective, I&#39;m curios as to how this is built, and why so many young folks are so enthusiastic about web3. But overall, I don&#39;t understand where this web utopianism is coming from when this is something that&#39;s mostly about money.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=g6iDZspbRMg&quot;&gt;John Oliver explained it best&lt;/a&gt; by saying that cryptocurrency is &amp;quot;everything you don&#39;t understand about money combined with everything you don&#39;t understand about computers.&amp;quot;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Traffic Analytics</title>
            <link href="https://yarocruz.netlify.app/posts/traffic-analytics/"/>
            <updated>2022-03-16T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/traffic-analytics/</id>
            <content type="html">&lt;p&gt;Been considering adding Google Analytics to this blog, or any other way to see the traffic the site receives, if it even receives any. The simpler the tool, the better. This blog is powered with the static-site generator &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt; and my setup is super simple. My process is write a Markdown file, git commit it, git push it, and Netlify takes care of the rest. &lt;a href=&quot;https://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html&quot;&gt;I blog like a hacker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I don&#39;t like fiddling with the site&#39;s configuration if I don&#39;t have to and Eleventy can be finicky when messing with its config file. It wasn&#39;t until recently when I finally added the RSS/Atom plugin to make this blog into a subscription ready &lt;a href=&quot;https://yarocruz.netlify.app/feed.xml&quot;&gt;feed&lt;/a&gt;. But I do eventually want to add other features to the blog like an archive and search.&lt;/p&gt;
&lt;p&gt;My fear of adding traffic analytics is that it will dictate how I measure the blog&#39;s success. Back when I had a WordPress blog I had traffic analytics and I remember going down that rabbit hole. The problem with numbers and seeking an audience is that you start writing for everyone, but when you try &lt;a href=&quot;https://tomcritchlow.com/2018/02/23/small-b-blogging/&quot;&gt;to write for everyone, you write for no one&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But I would like to have an idea if it&#39;s reaching anybody out there. I don&#39;t have a whole social media strategy when I post something new, but I do share them on &lt;a href=&quot;https://twitter.com/JayCruz&quot;&gt;Twitter&lt;/a&gt;. Knowing if traffic comes from Twitter will give me a good idea of who could be reading.&lt;/p&gt;
&lt;p&gt;Would this be helpful? Will it push me to write more or will it push me to write less? This is what I have to think about.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Thinking Out Loud Live</title>
            <link href="https://yarocruz.netlify.app/posts/thinking-out-loud-live/"/>
            <updated>2022-03-14T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/thinking-out-loud-live/</id>
            <content type="html">&lt;p&gt;I&#39;ve been &lt;a href=&quot;https://www.twitch.tv/hashheap&quot;&gt;live coding on Twitch&lt;/a&gt; for the past couple of weekends doing &lt;a href=&quot;https://exercism.org/tracks/rust&quot;&gt;Rust coding challenges&lt;/a&gt; on &lt;a href=&quot;https://exercism.org/dashboard&quot;&gt;Exercism.io&lt;/a&gt;. I had attempted live streaming before, but I stumbled with technical issues, and I just felt silly afterwards. I don&#39;t know if it was because no one showed up to watch it, or because the audio and video quality was crap, but it mainly made me feel like an old man. But I think I started thinking of giving it a shot again after listening to this &lt;a href=&quot;https://anchor.fm/single-threaded/episodes/Prince-Wilson-on-Learning-through-Live-Coding-e1du951&quot;&gt;Single Threaded Podcast episode&lt;/a&gt;. In the episode Prince and Jenn cover the learning benefits of live coding.&lt;/p&gt;
&lt;p&gt;Even though I haven&#39;t been a heavy Twitch user, &lt;em&gt;(I do play video games but rarely watch gaming streams)&lt;/em&gt;, I do follow live coding folks there and try to watch their streams when I can. I like watching people like &lt;a href=&quot;https://www.twitch.tv/maxcellw&quot;&gt;Prince&lt;/a&gt;, &lt;a href=&quot;https://www.twitch.tv/whitep4nth3r/about&quot;&gt;Salma&lt;/a&gt;, &lt;a href=&quot;https://www.twitch.tv/cassidoo&quot;&gt;Cassidoo&lt;/a&gt;, and &lt;a href=&quot;https://www.twitch.tv/faradayacademy&quot;&gt;Faraday&lt;/a&gt; to mention a few I follow.&lt;/p&gt;
&lt;p&gt;There&#39;s a lot of ideas out there about the educational benefits of watching a live coding stream. This &lt;a href=&quot;https://arxiv.org/pdf/2010.15015.pdf&quot;&gt;research paper&lt;/a&gt; mentions the &lt;em&gt;over-the-shoulder&lt;/em&gt; learning experience that you can&#39;t get from pre-recorded tutorials or Udemy courses.&lt;/p&gt;
&lt;p&gt;On the other hand, there&#39;s good reasons not to make or watch live coding streams if the purpose is to learn or teach. In &lt;a href=&quot;https://www.youtube.com/watch?v=QGlCjVG-Hyc&quot;&gt;this video&lt;/a&gt; Ben Awad says &amp;quot;that watching someone live stream code is an incredibly inefficient way to learn to code&amp;quot;. I find it hard to disagree with that. The effectiveness of a pre-recorded video that has the sole purpose of teaching something is a more direct way of teaching something. But putting aside the effectiveness scale, you do learn, as the viewer, but specially as the streamer.&lt;/p&gt;
&lt;p&gt;One of the reasons I keep writing for this blog for example is because it helps me figure out what I have to say. Even though I have no idea if I have an audience or not, I do act like there is one, and this makes me focus on a reader, which makes me try my best at communicating something that could be valuable to them.&lt;/p&gt;
&lt;p&gt;You can make the same case for live coding. Even if you have 0 people watching your stream, there&#39;s the potential that someone will see it, specially if you&#39;re saving them. Thinking out loud through the process of solving a problem is what I find the most beneficial. You figure out how you&#39;re thinking, what you know, and what you don&#39;t know. There&#39;s something that feels satisfying at the end of a stream, particularly when you solve a coding challenge. But even when I don&#39;t solve anything I feel a sense of accomplishment.&lt;/p&gt;
&lt;p&gt;I&#39;m not an educator and I don&#39;t believe that many live coding streamers think of themselves as teachers. They&#39;re sharing their process and I think that&#39;s the key here. This is learning through process. That &lt;em&gt;over-the-shoulder learning&lt;/em&gt; that you can&#39;t get with an edited tutorial.&lt;/p&gt;
&lt;p&gt;I think I&#39;m gonna keep at this. There&#39;s a lot of &lt;em&gt;nerdery&lt;/em&gt; that I like about it. Mics, OBS, and the live coding Twitch community is super fun and positive. I&#39;m hoping that I&#39;ll figure out a streaming schedule. Weekends are just about right for me at the moment.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Is HTML a Programming Language?</title>
            <link href="https://yarocruz.netlify.app/posts/is-html-a-programming-language/"/>
            <updated>2022-03-11T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/is-html-a-programming-language/</id>
            <content type="html">&lt;p&gt;The &lt;a href=&quot;https://briefs.video/videos/is-html-a-programming-language/&quot;&gt;following video&lt;/a&gt; answers &lt;em&gt;&amp;quot;a question that has never been asked before and has certainly not in any way caused a great number of arguments and nobody has ever been blocked or muted on social media for asking it.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While hilarious, it was also a bit painful to watch, since &lt;a href=&quot;https://yarocruz.netlify.app/posts/html-and-css-is-a-language-can-you-read/&quot;&gt;I&#39;ve definitely sounded like one of the people&lt;/a&gt; being mocked in the video.&lt;/p&gt;
&lt;p&gt;via &lt;a href=&quot;https://adactio.com/links&quot;&gt;Adactio&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Making Tiny Programs for Fun</title>
            <link href="https://yarocruz.netlify.app/posts/making-tiny-programs-for-fun/"/>
            <updated>2022-03-10T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/making-tiny-programs-for-fun/</id>
            <content type="html">&lt;p&gt;I don&#39;t think I&#39;ve ever been able to fully commit to a coding project. Like a BIG project. A so called &#39;real world&#39; solution. A non &#39;toy&#39; project. (I really don&#39;t like the term &#39;toy project&#39;).&lt;/p&gt;
&lt;p&gt;Deciding what kind of app to build is a common struggle, specially when you&#39;re trying to fill a portfolio with worthy projects that could potentially get you hired. This mindset ends up giving me a lot of anxiety, which is the reason why I end up loosing steam when starting a project. It just takes the fun out of it.&lt;/p&gt;
&lt;p&gt;This is why it&#39;s so refreshing to read people like &lt;a href=&quot;https://jvns.ca/&quot;&gt;Julia Evans&lt;/a&gt;. In &lt;a href=&quot;https://jvns.ca/blog/2022/03/08/tiny-programs/&quot;&gt;one of her recent posts&lt;/a&gt; she goes through some cool little programs she&#39;s built, but what really struck me about the post is her reasoning on why do them in the first place.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So let’s talk about that! I like to write small programs that have some marginal utility in my life. Kind of like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ah! A minor problem in my life!&lt;/li&gt;
&lt;li&gt;I know, I bet I can solve this problem with CODE. YAY.&lt;/li&gt;
&lt;li&gt;4 hours of happy programming ensues&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn’t always the most practical (many of the problems I’ve solved with programming could have been solved in less time in other ways), but as long as your goal is actually to have fun programming and your programs don’t hurt anyone else, I think this is a great approach :)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This reminded me of &lt;a href=&quot;https://www.youtube.com/watch?v=KauRmlffjqc&quot;&gt;Sara Vieira&#39;s talk about building dumb shit&lt;/a&gt; which has a similar vibe. I think we sometimes take things too seriously and forget to have fun.&lt;/p&gt;
&lt;p&gt;I wanna get back to having fun and make tiny silly things.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Blogging About Blogging</title>
            <link href="https://yarocruz.netlify.app/posts/blogging-about-blogging/"/>
            <updated>2022-03-08T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/blogging-about-blogging/</id>
            <content type="html">&lt;p&gt;I recently read &lt;em&gt;&lt;a href=&quot;https://www.amazon.com/Say-Everything-Blogging-Becoming-Matters-ebook/dp/B002CCNA0Q/ref=sr_1_1?crid=8QVEA1R3BJSQ&amp;amp;keywords=say+everything+scott+rosenberg&amp;amp;qid=1646757390&amp;amp;sprefix=say+everything%2Caps%2C123&amp;amp;sr=8-1&quot;&gt;Say Everything: How Blogging Began, What it&#39;s Becoming, and Why it Matters&lt;/a&gt;&lt;/em&gt; The book covers the early history of the format from the mid-to-late 90&#39;s up to the late 2000&#39;s. I was certainly one of the millions of people that caught the blogging bug when it reached critical mass around the mid 2000&#39;s. I had one with Blogger for a bit and then switched to &lt;a href=&quot;http://wordpress.com/&quot;&gt;WordPress.com&lt;/a&gt;. Like millions of people, I started many and abandoned many as well.&lt;/p&gt;
&lt;p&gt;Going through the book was a nostalgia trip. The book covers only a handful of the blogs and authors of that period, but with the exception of some of the political blogs mentioned, I used to read most of them. Like many bloggers during that period, I was also an &lt;a href=&quot;https://en.wikipedia.org/wiki/RSS&quot;&gt;RSS&lt;/a&gt; Feed addict and I added everything to &lt;a href=&quot;https://en.wikipedia.org/wiki/Google_Reader&quot;&gt;Google Reader&lt;/a&gt;. Like everything. It was bad.&lt;/p&gt;
&lt;p&gt;It&#39;s interesting to see that while people aren&#39;t using blog platforms like WordPress as much today, people are still web logging their thoughts. They&#39;re just using other platforms that aren&#39;t necessarily tied to the &#39;reverse-chronological&#39; format and the mode of communication isn&#39;t primarily the written word.&lt;/p&gt;
&lt;p&gt;That said, there&#39;s something that&#39;s definitely different about the old-school personal blog when it&#39;s well written. A blog post doesn&#39;t have to be a 5,000 word essay with the quality of something published on The Atlantic, but there&#39;s something different about the &#39;throw away&#39; content that platforms like Twitter, Instagram, or Tik Tok encourage. Even the best Twitter thread still feels like &#39;throw away&#39; content to me. I just find it harder, as a maker and as a consumer in these platforms, to feel as connected with myself or to other people as well as I do when writing my own blog or reading someone&#39;s blog.&lt;/p&gt;
&lt;p&gt;Reading the book reminded me why I have kept this blog and why I want to keep it going. I&#39;ll probably always struggle with posting more consistently, but this is my own space on the web where I get to figure out what I want to say.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Checkins</title>
            <link href="https://yarocruz.netlify.app/posts/checkins/"/>
            <updated>2022-02-06T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/checkins/</id>
            <content type="html">&lt;p&gt;I didn&#39;t set any resolutions for 2022, because I agree and have experienced what many studies have found about them and that is that &lt;a href=&quot;https://www.inc.com/jeff-haden/a-study-of-800-million-activities-predicts-most-new-years-resolutions-will-be-abandoned-on-january-19-how-you-cancreate-new-habits-that-actually-stick.html&quot;&gt;they simply don&#39;t work&lt;/a&gt;. But I still thought about and listed some things I want to accomplish and do more consistently this year.&lt;/p&gt;
&lt;p&gt;I set myself the target of &lt;a href=&quot;https://www.goodreads.com/user_challenges/31751719&quot;&gt;reading 50 books this year&lt;/a&gt;. So far I&#39;m on track. I&#39;m currently going through O&#39;Reilly&#39;s &lt;a href=&quot;https://www.amazon.com/Programming-Rust-Fast-Systems-Development/dp/1492052590/ref=sr_1_2?crid=7QCIEL4LCLK4&amp;amp;keywords=rust+programming&amp;amp;qid=1644159272&amp;amp;s=books&amp;amp;sprefix=Rust%2Cstripbooks%2C115&amp;amp;sr=1-2&quot;&gt;Programming Rust&lt;/a&gt;, &lt;a href=&quot;https://www.amazon.com/Innovators-Hackers-Geniuses-Created-Revolution-ebook/dp/B00JGAS65Q/ref=sr_1_1?crid=24AYY3YQ9J9X4&amp;amp;keywords=the+innovators+walter+isaacson&amp;amp;qid=1644159359&amp;amp;s=books&amp;amp;sprefix=The+Innova%2Cstripbooks%2C189&amp;amp;sr=1-1&quot;&gt;The Innovators&lt;/a&gt; by Walter Isaacson, and Neal Stephenson&#39;s &lt;a href=&quot;https://www.amazon.com/Reamde-Novel-Neal-Stephenson-ebook/dp/B004XVN0WW/ref=sr_1_1?crid=3JDUDDZEMIWGA&amp;amp;keywords=REAMDE&amp;amp;qid=1644159457&amp;amp;s=books&amp;amp;sprefix=reamde%2Cstripbooks%2C99&amp;amp;sr=1-1&quot;&gt;REAMDE: A Novel&lt;/a&gt;. These are some hefty books, but hoping on finishing one of them before the end of the month.&lt;/p&gt;
&lt;p&gt;I&#39;ve been updating and tweaking my &lt;a href=&quot;https://yarocruz.surge.sh/&quot;&gt;portfolio&lt;/a&gt;, making sure that links still work, thinking of other projects to add, and making sure the content communicates the right message. I also got some good advice on my Resume, which kick-started me into updating my professional materials. Even though I&#39;m super happy with the current job I have, I still want to make a living as a Software Engineer.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/acey-ducey.png&quot; alt=&quot;Acey Ducey Card game&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Speaking of projects, I made the card game &lt;a href=&quot;https://yarocruz.github.io/acey-ducey/index.html&quot;&gt;Acey Ducey&lt;/a&gt; with TypeScript. I was taking a look at the open source &lt;a href=&quot;https://github.com/coding-horror/basic-computer-games&quot;&gt;Basic Computer Games&lt;/a&gt; project started by Jeff Atwood and decided to take a shot at the first game. The UI in the game is very primitive, but I&#39;m impressed that I actually got it working and that I covered some edge cases. Don&#39;t know how much that had to do with building it with TypeScript, but it definitely saved me from making something undefined at runtime.&lt;/p&gt;
&lt;p&gt;Getting better at &lt;a href=&quot;https://www.typescriptlang.org/&quot;&gt;TypeScript&lt;/a&gt; is also something I want to focus on this year. I &#39;unpaused&#39; my subscription with &lt;a href=&quot;https://www.executeprogram.com/courses&quot;&gt;Execute Program&lt;/a&gt; and I&#39;ve been going through the advanced TypeScript courses. I&#39;m telling you, if you have the dough, I highly recommend paying the yearly or monthly subscription. The combination of reading material, hands on exercises to immediately recall, followed by &#39;spaced repetition&#39; reminders is a game changer. All learning platforms should follow something like this.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/standup-desk.jpg&quot; alt=&quot;Autonomous Stand-up Desk&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I bought a stand-up desk. I&#39;ve never had any back problems, but I also want to avoid having them if I can. I&#39;ve been working from home for the past year definitely feeling a bit sluggish. Being able to move about freely has made a huge difference in how a feel through the day. This helps me complete my steps and my activity rings.&lt;/p&gt;
&lt;p&gt;Finally, I&#39;m slowly getting back to being a runner. I was doing 5k&#39;s about 2 to 3 times a week before the pandemic. Even did some races and was also training up to doing 10k&#39;s. But I fell off the wagon a bit due to the whole weirdness of the lockdowns and some minor health issues and concerns.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Book Review - Code The Hidden Language of Computer Hardware and Software</title>
            <link href="https://yarocruz.netlify.app/posts/book-review-code-the-hidden-language-of-computer-hardware-and-software/"/>
            <updated>2022-01-23T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/book-review-code-the-hidden-language-of-computer-hardware-and-software/</id>
            <content type="html">&lt;p&gt;This book is called &lt;a href=&quot;https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=sr_1_1?keywords=code+the+hidden+language+of+computer+hardware+and+software&amp;amp;qid=1642955450&amp;amp;sprefix=Code+The+%2Caps%2C116&amp;amp;sr=8-1&quot;&gt;Code&lt;/a&gt;, but it isn&#39;t so much about Programming. It is more about its subtitle, &lt;i&gt;The Hidden Language of Computer Hardware and Software&lt;/i&gt;, and I would say it&#39;s definitely more about the &lt;i&gt;Hardware&lt;/i&gt; part. But the book is still about Code in the sense of manipulating electricity by using only 2 possible states of on and off, (ones and zeroes), to make computations that can then be transformed into information. It explains the software part of Code from the ground up taking you from electrons, to simple light bulb switches on a battery, to integrated circuits, and finally to what we call today a computer.&lt;/p&gt;
&lt;p&gt;The first couple of chapters that tackle the concept of Code, or &lt;i&gt;Codes&lt;/i&gt;, was what made me start reading the book. The first chapter with the Flashlight, followed by Morse code, Braille, and then Binary, are excellent demonstrations on how we can use numbers to communicate meaningful information. But the book starts getting a bit dense with many detailed diagrams that only someone with a background in Electrical Engineering would consider &#39;basic&#39;. While I found all that stuff interesting, a lot of it went over my head. It became a bit of a chore to get through the book.&lt;/p&gt;
&lt;p&gt;The book is also dated since it was published in 2000 when CRT(Cathode Ray Tubes) Monitors are the most prevalent computer monitor and solid state drives aren&#39;t a thing yet. A lot has changed in 20+ years.&lt;/p&gt;
&lt;p&gt;Overall, for someone that has always been curious about how &amp;quot;the metal&amp;quot; works inside, this is an excellent foundational deep-dive into how it all works.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Maybe You Should Quit</title>
            <link href="https://yarocruz.netlify.app/posts/maybe-you-should-quit/"/>
            <updated>2022-01-16T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/maybe-you-should-quit/</id>
            <content type="html">&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0g7ARarFNnw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;The other day I was scrolling through LinkedIn&#39;s wall and saw &lt;a href=&quot;https://www.linkedin.com/feed/update/urn:li:activity:6887792975569571842/&quot;&gt;this post&lt;/a&gt;. In the post, Andy Wong, a Software Engineer at Google, says that &amp;quot;it&#39;s ok to give up, or at least press pause, on your dream(s).&amp;quot; He goes on to say that &amp;quot;for every graduate I see who reaches the dream, I know for a fact that there are several others who just barely make it as a junior developer, earning the same entry-level salary as I did when I first started.&amp;quot;&lt;/p&gt;
&lt;p&gt;I&#39;ve been thinking a lot about these topics for a couple of years now. One book I love about the topic of quitting is Seth Godin&#39;s &lt;a href=&quot;https://www.amazon.com/Dip-Little-Book-Teaches-Stick-ebook/dp/B000QCSA54/ref=sr_1_1?crid=3R9ZGWWCTYP9J&amp;amp;keywords=the+dip+seth+godin&amp;amp;qid=1642381453&amp;amp;sprefix=The+Dip%2Caps%2C148&amp;amp;sr=8-1&quot;&gt;The Dip&lt;/a&gt;. The Dip is a clever little book that highlights the obvious/not so obvious fact, that people either quit things too soon, or persevere at something where they won&#39;t be &amp;quot;number one in the world.&amp;quot; The book is not so much about quitting, but about that dip, that barrier to entry that creates the scarcity that&#39;s needed to create something that is valuable. But like the LinkedIn post, Godin suggests the unpopular opinion that quitting is actually the right thing to do, &lt;em&gt;sometimes&lt;/em&gt;. Quitting, when done strategically, can be the smart thing to do.&lt;/p&gt;
&lt;p&gt;But it’s really hard to make the &lt;a href=&quot;https://www.youtube.com/watch?v=wUkulHMhdxI&quot;&gt;decision to quit in a rational and detached manner&lt;/a&gt; to something that you’ve devoted a good chunk of time to. It&#39;s difficult to let go of something that you have made into part of your identity for a long time. That&#39;s part of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Sunk_cost&quot;&gt;sunk cost fallacy&lt;/a&gt;. Some people don&#39;t quit even when they feel it in their bones that they should, because &amp;quot;quitting is for losers.&amp;quot; But quitting is the right thing to do, again, &lt;em&gt;sometimes&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;There are many jobs and even careers out there where being average will get you &amp;quot;the job&amp;quot;. By average I mean someone that&#39;s good enough. Someone that meets the minimum requirements. But then there are jobs and careers where you absolutely have to be better than average. You have to go beyond the minimum requirements. You really have to be the best.&lt;/p&gt;
&lt;p&gt;In the case of Software Engineering, I don&#39;t think you can average your way into this career. Maybe 10 years ago it wasn’t as competitive. Maybe it’s because of the supply vs demand, and other factors, but you definitely have to be “better” at it than a LOT of other people.&lt;/p&gt;
&lt;p&gt;This all to say… If making things with code is something that you would do even if no one is looking, even if you&#39;re not getting paid for it, and it makes you happy, then definitely keep doing it. This can still be your hobby, or something that you really care about, but it doesn&#39;t have to be your job or career. Nobody can stop you from doing it. But if the main reason you’ve been at this is &#39;cause you just want a &amp;quot;good job&amp;quot;, then maybe moving on to something else is the right thing to do.&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;https://www.youtube.com/watch?v=0g7ARarFNnw&quot;&gt;video by Elizabeth Gilbert that I linked to above&lt;/a&gt; she explains that there are hobbies, jobs, careers, and there are vocations. Very few people find or have a vocation. You don&#39;t need a hobby, you don&#39;t need a career, and you don&#39;t need a vocation. But most of us need a job. So if you&#39;re still grinding at this, trying to get that first junior developer job, going through rejection after rejection, feeling like crap to the point where you hardly even code anymore, then I&#39;d take that as sign that it’s time to pause, reflect, and maybe even quit.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>HTML and CSS is a Language can You Read</title>
            <link href="https://yarocruz.netlify.app/posts/html-and-css-is-a-language-can-you-read/"/>
            <updated>2021-08-21T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/html-and-css-is-a-language-can-you-read/</id>
            <content type="html">&lt;p&gt;The problem with the discussion of HTML and CSS being programming languages or not is that most of the time this debate really doesn&#39;t matter. It&#39;s just semantics. Bike shedding. Usually used as a way to put others down, or put others up, depending on which side it&#39;s coming from. HTML and CSS are programming languages. They are codes. They are instructions you&#39;re giving to a computer(the browser interpreter really, but let&#39;s not digress). In that loosely and broader sense, then yes, making a website with just HTML and CSS is &lt;em&gt;part of&lt;/em&gt; programming.&lt;/p&gt;
&lt;p&gt;I also acknowledge and agree that coders with a traditional CS background, who know JavaScript really well, and other programming languages, are usually the ones who never miss an opportunity to let you know that &amp;quot;that HTML and CSS aren&#39;t real programming languages&amp;quot;. These people are definitely dicks who have no idea how much more complex and how much more important being good a writing correct and semantic HTML is. They have no idea how wickedly cool CSS is and how much more difficult it is to actually master it.&lt;/p&gt;
&lt;p&gt;However, understanding what separates a programming language in the more academic and strict definition on what makes a programming language a programming language, from something like HTML, CSS &lt;strong&gt;matters&lt;/strong&gt;, &lt;em&gt;sometimes&lt;/em&gt;. It matters especially if your goal is to become a professional software developer. We can endlessly debate the semantics, and the loosely defined definitions on what makes a programming language a programming language, but there&#39;s no way you can do with HTML what you can do with a language like C++, Python, or even JavaScript. All programming languages typically have variables, numbers, strings, conditions, loops, booleans, functions, objects, and that&#39;s just covering the basics. Programming languages can be used in different platforms and environments. HTML and CSS are meant to be used inside web browsers.&lt;/p&gt;
&lt;p&gt;Yes, you can make complex websites with just HTML and CSS. Yes, in the world of client side / front-end web development, there are still pockets in the industry with roles where you can get away with not knowing a whole lot of JavaScript. But in today&#39;s world of web applications, I don&#39;t believe this is the norm.&lt;/p&gt;
&lt;p&gt;If your take-away so far is that I see HTML and CSS as less important than JavaScript, or as a less valuable skill, you&#39;re totally missing the point. The main point I&#39;m trying to get across is that you&#39;re not going to be able to avoid learning &lt;em&gt;some&lt;/em&gt; JavaScript in the world of Web Development, no matter if the goal is front-end, because the presentational and design aspects of making websites and web apps, are either done by traditional web designers (basically graphic designers who can code), or it&#39;s a very specialized role in a small agency that mostly does branding and websites. But if your goal is to work in web application development, you will have a hard time clinging to the &amp;quot;HTML and CSS are languages too&amp;quot; stance and you will be judged, unfounded or not, as naive and as someone that clearly doesn&#39;t understand what programming actually is. It&#39;s just a matter of understanding that distinction when it matters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Further Reading&lt;/strong&gt; &lt;a href=&quot;https://www.quora.com/Is-CSS-or-HTML-a-programming-language&quot;&gt;Is CSS or HTML a programming language?&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Your Network is a Side Effect</title>
            <link href="https://yarocruz.netlify.app/posts/your-network-is-a-side-effect/"/>
            <updated>2021-04-20T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/your-network-is-a-side-effect/</id>
            <content type="html">&lt;blockquote&gt;
&lt;p&gt;It is actually true that life is all about &amp;quot;who you know&amp;quot;. But who you know is largely dependent on who you are and what you do, and the people you know cannot do anything for you if you’re not doing good work.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A Quote from &lt;a href=&quot;https://www.amazon.com/Show-Your-Work-Austin-Kleon/dp/076117897X&quot;&gt;Show Your Work&lt;/a&gt; by Austin Kleon&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;How is your strategy of growing your connections on LinkedIn working out? When you ask a question on Twitter, how many replies do you get from your 1000 followers? I think the worst career advice out there is to go out and &amp;quot;network&amp;quot;. The problem is that most people just want a job, and they see the strategy of networking as a shortcut. The people that could potentially offer you a job are put off because you&#39;re being so blatantly superficial. Nobody likes to feel like there just a tool in your baseball card collection.&lt;/p&gt;
&lt;p&gt;As that quote suggests, you can be connected to dozens of people, but if they&#39;re connected because they clicked confirm to add that LinkedIn juice to their profiles, you might as well have no connections at all. I think having so called &#39;weak ties&#39; is a good thing as a social animal, but they&#39;re only good when these ties are out there in IRL, in actual meatspace. There are weak ties and there are weak ties, if you know what I&#39;m saying.&lt;/p&gt;
&lt;p&gt;Just follow people you genuinely like. Do and show the work you want to do. The network will slowly show up after that.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Web Page vs Website vs Webapp</title>
            <link href="https://yarocruz.netlify.app/posts/web-page-vs-website-vs-webapp/"/>
            <updated>2021-04-18T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/web-page-vs-website-vs-webapp/</id>
            <content type="html">&lt;p&gt;&lt;a href=&quot;https://seths.blog/2021/04/youre-not-that-good/&quot;&gt;link to thread&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When people get into the debate of website vs web app, in the context of how overkill it is to use a big JS framework for &amp;quot;just making static sites&amp;quot;, I think they are confusing a web Page with a web Site. The confusion probably stems from the misunderstanding that a website that is simply &amp;quot;informational&amp;quot; doesn&#39;t need to be &lt;strong&gt;dynamic&lt;/strong&gt;, or &amp;quot;appy&amp;quot;, and that they should always be &lt;strong&gt;static&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I&#39;ve found however that the distinctions between a website and web app are either not there at all, or if there is a fundamental difference, the differences are not as simple as &lt;strong&gt;static&lt;/strong&gt; vs &lt;strong&gt;dynamic&lt;/strong&gt;. I got a lot of the ideas I&#39;m about to go over from this &lt;a href=&quot;https://changelog.com/jsparty/162&quot;&gt;JS Party Podcast episode&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The simplest web PAGE is a single HTML file with maybe a link to a CSS file and maybe a JavaScript file. While a single web page can be DYNAMIC, they are &lt;em&gt;usually&lt;/em&gt; STATIC. All you need is one file on a web server. You can&#39;t get more static than that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Site&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A website is a collection of web pages with maybe a link to a  CSS file and a JS file. A website can be totally STATIC, specially if its small (3 - 5 pages), but most websites are DYNAMIC.&lt;/p&gt;
&lt;p&gt;Think of a blog on a platform like WordPress. There are Databases for comments. There&#39;s dynamic routing. There&#39;s logins for users. All sorts things need to happen depending on user context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Webapp&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A web APP is obviously through and through DYNAMIC, but the technical differences between a web app and a website become a little fuzzy. Both, website and web app, rely on user interaction.&lt;/p&gt;
&lt;p&gt;There are differences in scale and complexity that are more obvious when trying to make distinctions. When most people think of an application on the web, they think about something like Google Docs. But something like The New York Times they think of as a website. Because that&#39;s just &amp;quot;information&amp;quot;. But trust me, there&#39;s very little that&#39;s static about The New York Times.&lt;/p&gt;
&lt;p&gt;Thing is, a web app &lt;strong&gt;cannot escape from being a website&lt;/strong&gt; because not matter what, in the end it needs a url, html, css, and JavaScript files in order to run inside a browser window.&lt;/p&gt;
&lt;p&gt;So there you have it. Don&#39;t get me wrong, I still think it&#39;s useful sometimes to make a distinction between a website and web app. In terms of complexity, I wouldn&#39;t equate something like &lt;a href=&quot;https://docs.google.com/spreadsheets&quot;&gt;Google Sheets&lt;/a&gt;, with like, someone&#39;s blog as being in the same category. But sometimes the distinction is useless because a web app can&#39;t help itself from also being a website, unless we&#39;re talking about an &lt;a href=&quot;https://www.electronjs.org/&quot;&gt;Electron&lt;/a&gt; app or something.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Problem with Being a Junior</title>
            <link href="https://yarocruz.netlify.app/posts/the-problem-with-being-a-junior/"/>
            <updated>2021-03-10T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-problem-with-being-a-junior/</id>
            <content type="html">&lt;p&gt;Andrei Neagoie has a really popular article called &lt;a href=&quot;https://zerotomastery.io/blog/dont-be-a-junior-developer/?utm_source=medium&amp;amp;utm_medium=dont-be-junior-the-roadmap&quot;&gt;&lt;strong&gt;Don&#39;t be a Junior Developer&lt;/strong&gt;&lt;/a&gt;. In the article he argues that labeling yourself as &amp;quot;junior&amp;quot; when you&#39;re starting out is a big mistake, specially if you&#39;re looking for that first job. He writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;When you do that, this is what recruiters and companies see: “Hi, I’m desperately looking to get hired as a developer. I’m still new at this, but can you please please please place a bet on me and hope that I turn out to be an asset and not a liability for your company. Oh, and I’m also going to need a lot of help from your staff for the first 6 months!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Even though the article&#39;s main purpose is to sell you his course &lt;a href=&quot;https://academy.zerotomastery.io/p/the-complete-junior-to-senior-web-developer-roadmap&quot;&gt;The Complete Junior to Senior Developer&lt;/a&gt;, I agree with with the quoted sentiment 110%, but I&#39;m gonna take this a little further and say that it&#39;s not just enough to avoid labeling &lt;em&gt;yourself&lt;/em&gt; a junior. You should also &lt;strong&gt;avoid letting others put you in that box&lt;/strong&gt;. I&#39;m not talking about the unfortunate situation of getting that as a literal job title in a company. I&#39;m talking more about other peers in the industry putting you in that box.&lt;/p&gt;
&lt;p&gt;This can be tricky. Obviously, there will always be people that know more than you. We should always seek out the &amp;quot;smartest person in the room&amp;quot; to learn from. However this doesn&#39;t mean that you won&#39;t ever know what they know. This doesn&#39;t mean that the apprentice can never become the master. Also, not everyone that &amp;quot;knows more than you&amp;quot; can be, or should be, your mentor.&lt;/p&gt;
&lt;p&gt;So when your peers put you in the junior box, you&#39;re going to have a hard time getting out of that box. You&#39;re going to have to almost literally fight your way out of that box. &amp;quot;You&#39;re just learning,&amp;quot;, they&#39;ll say. &amp;quot;You don&#39;t have experience with real codebases that are in production&amp;quot;, they&#39;ll retort and cackle. In their eyes you will always be a junior because you don&#39;t have a job. The problem with this is that having a job or not doesn&#39;t have anything to do with your skills and capability.&lt;/p&gt;
&lt;p&gt;Get out of the junior box as soon as you can. Don&#39;t get &amp;quot;pigeonholed&amp;quot; in any box really, not even the &amp;quot;intermediate developer&amp;quot; box because that will always be junior to someone.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Gap</title>
            <link href="https://yarocruz.netlify.app/posts/the-gap/"/>
            <updated>2021-02-23T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-gap/</id>
            <content type="html">&lt;iframe src=&quot;https://player.vimeo.com/video/85040589?color=b70b0b&amp;portrait=0&amp;badge=0&quot; width=&quot;640&quot; height=&quot;360&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&quot;https://vimeo.com/85040589&quot;&gt;THE GAP by Ira Glass&lt;/a&gt; from &lt;a href=&quot;https://vimeo.com/danielsax&quot;&gt;Daniel Sax&lt;/a&gt; on &lt;a href=&quot;https://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Learning to program is incredibly difficult. The degree of difficulty varies from person to person. Some struggle more than others sure, but I don&#39;t think anyone would say that programming is easy.&lt;/p&gt;
&lt;p&gt;The Dev culture at large however gives the impression that it is easy. &amp;quot;Anyone can learn to code&amp;quot;, they say. &amp;quot;Fake it, till you make it&amp;quot;, is the ethos. Learn in public. Hashtag 100 days of coding.&lt;/p&gt;
&lt;p&gt;You got &amp;quot;self-taught&amp;quot; developers with YouTube channels selling you that you can &amp;quot;self-teach&amp;quot; yourself, $15 Udemy courses,  wannabe mentors with only 2 years of experience flexing in online communities, Bootcamps, and incredibly nice Canadians like Wes Bos.&lt;/p&gt;
&lt;p&gt;These people are not saying that it&#39;s literally easy, but they sell people the idea that it can be. They sell the idea that if you follow a number steps, that if you follow this formula or that formula, you&#39;ll get there soon. We all love formulas.&lt;/p&gt;
&lt;p&gt;I think many people starting out are aware that it&#39;s hard. We know that it will take time, but we all tend to bury that knowledge a bit and go along as if we&#39;ll be able to reach mastery sooner rather than later. This is why we fall for formulas. We buy all the Udemy courses, books, and get expensive loans to go to Bootcamps.&lt;/p&gt;
&lt;p&gt;Teaching people to program is probably even harder. We came up with Computer Science as the best way to impart the knowledge and discipline of Programming. But I don&#39;t think we have cracked it yet and it&#39;s probably because this is a relatively new field of knowledge that is constantly changing. It hasn&#39;t settled.&lt;/p&gt;
&lt;p&gt;Other knowledge domains like Sports, Chess, Medicine... these disciplines have been out there longer. They&#39;ve had the time to develop best practices when it comes to teaching it and learning it. Most people that get into these domains have a better idea on the learning time frames and where they are in the &lt;a href=&quot;https://yarocruz.netlify.app/posts/the-valley-of-despair/&quot;&gt;&amp;quot;learning curves&amp;quot;&lt;/a&gt;. They know up front that it&#39;s going to take at least 8+ years to practice medicine. People that teach the Violin have a good sense on what it takes, and how it long it takes, to get at least decent at the Violin.&lt;/p&gt;
&lt;p&gt;Programming unfortunately is not quite there. It hasn&#39;t been battle tested that way. There&#39;s been some attempts, like identifying levels like junior, mid, and senior, but this is mostly a hr/salary negotiation thing, than something that can reliably indicate someone&#39;s knowledge rank.&lt;/p&gt;
&lt;p&gt;Identifying gaps is difficult, specially when you&#39;re on your own. Because you know, the &lt;a href=&quot;https://en.wikipedia.org/wiki/There_are_known_knowns&quot;&gt;unknown unknowns&lt;/a&gt;. It&#39;s going to take time. How much? Probably way much longer than you think, and you should be ok with that. You don&#39;t need to &lt;a href=&quot;https://norvig.com/21-days.html&quot;&gt;spend 10 years learning to code to get a job in Programming&lt;/a&gt;, but you probably need 10 or more to become actually good at it.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Checkins 2</title>
            <link href="https://yarocruz.netlify.app/posts/checkins-2/"/>
            <updated>2021-02-07T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/checkins-2/</id>
            <content type="html">&lt;h1&gt;Learning Vim&lt;/h1&gt;
&lt;p&gt;It&#39;s been about a month now since I &lt;a href=&quot;https://yarocruz.netlify.app/posts/learning-the-vim-alphabet/&quot;&gt;started learning Vim&lt;/a&gt;. It has taken a while to make some of the commands into muscle memory, but navigating around text is becoming more and more natural. Moving forward and back with commands like w, b, and e has definitely stuck, but I&#39;m also moving around chunks of text more effectively by remembering to move with G by line number, using brackets [ ] to move around spaces or paragraphs, and remembering the forward slash / for quickly searching. One game changer was changing the Caps Lock key to function as the ESC key. Getting quickly back into command mode is the key to the effectiveness of using Vim.&lt;/p&gt;
&lt;p&gt;What&#39;s interesting is that by learning Vim I feel like I&#39;m also getting wickedly better at using my IDE / Text Editor, which is &lt;a href=&quot;https://www.jetbrains.com/webstorm/&quot;&gt;WebStorm&lt;/a&gt;. And I know there&#39;s a lot of Vim purists out there, &lt;a href=&quot;https://neovim.io/&quot;&gt;Neovim&lt;/a&gt; nerds that will scoff at emulators and plugins, but so far this setup is working great for me. Tho I definitely want to dig into Neovim.&lt;/p&gt;
&lt;p&gt;Going through these &lt;a href=&quot;https://www.vim.so/&quot;&gt;Vim interactive exercises&lt;/a&gt; has also helped a ton. Hopefully they keep adding exercises. There&#39;s still more I have to learn and master. Selecting with v and then &amp;quot;yanking&amp;quot; with y, basically copy and pasting, is still clunky for me, and sometimes I can&#39;t help myself from reaching out to the good &#39;ol mouse, but my coding workflow has improved tremendously.&lt;/p&gt;
&lt;h1&gt;Been in a Rut&lt;/h1&gt;
&lt;p&gt;The job-hunt for that first dev job has been brutal. It&#39;s getting harder and harder to stay optimistic and confident. My confidence is in the dumps right now tbh. So I&#39;m taking myself out of that race for a bit, until I get that confidence back. I want to get back to that place where I do this because it&#39;s fun. I want to do this because it&#39;s something I actually enjoy doing. The &amp;quot;job-hunt race&amp;quot; puts your head too much in &amp;quot;seeking validation&amp;quot; mode. You start working on projects not because they tickle your fancy, but because they can &amp;quot;potentially get you a job&amp;quot;. Every time you hear from peers and experienced developers that you need to build a &amp;quot;real&amp;quot; project, you get into defensive mode, asking &amp;quot;wtf that even means bro?&amp;quot;. Wtf is a &amp;quot;real&amp;quot; project? It&#39;s very discouraging. I&#39;m gonna start stepping away from that as well. There are some communities out there that I have tried to be part of that are just toxic.&lt;/p&gt;
&lt;h1&gt;I&#39;m Learning Rust 🦀&lt;/h1&gt;
&lt;p&gt;I have ventured outside of JS and Web Dev before by attempting to learn a bit of PHP and Python. Did consider learning Java for like 3 minutes. I have always been curios about the more lower-level stuff like C and C++, but always thought that those languages were way beyond my skillset as a &amp;quot;make believe&amp;quot; programmer. But I&#39;ve being seeing Rust pop up a lot in different online tech circles. I think it was at the &lt;a href=&quot;https://www.partycorgi.com/&quot;&gt;Party Corgi Discord&lt;/a&gt; were I discovered awesome folks like &lt;a href=&quot;https://www.christopherbiscardi.com/&quot;&gt;Chris Biscardi&lt;/a&gt; and &lt;a href=&quot;https://prince.dev/&quot;&gt;Prince Wilson&lt;/a&gt; who got me more curios about Rust.&lt;/p&gt;
&lt;p&gt;So I&#39;ve been digging through &lt;em&gt;the&lt;/em&gt; &lt;a href=&quot;https://doc.rust-lang.org/book/title-page.html&quot;&gt;book&lt;/a&gt;. I even bought a printed version. Started going through the &lt;a href=&quot;https://github.com/rust-lang/rustlings&quot;&gt;Rustlings&lt;/a&gt; exercises. So far I&#39;m really enjoying the learning experience. Maybe it&#39;s because it&#39;s something new, but it feels good.&lt;/p&gt;
&lt;h2&gt;Link Drops&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://yarocruz.netlify.app/posts/learning-the-vim-alphab&quot;&gt;Learning the Vim Alphabet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.jetbrains.com/webstorm/&quot;&gt;WebStorm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://neovim.io/&quot;&gt;Neovim&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.vim.so/&quot;&gt;vim.so&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.partycorgi.com/&quot;&gt;Party Corgi Discord&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.christopherbiscardi.com/&quot;&gt;Chris Biscardi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://prince.dev/&quot;&gt;Prince Wilson&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://doc.rust-lang.org/book/title-page.html&quot;&gt;The Rust Book&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/rust-lang/rustlings&quot;&gt;Rustlings&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Learning the Vim Alphabet</title>
            <link href="https://yarocruz.netlify.app/posts/learning-the-vim-alphabet/"/>
            <updated>2021-01-08T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/learning-the-vim-alphabet/</id>
            <content type="html">&lt;p&gt;Like many coders, the first time I encountered &lt;a href=&quot;https://www.vim.org/&quot;&gt;Vim&lt;/a&gt; was when I typed &lt;strong&gt;git commit&lt;/strong&gt; into a terminal, and forgot to type the -m flag. I don&#39;t think I even knew what Vim was when it happened. All I knew is that I had no idea where I was or how to get out.&lt;/p&gt;
&lt;p&gt;Once I started digging more into Text Editors I eventually became aware of it, but only enough to know what it was. I read a bit about it, watch some videos, and went through the first free levels of &lt;a href=&quot;https://vim-adventures.com/&quot;&gt;Vim Adventures&lt;/a&gt;. I learned at least the arrow keys (&lt;strong&gt;hjkl&lt;/strong&gt;), how to move by words with &lt;strong&gt;w&lt;/strong&gt; and &lt;strong&gt;b&lt;/strong&gt; but never stuck with it long enough to really like get to &lt;a href=&quot;https://www.youtube.com/watch?v=IiwGbcd8S7I&amp;amp;t=3165s&quot;&gt;Ben Awad&lt;/a&gt; level skills.&lt;/p&gt;
&lt;p&gt;It wasn&#39;t until recently that I started getting back into it. I think what re-sparked my interest was watching &lt;a href=&quot;https://www.youtube.com/watch?v=1jWS7cCuUXw&amp;amp;t=1740s&quot;&gt;this talk were Ryan Florence explains how Hooks work&lt;/a&gt; and he just clackity clacks like some type of animal keyboard wizard.&lt;/p&gt;
&lt;p&gt;So I installed the Vim Emulator on my Webstorm. Watched some more videos on YouTube. Went through the &lt;a href=&quot;http://www2.geog.ucl.ac.uk/~plewis/teaching/unix/vimtutor&quot;&gt;vimtutor&lt;/a&gt;. But things were still not sticking.&lt;/p&gt;
&lt;p&gt;At some point I stumbled upon &lt;a href=&quot;https://twitter.com/chantastic?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&quot;&gt;Michael Chan&#39;s&lt;/a&gt; series &lt;a href=&quot;https://www.youtube.com/playlist?list=PLnc_NxpmOxaNqdGvUg8RBi8ZTaZGPdqBD&quot;&gt;Vim from A - Z&lt;/a&gt;. Something clicked when I started going through it and for some reason I thought about &lt;a href=&quot;https://kentcdodds.com/clubs/&quot;&gt;KCD&#39;s Learning Clubs&lt;/a&gt; and how this could be an excellent curriculum to learn with a group.&lt;/p&gt;
&lt;p&gt;So I went through his &lt;a href=&quot;https://kentcdodds.com/clubs/&quot;&gt;guide&lt;/a&gt;, took to it to &lt;a href=&quot;https://kentcdodds.com/discord/&quot;&gt;his Discord&lt;/a&gt;. Kent liked it and asked me to add to his &lt;a href=&quot;https://github.com/kentcdodds/kcd-learning-clubs-ideas&quot;&gt;curriculum and templates ideas README&lt;/a&gt; which is pretty freaking cool!&lt;/p&gt;
&lt;p&gt;I&#39;ve be tracking my study progress by taking some &lt;a href=&quot;https://www.notion.so/Vim-Alphabet-8d674cfa0b11447184b3b7423d569dba&quot;&gt;notes&lt;/a&gt; and sharing it with the study group. I&#39;m at the letter F, but I&#39;m already doing w to move forward, i to insert, v to select, p to put(paste) and some more. There&#39;s still things that don&#39;t feel as intuitive yet, like remembering that you can add a [count] to a movement key. I&#39;m nowhere near good at Vim and I know that there&#39;s so much more to dig into, but I think it&#39;s finally starting to stick.&lt;/p&gt;
&lt;p&gt;I highly recommend learning at least the basics of Vim if you&#39;re learning to code. At least enough so that it will spark your curiosity to learn your text editor a bit more. I also recommend learning with others to some capacity. Having that bit of sense of accountability helps with the learning process tremendously. Kent C Dodd&#39;s Learning Clubs on Discord are excellent and it&#39;s pretty easy to start one.&lt;/p&gt;
&lt;h2&gt;Link drop list&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.vim.org/&quot;&gt;Vim.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://vim-adventures.com/&quot;&gt;Vim Adventures&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=IiwGbcd8S7I&amp;amp;t=3165s&quot;&gt;Ben Awad Vim Tutorial&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=1jWS7cCuUXw&amp;amp;t=1740s&quot;&gt;Fun with React Hooks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www2.geog.ucl.ac.uk/~plewis/teaching/unix/vimtutor&quot;&gt;Vimtutor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLnc_NxpmOxaNqdGvUg8RBi8ZTaZGPdqBD&quot;&gt;Vim from A - Z&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kentcdodds.com/clubs/&quot;&gt;KCD&#39;s Learning Clubs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/kentcdodds/kcd-learning-clubs-ideas&quot;&gt;KCD Learning Clubs - Curriculum and Template Ideas&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kentcdodds.com/discord/&quot;&gt;KCD Discord&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.notion.so/Vim-Alphabet-8d674cfa0b11447184b3b7423d569dba&quot;&gt;Vim Alphabet Notes&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>On Seeking Feedback and Advice</title>
            <link href="https://yarocruz.netlify.app/posts/on-seeking-feedback-and-advice/"/>
            <updated>2021-01-01T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/on-seeking-feedback-and-advice/</id>
            <content type="html">&lt;p&gt;I realize how important it is to learn from others and to seek out feedback from people with more experience, specially when you&#39;re trying to enter into a career in web development. The more info and advice you can get from those that have taken the journey you&#39;re about to take the better. It&#39;s the smart thing to do. But I also realize that not every feedback and advice you receive is going to be helpful.&lt;/p&gt;
&lt;p&gt;Even when the person is genuinely trying to be helpful, they sometimes absolute suck at it. Because not everyone can teach. When people&#39;s experience and skill level are way above yours, many of the things you still don&#39;t understand are so obvious to them. They lost the beginners mind.&lt;/p&gt;
&lt;p&gt;The other problem with career advice is that each person&#39;s path is unique. It&#39;s random. And there is definitely luck involved. There are so many people out there that are not aware of &lt;a href=&quot;https://en.wikipedia.org/wiki/Survivorship_bias&quot;&gt;survivorship bias&lt;/a&gt; and if they are, some don&#39;t want to acknowledge it.&lt;/p&gt;
&lt;p&gt;If there&#39;s a good piece of advice I heard and read is that you have to focus on the things you can control. Getting a job is not under your control. You can take the actions that will get you closer to getting it, like applying to the job, going to the interview, and doing all the other things, but after that, it is not up to you. This why you &lt;strong&gt;get&lt;/strong&gt; a job, and not &lt;strong&gt;take&lt;/strong&gt; a job. You don&#39;t take it, it is given.&lt;/p&gt;
&lt;p&gt;But like the saying goes, take every advice &#39;with a grain of salt&#39;. Even this, even though this is really not advice.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Persistence and Grit</title>
            <link href="https://yarocruz.netlify.app/posts/persistence-and-grit/"/>
            <updated>2020-12-23T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/persistence-and-grit/</id>
            <content type="html">&lt;p&gt;I&#39;m always worried that staying persistent in the face of constant rejection is a form a self delusion, because there&#39;s no way you can prove that it&#39;s not. People say that you should keep going. Stay consistent. Keep trying. Never quit, never surrender. &lt;a href=&quot;https://www.youtube.com/watch?v=ZXsQAXx_ao0&quot;&gt;Just Do It&lt;/a&gt; It&#39;s gonna happen eventually.&lt;/p&gt;
&lt;p&gt;I do believe that if you want something really badly, you will find a way to get it. You spend enough time pursuing something, eventually you&#39;ll get there. But I still worry of seeming foolish, naive, oblivious. I feel sometimes like &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Disaster_Artist_(film)&quot;&gt;Tommy Wiseau in The Disaster Artist&lt;/a&gt; or like that &lt;a href=&quot;https://en.wikipedia.org/wiki/Mr._Brainwash&quot;&gt;French guy in Exit through the Gift Shop&lt;/a&gt;. Even though these guys achieved &amp;quot;success&amp;quot;, they achieved it for the wrong reasons.&lt;/p&gt;
&lt;p&gt;I know I&#39;m not &lt;em&gt;that&lt;/em&gt; deluded, oblivious, and crazy like Tommy Wiseau or Mr. Brainwash. I know what I know, what I don&#39;t know, and that there are even more things that I don&#39;t know that I don&#39;t know. See &lt;a href=&quot;https://en.wikipedia.org/wiki/There_are_known_knowns&quot;&gt;unknown unknowns&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Twenty twenty has been an extremely sucktastic year for a lot of people, but we gotta keep going right? And yeah, being persistent and gritty is a little bit on the crazy spectrum, but at least we&#39;re doing what makes us happy.&lt;/p&gt;
&lt;p&gt;And maybe all this is just the holiday blues kicking in. Happy Holiday&#39;s yall.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>New Look, New Platform</title>
            <link href="https://yarocruz.netlify.app/posts/new-look-new-platform/"/>
            <updated>2020-12-19T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/new-look-new-platform/</id>
            <content type="html">&lt;p&gt;I&#39;ve been meaning to update my &lt;a href=&quot;https://yarocruz.github.io/&quot;&gt;old weblog&lt;/a&gt; for a while. It&#39;s gonna be living on that Github page for a bit until I figure out how to exactly deploy it there with &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;. I built it with &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; a couple of years ago and the setup is a little different. I&#39;m actually surprised that it&#39;s still up since I pull/merged to the master branch and there&#39;s no Jekyll stuff on that branch. This site is on &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt; and it&#39;s setup with the &lt;a href=&quot;https://github.com/yarocruz/yarocruz.github.io/tree/v2&quot;&gt;second branch&lt;/a&gt; of the repo. Hopefully I&#39;ll get it sorted out without breaking things.&lt;/p&gt;
&lt;p&gt;One of the reasons I decided to migrate to Eleventy was because I never really understood what exactly was happening behind the scenes with Jekyll, Gemfiles, and all the Ruby stuff. With Eleventy I feel a bit more comfortable since it&#39;s all JavaScript. Since it&#39;s built with &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node.js&lt;/a&gt; configuration stuff it&#39;s easier to wrap my head around. By watching this &lt;a href=&quot;https://www.youtube.com/watch?v=j8mJrhhdHWc&amp;amp;t=4449s&quot;&gt;crash course&lt;/a&gt; and reading the docs, I managed to port it out in just a couple days. I used this &lt;a href=&quot;https://github.com/danurbanowicz/eleventy-netlify-boilerplate&quot;&gt;Netlify Boilerplate&lt;/a&gt; as a guide, but I wrote everything up from scratch.&lt;/p&gt;
&lt;p&gt;There&#39;s still some quirks to fix and stuff to add later on, but I&#39;m super happy with how it turned out.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Titles Terms and Jargon</title>
            <link href="https://yarocruz.netlify.app/posts/titles-terms-and-jargon/"/>
            <updated>2020-09-20T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/titles-terms-and-jargon/</id>
            <content type="html">&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/whatithinkidoengineer.jpg&quot; alt=&quot;Engineer&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When I started learning how to make websites with HTML and CSS, I was aware of titles like Software Developer and Web Developer, but I only had a vague idea what they meant. I was also aware there was a thing called Computer Science and Computer Programming, but I wasn&#39;t entirely sure how much they related to just making websites. I associated Computer Programming with Operating Systems, Bill Gates, and COBOL. COBOL because my mom worked at an insurance company that used that language.&lt;/p&gt;
&lt;p&gt;I&#39;m pretty sure at the beginning, when I wrote those first few HTML tags and learned about the CSS :hover pseudo selector, that I thought of myself as a &#39;programmer&#39;. Like, I wouldn&#39;t say that out loud to anyone, but I would&#39;ve describe myself as a coder. However, once I started considering making websites as a career, I discovered Web Design.&lt;/p&gt;
&lt;h2&gt;Web Design&lt;/h2&gt;
&lt;p&gt;Let&#39;s get this one out quickly. Writing HTML, CSS, and copy+pasting JS snippets from Codepen to make an image Slider is &lt;strong&gt;not&lt;/strong&gt; programming. That&#39;s Web Design. Yes, you&#39;re writing code, as in you&#39;re writing HTML tags and styling with CSS in a text-editor, but you&#39;re not programming according to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Computer_programming&quot;&gt;academic definition.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Web Design is also &lt;strong&gt;not&lt;/strong&gt; Front-End development. There was a long period while I was in school pursuing my Interactive Design degree where I thought of myself as both, a Web Designer and a Front End Developer. But Front-end development is just a fancy way of saying client-side web programming. Design and Front-End Development do overlap, but they are not mutually inclusive. While there are Front End developers who can design, you don&#39;t really have to know Design. Hell, there are Front End developers that don&#39;t even know or care to know CSS. The inverse is also true. A Web Designer doesn&#39;t really have to be a coder either. You can use applications like Dreamweaver, Muse, Webflow, and others to make websites without having to write a single line of code.&lt;/p&gt;
&lt;p&gt;There&#39;s a lot to unpack here, but the generally gist is this: &lt;strong&gt;Web Design is just one specialization of Design and not an aspect of Front End Development.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Front End Development&lt;/h2&gt;
&lt;p&gt;Knowing what I know now about the differences between Design and Development hasn&#39;t made the title Front End Development  any less confusing tho. Client side web programming &lt;a href=&quot;https://css-tricks.com/the-great-divide/&quot;&gt;has changed a lot in the past couple of years&lt;/a&gt;, but before we dive into this, let&#39;s establish and agree that there&#39;s a difference between a website and a web application.&lt;/p&gt;
&lt;h3&gt;Website&lt;/h3&gt;
&lt;p&gt;A website is strictly a static informational document, page, or a set of pages, hyperlinked and mostly built with HTML, CSS, and some JS. A website can be or not be interactive and I point this out because if you google the &#39;difference between a website and a web app&#39; you might find articles describing websites as not interactive, but I think this is totally misleading. A website doesn&#39;t need JS to be a website, but having JS doesn&#39;t automatically change a website into a web app. For example, if what you have the JS doing is &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Manipulating_documents&quot;&gt;DOM manipulation&lt;/a&gt; to make some animations and if the JS is not really changing anything this doesn&#39;t make your website an app.&lt;/p&gt;
&lt;h3&gt;Webapps&lt;/h3&gt;
&lt;p&gt;Here&#39;s were I think things get confusing for people. Web sites can be web applications. If we&#39;re talking about a traditional web site with a couple a pages, paragraphs, heading tags, very document based, there could be a lot happening behind the scenes. Take a blog for example. A blog has comments, search fields, forms. It is interactive and dynamic. There are many websites out there that are web apps in that sense. This definition is essentially what a single-page application (&lt;a href=&quot;https://en.wikipedia.org/wiki/Single-page_application#:~:text=From%20Wikipedia%2C%20the%20free%20encyclopedia,browser%20loading%20entire%20new%20pages.&quot;&gt;SPA&lt;/a&gt;) is.&lt;/p&gt;
&lt;p&gt;Then we have the more obvious and easier to define web apps like like say, Google Docs, Facebook, Twitter, Amazon, online games, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt; let&#39;s get back to unpacking Front-End Development. For a long time, client side development was document based pages with some JS thrown in to make them snazzy. There was a period were there were other weird things being thrown in to work with web browsers. Java Applets, Flash, etc. At the beginning JavaScript was used a lot for the things we use CSS today.&lt;/p&gt;
&lt;p&gt;The meat and logic of web applications were made with backend languages like PHP, Ruby, Java, and others. This is what the &#39;real&#39; programmers did. These were the &#39;real&#39; programming languages. It wasn&#39;t until recently that this changed. With the release of Node.js and libraries like React, there&#39;s been a huge shift in the responsibilities of client vs server side programming. React has made front-end development super awesome, but at the same time super complicated.&lt;/p&gt;
&lt;h2&gt;Back-End Development&lt;/h2&gt;
&lt;p&gt;Server side web development is still the meat and potatoes of web programming today. Don&#39;t get fooled by the everything is JS/Node world. There&#39;s a whole lot to dive in here than just setting up routes with Express to serve JSON(aka APIs). Here is where you will encounter the use of other languages like PHP, Ruby, Python, Rust, and others.&lt;/p&gt;
&lt;h2&gt;Software Developer&lt;/h2&gt;
&lt;p&gt;This is a generic term. Same as Computer Programmer. Be careful with giving yourself this title because depending on the context, it could imply that you&#39;re more than just a web developer. Someone might ask you if you know Python and you could be like, &amp;quot;like the snake&amp;quot;.Saying that you&#39;re a Software Developer and you don&#39;t know what Python is like saying that you know about all the religions but have never heard of Islam. Awkward.&lt;/p&gt;
&lt;h2&gt;Software Engineer&lt;/h2&gt;
&lt;p&gt;According to Wikipedia, this seems to be at a higher level than Software Developer. &amp;quot;Software engineering is the systematic application of engineering approaches to the development of software.&amp;quot; I&#39;m interpreting this as someone that first, has a ton of experience, and two, knows a couple of different programming languages, and can architect and lead a project. However, I&#39;ve seen this used in the same  generic context as Software Development. I avoid calling myself this.&lt;/p&gt;
&lt;h2&gt;Front-End Engineer&lt;/h2&gt;
&lt;p&gt;Avoid it at all cost. If you see this job title, and you meet the requirements, then apply, but usually this is a unicorn position.&lt;/p&gt;
&lt;h2&gt;UX/UI Front-End Engineer&lt;/h2&gt;
&lt;p&gt;See Front-End Engineer. Avoid this one as well, no matter how great you are at Design, or how many times you read &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things&quot;&gt;The Design of Everyday Things&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Back-End Engineer&lt;/h2&gt;
&lt;p&gt;This might actually be more legit. If you know PHP and you&#39;re learning RUST, you should strive for this.&lt;/p&gt;
&lt;h2&gt;Dev-OPS&lt;/h2&gt;
&lt;p&gt;The CCNA of Back End development? AWS ninja? I really can&#39;t speak about this one. Seems like a super senior role for Back-End Developers to strive for.&lt;/p&gt;
&lt;h2&gt;Full Stack Developer&lt;/h2&gt;
&lt;p&gt;Up to you. This is tricky. For the most part being &#39;full-stack&#39; is a misnomer. I don&#39;t think any web developer is equally good at client side and server side coding. Think about that tho. That&#39;s like saying your 50% good on either. That&#39;s not good, that&#39;s mediocre. I would go with just Web Developer, but I understand that you want that extra dough and you want to communicate that you know how to deploy an app to Heroku.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I hope this helps someone out there. If there&#39;s one thing you should take away from this rant, is to start thinking about websites vs web apps. There&#39;s a lot there to unpack and I recommend doing some Google searching. I think this would start giving you more clarity as to why people are making websites, that are web apps, with React for say a Restaurant.&lt;/p&gt;
&lt;p&gt;I wrote this for people who have fallen into the world of web development, either by accident, or got shot into it like a rocket from a Bootcamp, who like me just wanted to make websites.&lt;/p&gt;
&lt;p&gt;Do your homework and learn your trade.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Reducing</title>
            <link href="https://yarocruz.netlify.app/posts/reducing/"/>
            <updated>2020-08-31T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/reducing/</id>
            <content type="html">&lt;p&gt;I&#39;ve known about the &lt;strong&gt;Array.reduce&lt;/strong&gt; method for a bit, but I had a superficial understanding of how it actually worked. All I knew was that it would take an array of values, and reduce it down to one value.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/sum-all-reduce.png&quot; alt=&quot;sum&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The example above is summing all the numbers in the array, but I mostly just had this memorized and when I saw examples of reduce being used for in other contexts I always got confused. It wasn&#39;t until recently when it all finally clicked. Specifically, it wasn&#39;t until I went through an &lt;a href=&quot;https://www.executeprogram.com/courses/javascript-array&quot;&gt;Execute Program&#39;s&lt;/a&gt; course on JavaScript arrays.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/imperative-reduce.png&quot; alt=&quot;code sample&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Lets break the above down a bit:&lt;/p&gt;
&lt;p&gt;We have an add function that can take two arguments, a and b, numbers basically, and return the addition of a and b. Easy peasy. We got an array of numbers [1, 20, 300, 400]. We&#39;re also starting a sum variable with a value of 0. Finally, we&#39;re doing a .forEach on the array of numbers and storing in the sum variable the return value sum + num, and num here is each number in the array. So in the first iteration we are doing 0 + 1, second iteration we are doing 1 + 20. Third, 21 + 300, and last iteration 321 + 400 which will equal in the end to 721.&lt;/p&gt;
&lt;p&gt;Another thing to note about the reduce function, is that it has a second optional argument for the starting accumulator value.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/reduce-breakdown-1.png&quot; alt=&quot;code sample&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If you omit the value, the accumulator value will start and take the value of the first item in the array.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/reduce-breakdown-2.png&quot; alt=&quot;code sample&quot; /&gt;&lt;/p&gt;
&lt;p&gt;With this one we will end up at 331.&lt;/p&gt;
&lt;p&gt;What about using reduce for other things other than math operations? This is when things start to get interesting. Have you ever tried to flatten an array of arrays into just one single array. Basically taking this [ [1, 3, &#39;pony&#39;], [1], [true]] into this [1, 3, &#39;pony&#39;, 1, true] with a for loop. Trust me, it&#39;s not fun. With reduce this is a bit straight forward.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://yarocruz.netlify.app/images/reduce-concat.png&quot; alt=&quot;code sample&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The above translates as first iteration [1].concat[2,3], then on second iteration the accumulator, the acc, is [1,2,3] and we concat [4] to it, and we end up with [1, 2, 3, 4]. We&#39;re giving an empty array[] as the second argument just in case you try to do reduce on an empty array. If you do try to reduce on an empty array without having a default value for the accumulator you will get a type error. For things like summing up an array of numbers it&#39;s safer to omit that second value, but with other operations it is best to to start with a value.&lt;/p&gt;
&lt;p&gt;Reduce is tricky, and it took me a while to finally get a grip on it, so I hope this helps clarify some of its nuances.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Checkins - #1</title>
            <link href="https://yarocruz.netlify.app/posts/checkins-1/"/>
            <updated>2020-08-18T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/checkins-1/</id>
            <content type="html">&lt;h1&gt;Books&lt;/h1&gt;
&lt;p&gt;Been thinking a lot about learning, deliberate practice, and learning how to learn. Particularly, I&#39;ve been searching for ways to study and practice coding. While a school curriculum can give you some guidance in the sense of &amp;quot;first learn this, then learn that&amp;quot;, I don&#39;t think we&#39;ve pinned down the optimal process of teaching and learning how to program. Well, maybe &lt;a href=&quot;https://cs50.harvard.edu/technology/2017/&quot;&gt;MIT professors are the closest&lt;/a&gt; to that optimal process. Still, many questions remain. How to you practice coding? Do you go to &lt;a href=&quot;https://www.codewars.com/dashboard&quot;&gt;Code Wars&lt;/a&gt;, &lt;a href=&quot;https://www.hackerrank.com/&quot;&gt;HackerRank&lt;/a&gt;, and the like to level up your skills? Do you study and read books? Watch video courses? When you start thinking about it you realize there is no one straight forward path you can take. The best we&#39;ve come up with, at least in the Web Development world, has been &lt;a href=&quot;https://github.com/kamranahmedse/developer-roadmap&quot;&gt;this&lt;/a&gt;. How do you even start?&lt;/p&gt;
&lt;p&gt;I recently read two books that are starting to give me some ideas on how to structure my learning process. The first one is &lt;a href=&quot;https://www.goodreads.com/book/show/44770129-ultralearning&quot;&gt;Ultralearning&lt;/a&gt;. The book is by &lt;a href=&quot;https://www.scotthyoung.com/blog/&quot;&gt;Scott H Young&lt;/a&gt; who&#39;s known for doing the &lt;a href=&quot;https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/&quot;&gt;MIT Challenge&lt;/a&gt; where he completed the 4-year MIT curriculum in 12 months. There&#39;s a lot of actionable things I&#39;m starting to apply to my studies. I highly recommend the book. His blog is also excellent.&lt;/p&gt;
&lt;p&gt;The second book is &lt;a href=&quot;https://www.goodreads.com/book/show/22709382-a-mind-for-numbers&quot;&gt;A Mind for Numbers&lt;/a&gt;. The book has very similar principles to Ultralearning, but less focused on fast learning. It&#39;s aimed at Math and Science students, but you can apply the lessons in the book to any discipline, specially Programming.&lt;/p&gt;
&lt;p&gt;I also read Orielly&#39;s newest edition of &lt;a href=&quot;https://www.goodreads.com/book/show/51649796-learning-react&quot;&gt;Learning React&lt;/a&gt;. This book is superb, and forward thinking.&lt;/p&gt;
&lt;h1&gt;Movies&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Jojo_Rabbit&quot;&gt;Jojo Rabbit&lt;/a&gt; is a magnificent piece of cinema. Please give it all the awards. It&#39;s an incredibly sweet and wonderful movie.&lt;/p&gt;
&lt;p&gt;I always knew about &lt;a href=&quot;https://en.wikipedia.org/wiki/Akira_(1988_film)&quot;&gt;Akira&lt;/a&gt; but for some reason never made the time to watch it. I wish someone would have pressured me into watching this sooner.&lt;/p&gt;
&lt;h1&gt;Projects&lt;/h1&gt;
&lt;p&gt;Speaking of React, I started a project I un-creatively named &lt;a href=&quot;https://github.com/yarocruz/channel&quot;&gt;Channel&lt;/a&gt;. It&#39;s an RSS reader, right now a super basic RSS reader, but I&#39;m having lots of fun building it. I&#39;m trying to add the typical features you see in apps like &lt;a href=&quot;https://feedly.com/&quot;&gt;Feedly&lt;/a&gt; or &lt;a href=&quot;https://ranchero.com/netnewswire/&quot;&gt;NewNewsWire&lt;/a&gt;. There&#39;s still a lot to do, but it&#39;s currently in a decent working state. You can checkout the demo &lt;a href=&quot;https://yarocruz.github.io/channel/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Links&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://robertheaton.com/pfab/&quot;&gt;Programming for Advanced Beginners&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://masteringnextjs.com/&quot;&gt;Mastering Next JS Course&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://buildingspastraining.teachable.com/courses/902260/lectures/16609688&quot;&gt;TypeScript Course&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://systemuicons.com/?utm_source=hackernewsletter&amp;amp;utm_medium=email&amp;amp;utm_term=design&quot;&gt;System Ui Icons&lt;/a&gt; - So fresh and so clean.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://web.dev/one-line-layouts/?utm_source=hackernewsletter&amp;amp;utm_medium=email&amp;amp;utm_term=design&quot;&gt;Ten Modern Layout in on Line of CSS&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Web Programming is Hard</title>
            <link href="https://yarocruz.netlify.app/posts/web-programming-is-hard/"/>
            <updated>2020-08-02T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/web-programming-is-hard/</id>
            <content type="html">&lt;p&gt;It&#39;s probably safe to say that most people that get into (or try to get into) Web Development don&#39;t have a background in Computer Science. The typical story is that people discover HTML and CSS, they make a website, and from that moment on they&#39;re hooked. That was certainly my story. It&#39;s a bit more complicated than that in my case, because I&#39;ve been circling around tech stuff for almost 20 years, but the basic gist of how I got interested in Web Development was playing around with HTML and CSS.&lt;/p&gt;
&lt;p&gt;The barrier to entry to start learning Web Development is zero. Anybody can learn to code. You hear about people who are self-taught, start businesses, or find jobs as Software Engineers earning 6 figures. I&#39;m sure that it&#39;s happened to many people, probably still happens, but I think this is rarer than people think. The people that get there are ultra self-determined folks who truly worked hard and these people are not the norm. They did their home work and they understood that what they where learning and trying to do was Computer Programming.&lt;/p&gt;
&lt;p&gt;This brings me to the main idea I want to explore and why I think people that attempt to do Web Development reach a barrier in their learning journey. Some get over it, some drop out, but the main idea is that this barrier is particularly difficult for a non computer science person.&lt;/p&gt;
&lt;h2&gt;Websites vs Applications&lt;/h2&gt;
&lt;p&gt;One thing you&#39;ve might&#39;ve heard or read is that &#39;HTML and CSS&#39; are not programming languages. Rightly, you took this as coders just being snobby douches. The truth is, besides HTML forms, and other &#39;programmatic&#39; behaviors embedded in markup, there&#39;s very little &#39;programming&#39; when writing HTML. CSS gets closer to programming, specially now a days, but in the end, it&#39;s still just markup describing what your document(your HTML document) should look like. Now JavaScript is a programming language, specially today, but for a long time it was merely just considered a scripting language. For someone just making a website, you would pickup JavaScript to do DOM manipulation(manipulate HTML elements) to make a button reveal something, or make an image slider. And that was it. You got yourself a website. An HTML document with hypertext, some styles and some JS to make the buttons do stuff.&lt;/p&gt;
&lt;p&gt;This might sound silly, but I think a lot of people that get into Web Development either never understand the difference between a website and an application, or they take longer to make that distinction. They might now there&#39;s a distinction, but only to a superficial level. It certainly took me a while. Because there was a time where you could be just either a Web Designer, or a Front-End / Client side Web Developer that just made websites. Twenty years ago, to make a Web Application, you had to learn about Servers and you had to learn programming languages made for server side development like PHP and Ruby, and you had to learn about Databases. But now, we have things like React, which help you make an application on the client side.&lt;/p&gt;
&lt;p&gt;This is confusing. Jumping from making websites to making web apps is not as straightforward as, again, someone who&#39;s learning Python, or C++ for their Computer Science degree. They know they have to give their computer detailed instructions to make stuff happen. They have to write ultra detailed instructions.&lt;/p&gt;
&lt;p&gt;I&#39;m not saying that having a computer science degree will make learning Web Development automatically easier than someone who doesn&#39;t. There are plenty of people with computer science degrees who can&#39;t program squat. But those who did get exposed to it and actually learned something, could probably learn something like React quicker and have the Math background to not cry when attempting Data Structures and Algorithm tests.&lt;/p&gt;
&lt;h2&gt;Jumping Over the Barrier or Pivoting&lt;/h2&gt;
&lt;p&gt;While I was doing my degree in Interactive Design, I thought I was good at Designing. I was particularly interested in Web Design and I was obsessed with CSS for a while. Like, I cared about the aesthetics and the user experience. I still care about that, but I love coding more than I love making wireframes and website mockups. And once I started venturing a little further than just markup and basic DOM manipulation with JavaScript, reading about frameworks, Node, NPM and all this other stuff, I was hooked. This was the moment when I decided to focus on Web Development.&lt;/p&gt;
&lt;p&gt;Hoping this helps and gives some comfort for those going through a similar journey. This stuff isn&#39;t easy. I takes longer to get a least decent at it. It takes longer than people assume. It&#39;s also perfectly ok to realize that some aspects of web programming are not for you. You can always transfer some of the skills you gained into something that you actually enjoy. Maybe some people are at the opposite spectrum of where I&#39;m at were they do enjoy more the design aspects of web development. Though I&#39;m not sure about the status of Web Designer as thing today, it is possible to just make websites and specialize on making them look and work great. Look into peeps like &lt;a href=&quot;https://bradfrost.com/&quot;&gt;Brad Frost&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Leveling Up</title>
            <link href="https://yarocruz.netlify.app/posts/leveling-up/"/>
            <updated>2020-07-24T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/leveling-up/</id>
            <content type="html">&lt;p&gt;I&#39;ve been stuck in &lt;a href=&quot;https://yarocruz.github.io/the-valley-of-despair/&quot;&gt;the Valley&lt;/a&gt; but I&#39;m trying to move forward. I&#39;m trying to get to that Slope of Enlightenment.&lt;/p&gt;
&lt;p&gt;Been going back to the drawing board. Getting back to the fundamentals and whatnot. I recently finished reading the newest editions of the two &lt;a href=&quot;https://www.amazon.com/You-Dont-Know-JS-Yet-ebook/dp/B084BNMN7T/ref=sr_1_1_sspa?crid=1FOS8KE9WWYAJ&amp;amp;dchild=1&amp;amp;keywords=you+don%27t+know+js&amp;amp;qid=1595638846&amp;amp;sprefix=you+don%2Caps%2C172&amp;amp;sr=8-1-spons&amp;amp;psc=1&amp;amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzMVVNRVJOU05VUVVQJmVuY3J5cHRlZElkPUEwMzUyMTUyMVQwNDdPVFM1NEpCUSZlbmNyeXB0ZWRBZElkPUEwNDg5OTQ4M1VRRUhNS0o5UkNFOSZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=&quot;&gt;You Don&#39;t Know JS Yet series&lt;/a&gt; books. Your mileage may vary depending on how long you&#39;ve been writing JavaScript if you decide on picking these up, but I still recommend them, if you want to get a stronger foundation with JS. You can checkout the &lt;a href=&quot;https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/README.md&quot;&gt;previous editions&lt;/a&gt; as well.&lt;/p&gt;
&lt;p&gt;I finished doing a &lt;a href=&quot;https://www.udemy.com/course/become-a-wordpress-developer-php-javascript/&quot;&gt;WordPress Course on Udemy&lt;/a&gt; and reverse engineered the project a bit and made a super basic theme I named &lt;a href=&quot;http://jayc1.sgedu.site/&quot;&gt;Austerus&lt;/a&gt;. Help, I&#39;m obsessed with the word austere for some reason.&lt;/p&gt;
&lt;p&gt;I started this &lt;a href=&quot;https://github.com/yarocruz/fundamentals&quot;&gt;repo&lt;/a&gt; because I thought that I could do Twitch, but I mostly started it to just keep myself active on Github. Gotta keep making those commits. I wrote about &lt;a href=&quot;https://yarocruz.github.io/fundamentals/&quot;&gt;variables&lt;/a&gt;. I&#39;ve been taking a stab at teaching as a way to learn and solidify my knowledge, but man, this stuff takes quite some time.&lt;/p&gt;
&lt;p&gt;I finished the &lt;a href=&quot;https://www.freecodecamp.org/learn&quot;&gt;FCC JavaScript Algorithms&lt;/a&gt; course.&lt;/p&gt;
&lt;p&gt;I&#39;ve been playing with the idea of making an &lt;a href=&quot;https://github.com/yarocruz/austere-reader&quot;&gt;RSS Reader web app&lt;/a&gt; because I really miss Web 2.0. Like, do you guys remember when you saw &lt;a href=&quot;http://last.fm/&quot;&gt;Last.fm&lt;/a&gt; for the first time, Digg, and FriendFeed? Remember Delicious? God I miss those days and just aged myself. About the RSS app tho, I&#39;m still researching the logistics. I&#39;ve seen some cool ones made with React and Vue. I&#39;ve been taking a look at &lt;a href=&quot;https://feedly.com/&quot;&gt;Feedly&lt;/a&gt;. What I&#39;m trying to figure out is if some feeds don&#39;t adhere to the RSS spec? This is still something that I&#39;m incubating.&lt;/p&gt;
&lt;p&gt;I have about 13 unfinished courses on &lt;a href=&quot;https://www.udemy.com/&quot;&gt;Udemy&lt;/a&gt; of the 19 that I have.&lt;/p&gt;
&lt;p&gt;I also have &lt;a href=&quot;https://app.pluralsight.com/library/&quot;&gt;Pluralsight&lt;/a&gt;. They had a lot of deals the past months.&lt;br /&gt;
They got some good quality stuff there.&lt;/p&gt;
&lt;p&gt;I bought two O&#39;Reilly books, &lt;a href=&quot;https://www.amazon.com/dp/1492051721/ref=nav_timeline_asin?_encoding=UTF8&amp;amp;psc=1&quot;&gt;Learning React&lt;/a&gt;, and &lt;a href=&quot;https://www.amazon.com/dp/B07R86FL4K/ref=nav_timeline_asin?_encoding=UTF8&amp;amp;psc=1&quot;&gt;Programming TypeScript&lt;/a&gt;. I&#39;m loving the Learning React one.&lt;br /&gt;
The chapter on functional programming, composing, and Higher Order Components is fire.&lt;/p&gt;
&lt;p&gt;I&#39;m been playing a bit with PHP and Python on the side as well.&lt;/p&gt;
&lt;p&gt;I&#39;m all over the place.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Valley of Despair</title>
            <link href="https://yarocruz.netlify.app/posts/the-valley-of-despair/"/>
            <updated>2020-07-02T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-valley-of-despair/</id>
            <content type="html">&lt;img src=&quot;https://yarocruz.netlify.app/images/the-valley.png&quot; alt=&quot;Dunning Kruger Effect Curve&quot; /&gt;
&lt;p&gt;I got an email stating that I&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;...did not meet the required score to be considered for Google. However, you do have one more attempt to retake the assesment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The test was provided by &lt;a href=&quot;https://app.codesignal.com/&quot;&gt;Code Signal&lt;/a&gt; and it was for an application for the Google Mentorship program. I recently got emailed by my profile coach a list of companies that you could submit forms and applications. A profile coach by the way is part of the career services my Coding Bootcamp provides and she&#39;s been nothing but awesome helping me with my job search.&lt;/p&gt;
&lt;p&gt;I wasn&#39;t surprised that I didn&#39;t pass the test. The test had two algorithmic problems, one HTML + CSS problem where you had to make a stop light which I skipped, and one multiple choice question. You had an hour and thirty minutes to complete it. It took me 45 minutes to solve FizzBuzz! And I have solved FizzBuzz before! I just got stuck on it because I had the condition of (num % 3 === 0 &amp;amp;&amp;amp; num % 5 === 0) after an else if instead of having it at the top.&lt;/p&gt;
&lt;p&gt;I&#39;m definitely going to retake the test because why not. But it is highly unlikely that I&#39;ll get hired by Google, as an Engineer, at least at the moment. Not impossible, but again, highly unlikely. That&#39;s next level, and I&#39;m not there at all. Not even close. Why I think this way? Math, that&#39;s why.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Let&#39;s talk a bit about Math&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ve been going through &lt;a href=&quot;https://www.freecodecamp.org/learn&quot;&gt;Free Code Camp&#39;s curriculum&lt;/a&gt;. Particularly the JavaScript Algorithms and Data Structures Certification. I blazed through everything until I got to Intermediate Algorithm Scripting. I takes me hours or a day to solve just one! Some of the problems I ended up looking up the solution. I do give them a good try, sometimes getting super close, but some are way above my math skills and my math skills are at the level where I have to Google the words factorial and prime.&lt;/p&gt;
&lt;p&gt;When I was more focused on being just a Web Designer, or just an old school Front End Developer, you know, before React made Front End more complicated, I knew I didn&#39;t have to concern myself too much with the Mathy aspects of Programming. I&#39;m not particularly interested in making a game, a desktop application, or anything where I have to be too concerned about memory heaps or things that are close to the metal. People in the industry say it all the time. &amp;quot;You just need to be good at logical thinking, and sometimes not even that much&amp;quot;, they say. I agree with this and it is mostly true to a certain extent, specifically for web programming, but then sometimes it is not.&lt;/p&gt;
&lt;p&gt;The thing is Maths helps. I have slowly begun to accept this. Web dev for the past couple years has become more like close-to-the-metal coding. You still can just make websites, do only the &amp;quot;front of the front&amp;quot;, only concerning yourself with markup, style, and some JS to make the buttons do the things. But a website that isn&#39;t also an application is becoming more and more rare. Being just a web designer is also in my opinion becoming less of a thing.&lt;/p&gt;
&lt;p&gt;To get back to the screenshot of the Dunning-Kruger Effect and how I&#39;m connecting it with Math and Web Development... I&#39;m just trying to articulate it the best I can, but I think the notion of the &lt;strong&gt;valley of despair&lt;/strong&gt; communicates clearly what it is to be a Bootcamp grad in 2020. I found the picture while skimming through &lt;a href=&quot;https://www.learninpublic.org/v1-careers-junior-to-senior.pdf&quot;&gt;this PDF&lt;/a&gt; a free chapter for the &lt;a href=&quot;https://www.learninpublic.org/&quot;&gt;Coding Career Handbook&lt;/a&gt; I also watched &lt;a href=&quot;https://www.youtube.com/watch?v=b73tkQuASxQ&amp;amp;t=318s&quot;&gt;this video&lt;/a&gt; and thought that the guy really hit the nail. Demand is simply low for entry level peeps.&lt;/p&gt;
&lt;p&gt;I&#39;m gonna battle through the valley though. I&#39;m gonna buckle down and keep fighting. I&#39;m going to keep learning. I&#39;m gonna set some time to go through some &lt;a href=&quot;https://www.khanacademy.org/math&quot;&gt;Khan Academy&lt;/a&gt; videos. I&#39;ll get there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://app.codesignal.com/&quot;&gt;Code Signal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.freecodecamp.org/learn&quot;&gt;Free Code Camp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.learninpublic.org/v1-careers-junior-to-senior.pdf&quot;&gt;From Junior to Senior&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.learninpublic.org/&quot;&gt;Coding Career Handbook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=b73tkQuASxQ&amp;amp;t=318s&quot;&gt;Coding Bootcamps: From $0 to $100k in 12 Weeks?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.khanacademy.org/math&quot;&gt;Khan Academy&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Learning In Public</title>
            <link href="https://yarocruz.netlify.app/posts/learning-in-public/"/>
            <updated>2020-06-29T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/learning-in-public/</id>
            <content type="html">&lt;p&gt;I&#39;m so glad I found &lt;a href=&quot;https://www.taniarascia.com/&quot;&gt;Tania Rascia&#39;s site&lt;/a&gt;. There are many developers out there who do written tutorials, but her &lt;a href=&quot;https://www.taniarascia.com/guides&quot;&gt;guides&lt;/a&gt; are just superb, at least the ones I&#39;ve gone through so far. Her &lt;a href=&quot;https://www.taniarascia.com/getting-started-with-react/&quot;&gt;intro to React&lt;/a&gt; is one of the best out there. She recently redesigned her site &lt;a href=&quot;https://www.taniarascia.com/another-website-redesign/&quot;&gt;and wrote about it&lt;/a&gt;. Her site is super slick and clean. She inspires me to follow in her footsteps of learning in public here with this blog.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Be Patient</title>
            <link href="https://yarocruz.netlify.app/posts/be-patient/"/>
            <updated>2020-06-28T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/be-patient/</id>
            <content type="html">&lt;p&gt;I finished re-reading Cal Newport&#39;s &lt;a href=&quot;https://www.amazon.com/Good-They-Cant-Ignore-You-ebook/dp/B0076DDBJ6/ref=tmm_kin_swatch_0?_encoding=UTF8&amp;amp;qid=&amp;amp;sr=&quot;&gt;So Good they Can&#39;t Ignore You&lt;/a&gt; a couple of days ago. Been thinking a lot lately about how people become wickedly good at what they do. I&#39;m just trying to grab some ideas that I can put into practice in my own learning journey. Here&#39;s a great quote in So Good they Can&#39;t Ignore You that&#39;s pretty much the basis for the book title.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In his 2007 interview with Charlie Rose, here&#39;s how Steve Martin explained his strategy for learning the banjo: &amp;quot;[I thought], if I stay with it, then one day I will have been playing for forty years, and anyone who sticks with something for forty years will be pretty good at it.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
        </entry>
        
        <entry>
            <title>So You Graduated from A Bootcamp</title>
            <link href="https://yarocruz.netlify.app/posts/so-you-graduated-from-a-bootcamp/"/>
            <updated>2020-06-27T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/so-you-graduated-from-a-bootcamp/</id>
            <content type="html">&lt;p&gt;I&#39;m finally done with the Bootcamp. My last day was on June 17, 2020. I gave myself some time before writing anything here because I wasn&#39;t clear on how I felt in the end. I&#39;m still not entirely clear if I&#39;m honest. I&#39;m trying to figure it out as I write this. It just felt so underwhelming. The last group project wasn&#39;t something I was entirely digging. I&#39;m happy and proud that I finished the program, but I wasn&#39;t in the spirit of celebrating at the moment.&lt;/p&gt;
&lt;p&gt;I don&#39;t regret doing the Bootcamp either. There&#39;s no doubt in my mind that it was the right thing for me. It was specially beneficial during the pandemic to have something to focus on, being that I got furloughed from my job. I learned a ton. But I still wouldn&#39;t recommend a Bootcamp to someone who is just &#39;interested in learning to code to get a high paying job&#39;. Some day I hope on writing my own comprehensive &amp;quot;Should You Do a Coding Bootcamp?&amp;quot; post.&lt;/p&gt;
&lt;p&gt;So now what? Well, that&#39;s what I&#39;m trying to figure out. One thing I&#39;m battling with right now is with being a &amp;quot;junior&amp;quot;, a term I&#39;m starting to despise and trying to get away from as soon as possible. I&#39;m also accepting the fact that there are &amp;quot;seniors&amp;quot; in the industry who simply are going to have a low opinion of Bootcamp Grads. (Picture me air quoting the words &amp;quot;junior&amp;quot; and &amp;quot;senior&amp;quot;.)&lt;/p&gt;
&lt;p&gt;The main issue to battle through is with showing people that yes, there&#39;s still a shit ton of things I don&#39;t know, but I know way more than what you think I don&#39;t know.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 22 and 23ish</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-22-and-23ish/"/>
            <updated>2020-06-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-22-and-23ish/</id>
            <content type="html">&lt;p&gt;It&#39;s crunch time. Just five more days to go and we&#39;re done with the Bootcamp.&lt;br /&gt;
This will span a bit over a week since the last official day of class is on&lt;br /&gt;
June 15, 2020.&lt;/p&gt;
&lt;p&gt;Things have gotten a bit rough for me for the past week or so. I thought that by this point I would be close to being job ready. I&#39;ve&lt;br /&gt;
been applying to jobs since February, but I have only landed one interview.&lt;br /&gt;
I&#39;ve lost count on how many applications I&#39;ve done by this point. The feedback&lt;br /&gt;
I have received back from some people in the industry has been positive overall,&lt;br /&gt;
but it&#39;s been more in the lines of &#39;you still got a lot to learn kid&#39; kind&lt;br /&gt;
of feedback. So I&#39;m feeling a bit discouraged. Ego is a bit down.&lt;/p&gt;
&lt;p&gt;I&#39;m hanging in there, but I&#39;m struggling. The past few days of the Bootcamp&lt;br /&gt;
has been dedicated to the final group project and to brief lectures on the more&lt;br /&gt;
advanced Computer Science stuff like Big O Notation, Data Structures, and Algorithms.&lt;br /&gt;
I understand the general ideas, and why this stuff matters in terms of code&lt;br /&gt;
efficiency, I would totally fail at a whiteboarding interview where I&#39;m asked&lt;br /&gt;
to refactor code to make it more efficient.&lt;/p&gt;
&lt;p&gt;The last project and last assignments we have to turn in are MERN apps. I thought&lt;br /&gt;
I had a good handle on server side development, but serving routes and then&lt;br /&gt;
consuming them on the client side is still a bit fuzzy on my brain.&lt;/p&gt;
&lt;p&gt;I think I&#39;m a bit burnt out.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 21</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-21/"/>
            <updated>2020-05-24T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-21/</id>
            <content type="html">&lt;p&gt;Week 21 was a shorter week. Technically, we&#39;re still not done with the week.&lt;br /&gt;
It just got cut short to two days because of memorial day weekend.&lt;/p&gt;
&lt;p&gt;We started the week with an introduction to the MERN stack. This means&lt;br /&gt;
we will be putting together a React application with Express and Mongo to&lt;br /&gt;
hook it up to a database. We went through some exercise examples to see&lt;br /&gt;
how this can be done. It&#39;s all stuff we have already covered. Creating&lt;br /&gt;
Model Schemas with Mongoose. Setting up servers and routes with Express.&lt;br /&gt;
The only difference is that we will be doing the client side with React.&lt;/p&gt;
&lt;p&gt;We only have two projects left, one final homework and one final group project.&lt;br /&gt;
They gave us some starter code to start our projects, with scripts in the&lt;br /&gt;
package.json files that always got to the root of the project to start the&lt;br /&gt;
server with Nodemon.&lt;/p&gt;
&lt;p&gt;Only three weeks left. There are only two more lecture classes left. We&#39;re&lt;br /&gt;
going to cover Sorting Algorithms and Big O Notation. After that it&#39;s just&lt;br /&gt;
project work.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 20</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-20/"/>
            <updated>2020-05-16T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-20/</id>
            <content type="html">&lt;p&gt;Week 20 was React Hooks week. We started with the &lt;strong&gt;useState&lt;/strong&gt; hook and&lt;br /&gt;
how it compares to using state with class based components. I like&lt;br /&gt;
functional based components with Hooks so much better. It is way cleaner,&lt;br /&gt;
you don&#39;t have to use the &#39;this&#39; keyword, and they are simply easier to understand.&lt;br /&gt;
I do wonder however how other students absorbed the different ways of doing things in&lt;br /&gt;
React, since we only spent 3 days using class based components.&lt;/p&gt;
&lt;p&gt;We also did some exercises with the &lt;strong&gt;useEffect&lt;/strong&gt; hook, which is the hook&lt;br /&gt;
that gives you access to component lifecycle methods like &lt;strong&gt;componentDidMount&lt;/strong&gt;&lt;br /&gt;
For example, we used useEffect to make API calls after a component renders.&lt;br /&gt;
The useEffect function can be tricky because it takes a second optional argument,&lt;br /&gt;
or sometimes &lt;strong&gt;not optional&lt;/strong&gt; if you don&#39;t want infinite re-renders.&lt;br /&gt;
The last thing we looked on day one was how to create custom hooks and a brief intro to &lt;strong&gt;createContext&lt;/strong&gt; with&lt;br /&gt;
the &lt;strong&gt;useContext&lt;/strong&gt; hook.&lt;/p&gt;
&lt;p&gt;Day 2 of Week 20 was all about Context. We used the &lt;strong&gt;createContext&lt;/strong&gt; API&lt;br /&gt;
paired with the &lt;strong&gt;useContext&lt;/strong&gt; hook. We first worked with an example&lt;br /&gt;
exercise were we &amp;quot;prop-drilled&amp;quot; through components until we got to the final child&lt;br /&gt;
component that needed to use state. The &lt;strong&gt;createContext&lt;/strong&gt; api is really cool&lt;br /&gt;
once you understand how it works. Prop drilling is a pain, so it&#39;s really&lt;br /&gt;
nice to skip all the components that don&#39;t really need to use a piece of&lt;br /&gt;
state. We ended day 2 with examples of using context dynamically and using&lt;br /&gt;
multiple contexts.&lt;/p&gt;
&lt;p&gt;On day 3 we looked at state management using useReducer and putting all&lt;br /&gt;
these Hooks together to basically do &lt;a href=&quot;https://redux.js.org/&quot;&gt;Redux&lt;/a&gt;&lt;br /&gt;
with Hooks. We also worked with &lt;strong&gt;useRef&lt;/strong&gt;. I&#39;m not entirely sure if a library&lt;br /&gt;
like Redux would be something that you would still use if you&#39;re doing React with&lt;br /&gt;
just functional components, but it looks like it&#39;s becoming the way to do it with hooks.&lt;br /&gt;
We ended the day with a Mini Project, that wasn&#39;t really that &amp;quot;mini&amp;quot;, where&lt;br /&gt;
we had to add state management to a CMS blogging tool.&lt;/p&gt;
&lt;p&gt;There was a lot this week. There&#39;s still stuff I&#39;m processing. The createContext&lt;br /&gt;
stuff, mixed with the state management stuff with useReducer is tricky, but I feel&lt;br /&gt;
that I&#39;m finally beginning to really know React. Like, I think I rocked&lt;br /&gt;
this &lt;a href=&quot;https://yarocruz.github.io/react-employee-directory/&quot;&gt;Employee Directory&lt;/a&gt;&lt;br /&gt;
project. I started it out as class based, but was surprised how easy&lt;br /&gt;
it was to convert into a Hook based component with &lt;strong&gt;useState&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I can&#39;t believe I&#39;m almost done with this Bootcamp. In the coming weeks we&#39;re&lt;br /&gt;
gonna look at the MERN stack and start working on our final projects.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 19</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-19/"/>
            <updated>2020-05-10T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-19/</id>
            <content type="html">&lt;p&gt;We&#39;re finally on React. I&#39;m loving it. I have been tinkering with React for a couple of years, maybe since 2017, and I&#39;ve gone through many tutorials where I learned the basics. The first time I attempted their &lt;a href=&quot;https://reactjs.org/tutorial/tutorial.html&quot;&gt;Tic Tac Toe tutorial&lt;/a&gt; was rough and I got stuck halfway through. But on my second try I got it working. I have built a couple of &lt;a href=&quot;https://yarocruz.github.io/the50states/&quot;&gt;small projects&lt;/a&gt; wit React as well. In sum, I&#39;m not entirely new to React, so this week went buttery smooth for me.&lt;/p&gt;
&lt;p&gt;On day one we went through the very basics and jumped right in with using create-react-app. We created our first functional components with JSX. We were shown how to style JSX elements and use { expressions } within JSX.&lt;/p&gt;
&lt;p&gt;Day two we did props and state with class based Components. We did the classic increment and decrement counter exercise and ended the day working with a Friendlist app that grabbed local data from a JSON file and rendered them individually into FriendListCard components.&lt;/p&gt;
&lt;p&gt;On the final day we worked with forms, onChange handlers, used Axios to make API calls, and we were introduced to ReactRouter.&lt;/p&gt;
&lt;p&gt;This was a lot condensed into three days. React is described as a simple library for creating user interfaces, and it is, but that&#39;s only if you&#39;re at least decent at JavaScript. I remember the first time I tried out React I was completely baffled by it, but that&#39;s because I didn&#39;t have the fundamentals of JS locked down yet. For example, if you don&#39;t understand the basics of classes and class constructors, the whole class based components thing, with the &lt;strong&gt;this&lt;/strong&gt; keyword jumping around everywhere, &lt;strong&gt;this&lt;/strong&gt; is gonna be very confusing. See what I did there?&lt;/p&gt;
&lt;p&gt;Next week we&#39;re jumping into Hooks and it looks like the remainder of the Bootcamp will be React based.&lt;/p&gt;
&lt;p&gt;Only 5 weeks to go!&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>How To Learn to Code, For Real</title>
            <link href="https://yarocruz.netlify.app/posts/how-to-learn-to-code-for-real/"/>
            <updated>2020-05-08T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/how-to-learn-to-code-for-real/</id>
            <content type="html">&lt;p&gt;The following list is a jumble of tips, ideas, and musings about what has helped me in my journey to learning to code. Some of them seem obvious, but you know what they say about obvious things.&lt;/p&gt;
&lt;img src=&quot;https://yarocruz.netlify.app/posts/images/mavis-beacon.jpg&quot; alt=&quot;Mavis Beacan Typing package CD-ROM software&quot; /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Learn to type. Seriously, like really learn to type. Get a Mavis Beacon CD-ROM. Lol. Go to &lt;a href=&quot;https://typing.io/&quot;&gt;typing.io&lt;/a&gt; if you never have, take a test, cry a little, and then take another one, and do another one until you get competent. If you&#39;re always pecking your keyboard you&#39;re not gonna get too far as a coder no matter how much intellisence your editor has.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write code by hand occasionally. Yes, just with pencil and paper. Don&#39;t go crazy and write like 500 lines, but write little blocks at a time. Write an old-school for loop in a notebook that console.logs the string &amp;quot;papi&amp;quot; 10 times. See if you can do that by memory with just pencil and paper. No syntax highlighting. For example, when I started learning the ES6 reduce array method it wasn&#39;t until I wrote it by hand that I got a birds eye view of how it works.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write code in Textedit, Notepad, or just write plain text in your Editor. Similar to writing by hand, forcing yourself to type from memory, without syntax highlighting, and without all the cool enhancements that Text Editors and IDE&#39;s provide helps a lot when learning the basics of syntax.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;White-board code. I haven&#39;t been doing this as much, but our Bootcamp provided us with small whiteboards to do pseudo coding and it helps. It has the same effect as writing code in pen and paper. I haven&#39;t experienced it myself, but I&#39;ve been told that some coding job interviews ask you to whiteboard up a coding problem.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read code. Decode code. Specially other peoples code. If you&#39;re on Github find a JavaScript project and take some time to just read code. Take this even further and write a &amp;quot;code manual&amp;quot; to explain what the code is doing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comment your code. I&#39;m still trying to get better at this myself. Get in the habit of doing this earlier than later. Your code is going to be looked at in the future either by someone else or your future self. Be consistent with your code formatting as well.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;As soon as you get a chance, work with another coder. Getting a second perspective, seeing how another person thinks and writes code bumps up your neural paths when you&#39;re learning this stuff.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Debug code. Related to the above, as soon as you get a chance, debug code. Try to see if you can help somebody out with their code. Fix code. Learn about refactoring.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try another language. Nothing crazy. Just an intro. Do a hello world in another language. Do an intro to Python, PHP, or Ruby. Pick one that you&#39;re curious about. For example, the dot &lt;strong&gt;[.]&lt;/strong&gt; to concatenate strings in PHP made way much more sense to me for some reason than using the + sign in JS. This gave my brain a good &amp;quot;map&amp;quot; between those two syntactical differences. Tho I avoid as much as I can concatenating strings and instead use template literals.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Finally, learn your Text Editor / IDE. I recommend to only start digging deep into IDE magic only when you&#39;ve reached a competent level with your typing. Do learn your basic shortcuts while you&#39;re starting, and please let Emmet do its magic. But don&#39;t get into the more advanced stuff if you&#39;re still a pecker. For me you&#39;re a competent typer when you don&#39;t have to peek at the key&#39;s to find where the letter z is. You&#39;re decent when you don&#39;t think about typing when you&#39;re typing. Only after you reached that level I recommend digging into snippets, learning shorthands like &lt;strong&gt;.div.container.flex.font-black&lt;/strong&gt; and press the Tab key in an HTML file. You&#39;re welcome. Learn to multi select. Customize your editor to your liking. Add formatting tools like Prettier if you haven&#39;t already. Learn your tool.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 18</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-18/"/>
            <updated>2020-05-02T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-18/</id>
            <content type="html">&lt;p&gt;Week 18 was progressive web app week. We started the week learning to use tools like &lt;a href=&quot;https://web.dev/measure/?gclid=Cj0KCQjwtLT1BRD9ARIsAMH3BtU7dySQzzHOZIUaeyEdCRdNkGi77-UqDIbB_4_ZTZQp8TgOAco3R0gaAlhHEALw_wcB&quot;&gt;Google Lighthouse&lt;/a&gt; to checkout how our websites measure up in terms of performance and accessibility. We looked at minifying and compressing files. We also worked with online tools to compress image files. I finally have a better understanding of what lazy loading is. I tested one of my apps and I got a 42 in performance, but by the end of the class I managed to bump that up to the 90&#39;s after adding a compression middleware.&lt;/p&gt;
&lt;p&gt;On day 2 of Week 18 we started with actual progressive web apps and what that means. First off, it has nothing to do with politics. It&#39;s about making your app more flexible by making it able to work outside a browser and / or still work if there&#39;s no network. I had seen a web manifest before, but I always thought that had something to do with SEO. By giving an app a manifest, which is JSON file, the app can be downloaded to your mobile device for example.&lt;/p&gt;
&lt;p&gt;We also learned about service workers, a utility-like script that can assist a web app in making data persistent by using browser api&#39;s like indexedDB and caching to make the app keep working even if it&#39;s offline. This was a thing I was sort of familiar with by seeing them when using create-react-app, but now I know what they&#39;re actually for.&lt;/p&gt;
&lt;p&gt;Finally we covered &lt;a href=&quot;https://webpack.js.org/&quot;&gt;Webpack&lt;/a&gt;, one of my absolute favorite things ever since going through &lt;a href=&quot;https://www.youtube.com/watch?v=3On5Z0gjf4U&amp;amp;list=PLblA84xge2_zwxh3XJqy6UVxS60YdusY8&quot;&gt;Colt Steele&#39;s Webpack Course&lt;/a&gt;. We went from basic configuration to using Babel plugins to be able to use modern ES6 import/export syntax.&lt;/p&gt;
&lt;p&gt;One of the reasons they showed us Webpack was for us to get a better idea at what a tool like create-react-app is using and already doing for you behind the scenes.&lt;/p&gt;
&lt;p&gt;I&#39;m super stoked to start working with React. I think we&#39;re going to be in React land for the remaining of the Bootcamp, which is only 5 more weeks.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 17</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-17/"/>
            <updated>2020-04-25T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-17/</id>
            <content type="html">&lt;p&gt;First day of week 17 we got introduced to MongoDB and how NoSQL databases compare to traditional databases like SQL. We looked at the differences between a NoSQL database like MongoDB and SQL. SQL deals with tables, columns, and rows. Mongo is basically a compressed JSON file(BSON) that deals with collections, fields, documents.&lt;/p&gt;
&lt;p&gt;We first went through the process of installing Mongo and the Robo 3T GUI on our systems, which was pretty straightforward. After everyone was done we started with the in-class exercises. The basic CRUD operations with Mongo have a very similar naming convention when compared to SQL. Finding, inserting, updating, and deleting was pretty easy.&lt;/p&gt;
&lt;p&gt;The second day of the week we started working with Moongose, the &#39;ORM&#39; for MongoDB. We created different data Schemas with it. This was also familiar territory since this is also similar to Sequelize. Setting up a schema is pretty much like setting up a table, with it&#39;s columns, and data. Joining things from other collections is way more flexible and easier than joining tables in SQL that&#39;s for sure.&lt;/p&gt;
&lt;p&gt;The final thing we covered for the week was IndexedDB, the in-browser database API. Like localStorage, you can have data persistence by grabbing this from the window object. Setting this up is still a bit fuzzy in my brain at the moment, but I got the gist of it. You create a database by running a .open() on indexedDB. Once you capture this in a variable you run the provided methods that create a table, in this case an &#39;Object Store&#39; and then later on you can add items to the table. The code is a little more verbose, probably because you have to write the code that something like Mongoose does for you in the background. The important thing about learning indexedDB is that it can be used as a backup, if you need the application to work and store data even if it&#39;s offline.&lt;/p&gt;
&lt;p&gt;Overall chill week. Next week we cover performance, progressive web apps, and Webpack.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 16</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-16/"/>
            <updated>2020-04-18T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-16/</id>
            <content type="html">&lt;p&gt;We did it! We finished our Project numero dos. It is live right now on &lt;a href=&quot;https://sheltered-gorge-46855.herokuapp.com/&quot;&gt;Heroku&lt;/a&gt; As of now, the project has &lt;a href=&quot;https://github.com/yarocruz/project-2&quot;&gt;102 commits&lt;/a&gt;. There&#39;s definitely more that can be done. It has some bugs, the front end ui logic can be improved and polished more, but I think we did a pretty good job. The web app does de basic job of pulling and adding to a database.&lt;/p&gt;
&lt;p&gt;I learned a lot with this project. Definitely feeling more confident with code that&#39;s on the backend. Unless writing SQL joins and inserts is your jam, Sequelize makes it so much simpler to deal with MySQL queries.&lt;/p&gt;
&lt;p&gt;I also think that my Git and Github skills improved tremendously by working on this project. I&#39;m sure there&#39;s more for me to learn about Git workflows when working in a group, but know I have a better idea what to expect when collaborating on a project. Adding things like branch merge protections and working with ES Lint, kept everyone in check, so there weren&#39;t any major issues with that aspect.&lt;/p&gt;
&lt;p&gt;There&#39;s always some hiccups working with other people. Some people are gonna be more into the project than others. Some people&#39;s skillset may be either above or below your level. Some stay behind and some get way ahead. Some people don&#39;t seem to be into coding at all. But all you need is some communication. Using something like &lt;a href=&quot;https://trello.com/&quot;&gt;Trello&lt;/a&gt;, or Github&#39;s own &lt;a href=&quot;https://help.github.com/en/github/managing-your-work-on-github/about-project-boards&quot;&gt;Project Boards&lt;/a&gt; helps a ton in giving everyone some direction. However this kinda stuff can cause some friction with the group if it&#39;s not clearly established if someone is officially the lead Dev. Like I&#39;m sure I came off as dick by assigning people tasks. All I wanted was to get the thing done before due date. But I digress. This is why they have project managers in the industry.&lt;/p&gt;
&lt;p&gt;It remains to be seen how much of these experiences will reflect the real world out there. I think all the Bootcampers will agree with me that none of us are ready to start a startup in Silicon Valley. I think the Instructor and the TA&#39;s are doing a good job in stressing why this stuff like Github workflows, using things like linters, branches, naming branches, good commit messages, etc... This stuff is gonna matter, specially if you&#39;re going to work in house with a company, or an agency.&lt;/p&gt;
&lt;p&gt;Coming up next week we start with Non SQL databases, MongoDB, and Mongoose.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 15</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-15/"/>
            <updated>2020-04-14T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-15/</id>
            <content type="html">&lt;p&gt;On week 15 we started with our second group project. I was worried how working in groups through Zoom was gonna be, but it has been working out pretty good. Better in some ways than in IRL. At least compared to my first experience. It&#39;s probably a combination of different factors. First off, having that first experience prepared me for this one. Another factor is that since we are quarantined, we are sort of forced to communicate better. The whole &amp;quot;let&#39;s meetup on Tuesday&amp;quot; and having no one show up is not an issue because there&#39;s Slack and Zoom. Finally, the main factor I think the project is running smoothly is because I&#39;ve been leading the project, and my group has been on board with me. Picking the idea, which I will get to in a minute, kinda forced me to do some project management. For this one I used the Kanban Project tool on Github and I think that has helped a lot in figuring out how we can divide the tasks. For the most part, we&#39;ve been decent with our Git and Github workflow. We&#39;re branching off of master, pushing and pulling those branches, deleting when it&#39;s merged, and starting that process all over again. With this project I&#39;m also learning a ton about Git and Github. One of the many requirements for this group project was that we have to use a Linter and Travis CI. I hated using these two tools at first, but know I&#39;m kinda loving them.&lt;/p&gt;
&lt;p&gt;So our web app is going to be essentially a CRUD app. It needs to use Node with Express, a MySQL database, a CSS library other than Bootstrap, and it must use Handlebars. It must follow the MVC paradigm. So we decided on a Podcast Directory. More specifically, a user driven Podcast directory were you can discover people&#39;s listening tastes when it comes to podcasts. The reason I suggested this was because it pretty much fills the requirements of the project.&lt;/p&gt;
&lt;p&gt;We are using Sequelize as our ORM. It really makes it easier to work with SQL queries. I&#39;m using Tailwind CSS and I&#39;m loving it. The project is like 70% done. We be committing and merging. At the moment it has 79 commits in total, with 13 successful pull request merges.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 14</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-14/"/>
            <updated>2020-04-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-14/</id>
            <content type="html">&lt;p&gt;Week 14 was the last part in the SQL saga. Since Week 12 we&#39;ve been learning how to work with a relational database and got an on overview on the approaches of building a full stack application around MySQL. The biggest take away for me was digging deeper into the &lt;a href=&quot;https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller&quot;&gt;MVC&lt;/a&gt; software design pattern.&lt;/p&gt;
&lt;p&gt;We learned &lt;a href=&quot;https://sequelize.org/v5/&quot;&gt;Sequelize&lt;/a&gt; an ORM package that makes using SQL with JS a breeze. From what I&#39;m understanding, it&#39;s basically abstracting away the SQL queries you would need to write. Instead of having to write something like in the example below:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT `Author`.`id`, `Author`.`name`, `Author`.`createdAt`, `Author`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Posts`.`title` AS `Posts.title`, `Posts`.`body` AS `Posts.body`, `Posts`.`createdAt` AS `Posts.createdAt`, `Posts`.`updatedAt` AS `Posts.updatedAt`, `Posts`.`AuthorId` AS `Posts.AuthorId` FROM `Authors` AS `Author` LEFT OUTER JOIN `Posts` AS `Posts` ON `Author`.`id` = `Posts`.`AuthorId`;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You write something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;module.exports = function(sequelize, DataTypes) {
  var Author = sequelize.define(&amp;quot;Author&amp;quot;, {
    // Giving the Author model a name of type STRING
    name: DataTypes.STRING
  });

  Author.associate = function(models) {
    // Associating Author with Posts
    // When an Author is deleted, also delete any associated Posts
    Author.hasMany(models.Post, {
      onDelete: &amp;quot;cascade&amp;quot;
    });
  };

  return Author;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I&#39;m loving it. It&#39;s way easier to reason about. Though you still need to have a good understanding of how SQL works, you don&#39;t have to write verbose SQL JOIN queries.&lt;/p&gt;
&lt;p&gt;It&#39;s been a good week. I&#39;m participating more in the Zoom chats. I&#39;m unmuting the mic every once in a while, I&#39;m sharing my screen and letting people see my 40 open tabs on Chrome. I&#39;m enjoying it. Starting to get used to doing remote classes now. At this point it&#39;s uncertain if we will ever have in person classes since we&#39;re done by June.&lt;/p&gt;
&lt;p&gt;This week&#39;s due project was the &lt;a href=&quot;https://aqueous-beyond-86348.herokuapp.com/&quot;&gt;Eat Da Burger app&lt;/a&gt;, a very basic and silly web app that&#39;s more about showcasing &lt;a href=&quot;https://en.wikipedia.org/wiki/Create,_read,_update_and_delete&quot;&gt;CRUD&lt;/a&gt; functionality. Even though we were given a big blueprint on how to build this app and directions on how to deploy to Heroku, I&#39;m super proud on how it turned out. Right now it&#39;s mostly a CRU app, so don&#39;t go crazy adding burgers. It&#39;s not healthy for you anyway.&lt;/p&gt;
&lt;p&gt;Coming up for the next 2 weeks is Project 2. The second group project. Let&#39;s see how this one goes.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 13</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-13/"/>
            <updated>2020-03-28T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-13/</id>
            <content type="html">&lt;p&gt;&lt;img src=&quot;https://preview.redd.it/9r2t1fkstco21.jpg?width=1280&amp;amp;format=pjpg&amp;amp;auto=webp&amp;amp;s=aec65484fb915c816649adeea540a54f00533597&quot; alt=&quot;Views&quot; /&gt;&lt;/p&gt;
&lt;p&gt;More SQL. We started bringing the back to the front. Bringing in those views. We started using &lt;a href=&quot;http://handlebarsjs.com/&quot;&gt;Handlebars&lt;/a&gt;, a pretty neat templating tool. This week was all about using the Model View Controller approach to making web apps. Still wrapping my head around it.&lt;/p&gt;
&lt;p&gt;We&#39;re creating schemas and seed files. Doing queries that join tables. Creating the back-end with Express, Handlebars, and using jQuery to make the Ajax calls on the front end. We&#39;re CRUDING. Creating, reading, updating, and deleting. Middlewares. RESTful. Lot&#39;s of ALL-CAPS acronyms.&lt;/p&gt;
&lt;p&gt;The apps are getting more complex. The homework that was due this week, a &lt;a href=&quot;https://github.com/yarocruz/employee-tracker&quot;&gt;Node CLI app for managing employee data&lt;/a&gt; with SQL was the hardest one yet. It has kicked my ass. That code is a mess. It is not DRY at all.&lt;/p&gt;
&lt;p&gt;Doing the class remotely has gotten better though. Still not my favorite thing, but this is how is gonna be now. I think I&#39;m getting the hang of it. I&#39;m embracing it.&lt;/p&gt;
&lt;p&gt;**Sidenote.&lt;/p&gt;
&lt;p&gt;It&#39;s been a weird week. My employer, SeaWorld, sent a letter to 90% of its staff to let them know that they have been temporarily furloughed. I had to google furlough. It&#39;s the word of the week. It&#39;s like, &#39;you&#39;re fired, sort of, not really... we just can&#39;t pay you anymore. Ok. thx. bye.&amp;quot;&lt;/p&gt;
&lt;p&gt;I&#39;m oddly optimistic about this. I&#39;ve been slowly tweaking my resume, paying more attention to LinkedIn, making sure I write good README&#39;s on my Github. I&#39;m pretty sure I&#39;ll land something soon. Or maybe I&#39;m still in shock, in some sort of denial that actually the world is ending.&lt;/p&gt;
&lt;p&gt;I think we&#39;ll be ok.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 12</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-12/"/>
            <updated>2020-03-21T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-12/</id>
            <content type="html">&lt;p&gt;Like a lot of people in America right now, I haven&#39;t been going to my job. SeaWorld, Universal, Disney, and all major theme parks have closed down here in central Floriduh. I&#39;m good, my family is good, and everyone that I know is doing ok. Financially is gonna suck for some of my part-time coworkers, but as a full-time employee I&#39;m getting payed 32 hours for the time being. I&#39;ve been washing my hands a lot and I have been a long time practitioner of social distancing so this is nothing. We found toilet paper.&lt;/p&gt;
&lt;p&gt;I know it sucks for some people, specially for the folks in other parts of the world like France and Italy, but for me, this is pretty sweet. Me and my girlfriend are moving to Downtown Orlando soon, so we&#39;re taking advantage of this free time. All this to say, it&#39;s been pretty normal.&lt;/p&gt;
&lt;p&gt;So the Bootcamp... It&#39;s gonna take a while to get used to doing remote classes. One of the reasons why I opted for an in person Bootcamp instead of online was because I knew that I needed that direct and immediate feedback that&#39;s impossible to get in a remote setting. We are using Zoom with the Instructor hosting the meeting and using breakout rooms when working with exercises. And it doesn&#39;t help that we have reached that point in the Bootcamp were there is very little lecturing, so doing exercises in groups remotely it&#39;s kinda of tricky. But like anything new, it&#39;s just a matter of getting used to it.&lt;/p&gt;
&lt;p&gt;Week 12 was all about &lt;a href=&quot;https://en.wikipedia.org/wiki/SQL&quot;&gt;SQL&lt;/a&gt;. The whole setup for using SQL for me is kinda messy. The suite of software you have to download like SQL Workbench, SQL Server, and others... ugh! It&#39;s like using Dreamweaver to create Excel spreadsheets.&lt;/p&gt;
&lt;p&gt;The first day, when we started working with the basic queries to create initial databases, tables and then INSERT INTO&#39;s, was a bit rough. Probably due more to it being online. One thing I been starting to worry about lately is how slow I am to get focused when doing the exercises. I never thought of myself as being a slow coder. I thought that to build something that does something substantial, something more than just responding to click events, something that get&#39;s past that 100 line mark in your text editor, I thought that it&#39;s normal for it to take some time. But I feel super dumb when given these 5-paragraph-long README instructions to build an NODE CLI application in 30 minutes.&lt;/p&gt;
&lt;p&gt;On the second day, Day 35 if you&#39;re keeping track, they introduced the &lt;a href=&quot;https://www.npmjs.com/package/mysql&quot;&gt;mysql&lt;/a&gt; package for Node. For this day we started doing exercises that hooked up to the Database to be able to query to it, add, etc.&lt;/p&gt;
&lt;p&gt;Finally on day 36 we learned how to import &lt;strong&gt;.csv&lt;/strong&gt; files, do more complex queries like JOIN, and made and &lt;a href=&quot;https://www.npmjs.com/package/inquirer&quot;&gt;inquirer&lt;/a&gt; node cli app that will search through a bigger database of a list of 5000 top hit songs.&lt;/p&gt;
&lt;p&gt;In the end I think I got the basics. The SQL query syntax is easy to understand, at least when you&#39;re doing a basic search. I can get complicated with the joining of tables. But the basics like SELECT FROM WHERE is pretty self explanatory.&lt;/p&gt;
&lt;p&gt;The due project / assignment for this week was a &lt;a href=&quot;https://secret-ravine-58567.herokuapp.com/&quot;&gt;Note Taker&lt;/a&gt; web app. This is our first, and my first, proper app with a backend that was deployed to &lt;a href=&quot;https://signup.heroku.com/t/platform?c=70130000001xDpdAAE&amp;amp;gclid=Cj0KCQjw9tbzBRDVARIsAMBplx-_0ocFLFH_Qs_6Px5F3sOz4-2t-eRKsahe9M9tNt7nJnbWYNV1dwQaAouyEALw_wcB&quot;&gt;Heroku&lt;/a&gt;. Super proud of this one. I might customize the CSS for this one. Check out the &lt;a href=&quot;https://github.com/yarocruz/note-taker&quot;&gt;Repo&lt;/a&gt; if you wanna peek at how the server part is working with Express and all that.&lt;/p&gt;
&lt;p&gt;Let&#39;s keep going.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 11</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-11/"/>
            <updated>2020-03-16T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-11/</id>
            <content type="html">&lt;p&gt;This was another long week. We were supposed to finish the week this past Wednesday March 11, but the Corona Virus happened. The class on Wednesday got cancelled and all remaining classes on campus are cancelled until further notice.  We will keep going, but the classes will be held remotely.&lt;/p&gt;
&lt;p&gt;We started week 11 with building servers with Node.js. We used the http module, learned about the different methods that come with that module, and started with simple exercises. We learned about routes, how to create them, and render different views depending on which route you visit.&lt;/p&gt;
&lt;p&gt;We also took a look at what comes with the request and response objects. The last thing we looked at was the POST method.&lt;/p&gt;
&lt;p&gt;On the second day, which was day 32, we started playing with the &lt;a href=&quot;https://expressjs.com/&quot;&gt;Express&lt;/a&gt; package. Express makes things so much cleaner and easy to understand. We went a bit deeper into routing, particularly routing things dynamically by using placeholders like &lt;strong&gt;/:something&lt;/strong&gt; to search for something.&lt;/p&gt;
&lt;p&gt;On day 33 we did our first remote class. That day was just us building an app that would schedule reservation requests to a restaurant.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 10</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-10/"/>
            <updated>2020-03-07T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-10/</id>
            <content type="html">&lt;p&gt;Week 10 was tough. It was a jammed-packed week for me. Lots of things going on. Good things. New things. Suffice to say, I&#39;ve been busy.&lt;/p&gt;
&lt;p&gt;We started the week with Object Oriented Programming concepts. Covered constructor functions, the prototype method, inheritance, and how most things in JavaScript are Objects. This started getting trippy and too abstract for me, but I get it. This is all just a way to organize your code into&lt;br /&gt;
&#39;blueprinted&#39; pieces that you can reuse.&lt;/p&gt;
&lt;p&gt;We also looked at unit testing. Now this is trippy. You write code to test your code. We got to practice using &lt;a href=&quot;https://jestjs.io/&quot;&gt;Jest&lt;/a&gt; and have all our tests fail. It&#39;s fun...&lt;/p&gt;
&lt;p&gt;The last thing we covered were classes which is syntactic sugar for constructor functions. I actually know what that sentence means now. It&#39;s just ES6 syntax that makes it cleaner to write constructor function. This has helped me a ton in understanding the foundation on how React Component classes work.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/yarocruz/readme-generator&quot;&gt;Readme Generator&lt;/a&gt; was the assignment due for the end of the week.&lt;/p&gt;
&lt;p&gt;Again, busy week. Good week. But I&#39;m exhausted as I write this. Good stuff happening.&lt;/p&gt;
&lt;p&gt;Almost halfway.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 9</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-9/"/>
            <updated>2020-02-29T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-9/</id>
            <content type="html">&lt;p&gt;On day 25 we started with &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node.js&lt;/a&gt; There was a brief lecture with slides on how Node JS works. We covered how its module system works by importing files with the require function and how to export modules. We played with the &lt;strong&gt;fs&lt;/strong&gt; module to read and write files. We started using &lt;a href=&quot;https://www.npmjs.com/&quot;&gt;NPM&lt;/a&gt; as well and got some basic commands like npm init and npm install under our belts.&lt;/p&gt;
&lt;p&gt;Day 26 we covered ES6 and beyond. We started with arrow =&amp;gt; functions, which I love, but now I have deeper understanding on how they work, and why sometimes you don&#39;t want to use them. I&#39;m not afraid of &lt;strong&gt;this&lt;/strong&gt; anymore. We&#39;re finally declaring variables with let and const. We also got some practice with the newer array methods like map, filter, and reduce. With did some &lt;strong&gt;(...resting)&lt;/strong&gt; and some &lt;strong&gt;[...spreading]&lt;/strong&gt;. Finally we covered my favorite thing in modern JS and that is Template Literals. Concatenating strings is not a fun activity for me.&lt;/p&gt;
&lt;p&gt;Finally on Day 27 we went more in depth with asynchronous code and the many ways you can clean up your code by avoiding &lt;a href=&quot;http://callbackhell.com/&quot;&gt;callback hell&lt;/a&gt; We used the Axios package to make API calls. I like how async / await makes the code cleaner. I&#39;m still confused however about creating Promises.&lt;/p&gt;
&lt;p&gt;Overall good week. Jam-packed week with lots of info, but a lot of it is stuff I&#39;m familiar with. Our assignment for the week is to create a &lt;a href=&quot;https://github.com/yarocruz/readme-generator&quot;&gt;Node.js command line application that uses input provided by the user to generate a README file&lt;/a&gt;.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Links and Stuff</title>
            <link href="https://yarocruz.netlify.app/posts/links-and-stuff/"/>
            <updated>2020-02-26T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/links-and-stuff/</id>
            <content type="html">&lt;p&gt;The &lt;a href=&quot;https://youtu.be/OrxmtDw4pVI&quot;&gt;Vue.js Documentary&lt;/a&gt; is one of the coolest things I&#39;ve seen made about coding. It was made by a company called &lt;a href=&quot;https://www.youtube.com/channel/UCsUalyRg43M8D60mtHe6YcA&quot;&gt;Honeypot&lt;/a&gt; and they have made short docs on &lt;a href=&quot;https://www.youtube.com/watch?v=783ccP__No8&quot;&gt;GraphQL&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=Cvz-9ccflKQ&quot;&gt;Ember&lt;/a&gt;, and &lt;a href=&quot;https://www.youtube.com/watch?v=lxYFOM3UJzo&quot;&gt;Elixir&lt;/a&gt;. The &lt;a href=&quot;https://www.youtube.com/watch?v=783ccP__No8&quot;&gt;GraphQL&lt;/a&gt; one was really good as well.&lt;/p&gt;
&lt;p&gt;The New York Magazine has an article on how &lt;a href=&quot;https://nymag.com/intelligencer/2020/02/lambda-schools-job-placement-rate-is-lower-than-claimed.html&quot;&gt;Lambda School is fudging their numbers&lt;/a&gt; to entice students to enroll. Turns out, and this shouldn&#39;t be surprising to anyone in this industry, that there are way less students that find a job after finishing the Bootcamp than what the school claims. &lt;a href=&quot;https://news.ycombinator.com/item?id=22366474&quot;&gt;Hacker News&lt;/a&gt; has a good discussion going reacting this article.&lt;/p&gt;
&lt;p&gt;My favorite course so far on Udemy is &lt;a href=&quot;https://www.udemy.com/course/javascript-beginners-complete-tutorial/&quot;&gt;Colt Steele&#39;s Modern JavaScript Bootcamp Course 2020&lt;/a&gt;. I keep coming back to it to supplement what I&#39;m learning from the Bootcamp.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 8</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-8/"/>
            <updated>2020-02-21T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-8/</id>
            <content type="html">&lt;img src=&quot;https://yarocruz.netlify.app/posts/images/project1.jpg&quot; alt=&quot;Photo of Mike, Anthony, Alex, and Yarosky holding a check.&quot; /&gt; 
&lt;p&gt;We did it. We finished the first group project and we got an initial funding of 2.3 million dollars for our web app. Our app is called &lt;a href=&quot;https://github.com/yarocruz/veg-head&quot;&gt;VEGHEAD&lt;/a&gt;. You can use it to find vegetarian recipes and restaurants that offer vegetarian options. It uses a couple of API&#39;s to get the data.&lt;/p&gt;
&lt;p&gt;In all honesty I didn&#39;t do much for this project, but that&#39;s ok. I definitely participated, but the other guys were the ones that really hustled on this and they deserve the credit.&lt;/p&gt;
&lt;p&gt;There&#39;s a lot I learned from this experience. Group dynamics, communication, using Git and Github, pull requests and merge conflicts. I think the next projects are gonna go a bit smoother.&lt;/p&gt;
&lt;p&gt;Next week we start crossing to the other side. The server side.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 7</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-7/"/>
            <updated>2020-02-12T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-7/</id>
            <content type="html">&lt;p&gt;So far the Bootcamp has been awesome. I&#39;ve been knocking my &lt;a href=&quot;https://github.com/yarocruz&quot;&gt;project assignments&lt;/a&gt; out of the park. It&#39;s been going smoothly. I&#39;m keeping up with the pace. We&#39;re currently doing Group Projects. But this is where things have started getting a bit awkward for me. The instructor and TA&#39;s gave us some guidance of course. There was a mini lecture about the Agile Methodology, Kanban, using Github Projects and all that team workflow stuff. We are in groups of three or four. I&#39;m in a group of four.&lt;/p&gt;
&lt;p&gt;Here&#39;s the thing, I&#39;m pretty bad in social group situations. Particularly large groups and by large groups I mean more than me and another person. I have an introverted personality and in groups I always follow and never try to lead because that feels impolite to me. I also have a hard time being comfortable with following scattered conversations in like say group party stuff. In work environments I do a little better, but that&#39;s because we have management guiding us and I can focus on doing something.&lt;/p&gt;
&lt;p&gt;Our group is not using Agile or Kanban at all. We&#39;re not even trying. The idea for the app we&#39;re building is good but our execution on how to build it has been half assed. One of the team members is focused on animating buttons. Another is looking for an API to use. I haven&#39;t really done anything other than starting a repo, inviting the collaborators, and adding rules to branches to review before merging. It&#39;s been 3 days of just me sitting down in front my laptop fiddling around with nothing in particular, listening to these kids talk about gaming. Nothing against gaming. I just wanna get stuff done.&lt;/p&gt;
&lt;p&gt;Anywho, just wanted to get this out there.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 6</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-6/"/>
            <updated>2020-02-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-6/</id>
            <content type="html">&lt;p&gt;This is gonna be a short one. Week 6 was all about working with server side apis. There were some mini lectures, but we spent more time on in-class coding exercises. We were introduced to examples of some purely data API&#39;s like &lt;a href=&quot;http://www.omdbapi.com/&quot;&gt;OMDb&lt;/a&gt;, &lt;a href=&quot;https://openweathermap.org/&quot;&gt;OpenWeatherMap&lt;/a&gt; and how to discover them using services like &lt;a href=&quot;https://rapidapi.com/&quot;&gt;RapidAPI&lt;/a&gt;. To make requests we&#39;re still using jQuery since it has the .ajax() method. There was a bit of an explanation about Asynchronous vs Synchronous code, but we didn&#39;t go to deep into topics like the old XMLHttpRequest.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/yarocruz/workday-scheduler&quot;&gt;Work Day Planner&lt;/a&gt; was due this week. The project that&#39;s due for the end of the upcoming week is a Weather app that uses the &lt;a href=&quot;https://openweathermap.org/&quot;&gt;OpenWeatherMap&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;The next two weeks of the Bootcamp are going to be interesting. We&#39;re starting the first group project. I&#39;m excited and super curios on how working in a group is gonna work out.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 5</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-5/"/>
            <updated>2020-01-28T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-5/</id>
            <content type="html">&lt;p&gt;Week 5 was mostly &lt;a href=&quot;https://jquery.com/&quot;&gt;jQuery&lt;/a&gt;. We started on day 13 with the basics of jQuery like how to link to it through a CDN, selected elements with the &lt;strong&gt;$(&#39;element&#39;)&lt;/strong&gt; syntax, and did other in-class exercises.&lt;/p&gt;
&lt;p&gt;On day 14 we did some more advanced stuff like using the  jQuery &lt;strong&gt;.animate()&lt;/strong&gt; method. We also looked at &lt;strong&gt;scope&lt;/strong&gt; and how it affects what the &lt;strong&gt;this&lt;/strong&gt; keyword refers to.&lt;/p&gt;
&lt;p&gt;We ended the week on Day 15 with the longest in-class coding exercise we&#39;ve done so far. We spent 1 hour and 45 minutes making a jQuery Calculator. It was supposed to be a group project, but by the end of it we had all checked out.&lt;/p&gt;
&lt;h2&gt;Things I&#39;m Still Processing&lt;/h2&gt;
&lt;p&gt;The timed coding exercises for the most part are super fun. They are definitely getting more challenging. But the last couple of in-class exercises, particularly the &amp;quot;group&amp;quot; coding ones, I was no where near to completing them.&lt;/p&gt;
&lt;p&gt;Which brings me to working with groups. This is something that I&#39;ve been looking forward to. One of the top reasons that I decided to enroll in the Bootcamp. To work with others, learn, and help each other. But my enthusiasm about this has started to drop a notch. This could be a &amp;quot;it&#39;s not you, it&#39;s me&amp;quot; situation. Maybe it&#39;s just a matter of practice. But so far, the group I was assigned to... well we suck.&lt;/p&gt;
&lt;h2&gt;var and jQuery&lt;/h2&gt;
&lt;p&gt;I don&#39;t want to get into the habit of using var to declare variables having some knowledge about &lt;a href=&quot;https://evertpot.com/javascript-let-const/&quot;&gt;let and const&lt;/a&gt;. Some students have asked me about it since all the class exercises and the instructor always uses var. My answer was that &amp;quot;var has issues with scope&amp;quot; and leave it at that because I don&#39;t want to confuse them.&lt;/p&gt;
&lt;p&gt;jQuery is cute. I like using it. It is a nice JS library to learn as your first library. For DOM manipulation, most of the code you write is for the most part, shorter. But I&#39;m comfortable with just vanilla JS for DOM manipulation. Check out &lt;a href=&quot;http://youmightnotneedjquery.com/&quot;&gt;You Might Not Need jQuery&lt;/a&gt; and see that while the syntax is sometimes shorter, since ES6, it isn&#39;t that much of a hassle to say, toggle a class with plain JS now a days. See also this &lt;a href=&quot;https://www.youtube.com/watch?v=pk3tsynNZ0w&quot;&gt;video by Brad Traversy&lt;/a&gt;. This video was published in 2018.&lt;/p&gt;
&lt;p&gt;All I&#39;m saying is that like Bootstrap, do learn jQuery enough to understand it and be able to go through the &lt;a href=&quot;https://api.jquery.com/&quot;&gt;docs&lt;/a&gt;, but like Brad says in the video, don&#39;t spend too much time trying to master it to the point that you&#39;ll have to depend on it.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 4</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-4/"/>
            <updated>2020-01-20T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-4/</id>
            <content type="html">&lt;p&gt;Day 10 was a bit rough. Our main instructor was absent that night so we had a sub. The sub introduced us to Web API&#39;s as it relates to the browser&#39;s window object, the DOM, and old-school DOM traversal. In my opinion the sub went through the explanations a bit too quickly, assuming that everyone was keeping up. A lot of the students were thrown off. Many were probably hearing the term &lt;a href=&quot;https://javascript.info/browser-environment#dom-document-object-model&quot;&gt;Document Object Model&lt;/a&gt; for the first time, so when we got through the DOM traversal exercises using  things like &lt;strong&gt;document.body.children[0]&lt;/strong&gt; to capture elements on a page, people&#39;s brains were exploding. In his defense however, if at this point in the Bootcamp you&#39;re still confused about what the DOM is you need to study more. At the end of the class we were introduced to the &lt;strong&gt;setInterval()&lt;/strong&gt; functions and how they can be used to create timers.&lt;/p&gt;
&lt;p&gt;On Day 11 we covered events and event handling with the .addEventListener method. Mostly the &#39;click&#39; event, but we were also introduced to the &#39;change&#39;, &#39;keyup&#39;, and &#39;keydown&#39; events. We also covered event delegation and event bubbling and how they both can be either useful or an issue.&lt;/p&gt;
&lt;p&gt;On Day 12 things started to get a little challenging. We started with localStorage. That wasn&#39;t the challenging part. Local storage is pretty straightforward. You set an item, or you get an item. What&#39;s getting challenging are the class exercises. Most of the class exercises are timed, and we&#39;re usually given 10 to 20 minutes. I was doing pretty decent for most of them, but I got to a point were I just stared at the screen not knowing where to start.&lt;/p&gt;
&lt;p&gt;When we started Week 3 we went through that group exercise of pseudo coding the game &lt;a href=&quot;https://github.com/yarocruz/rps&quot;&gt;Rock Paper Scissors&lt;/a&gt;. This week we were reminded again of pseudo coding. Of going through that exercise of breaking down the problem into tiny detailed steps. Moving forward, this is what&#39;s going to make us or break us for bigger projects. This ability to stop yourself and think. To have a game plan.&lt;/p&gt;
&lt;p&gt;At the end of the week we had due our third assignment, a &lt;a href=&quot;https://github.com/yarocruz/password-generator&quot;&gt;Password Generator&lt;/a&gt; app. While making this web app I gained a deeper understanding on array methods, specially .flat() and .join(). I have a better handle on for loops. Math.floor and Math.random don&#39;t seem as complex as it used to.&lt;/p&gt;
&lt;p&gt;The 4th assignment that&#39;s due at the end of week 5 is a &lt;a href=&quot;https://github.com/yarocruz/code-quiz&quot;&gt;code quiz application&lt;/a&gt;. This project has consumed my brain for the past couple of days. It has taken me a couple of days and hours now to get to it&#39;s current working state. Of course now I know that if I had taken a step back, stopped to think for a bit, actually pseudo coded like we did in the class exercises, it would&#39;ve gone a bit smoother and the code wouldn&#39;t be as messy. But instead I just kept pecking at the code like a nervous chicken.&lt;/p&gt;
&lt;p&gt;So don&#39;t peck at code like a nervous chicken.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 3</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-3/"/>
            <updated>2020-01-12T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-3/</id>
            <content type="html">&lt;img src=&quot;https://yarocruz.netlify.app/posts/images/loops.jpg&quot; alt=&quot;visualization of a for loop&quot; /&gt; 
&lt;p&gt;After our two weeks of holiday break we did one more day of HTML and CSS and covered some more of Bootstrap. We had been assigned the &lt;a href=&quot;https://github.com/yarocruz/responsive-portfolio&quot;&gt;second homework&lt;/a&gt; which was to recreate the portfolio we made on our first assignment and add Bootstrap to it. We were also encouraged as an optional bonus assignment to make the &lt;a href=&quot;https://github.com/yarocruz/portfolio&quot;&gt;original site&lt;/a&gt; as responsive as possible by just using media queries. This was Day 6, technically still part of Week 2.&lt;/p&gt;
&lt;p&gt;Overall this was a good refresher for me. Having the option to use a library like Bootstrap is pretty darn awesome. It definitely takes you way less time to make a website responsive with Bootstrap than coding your own CSS and Media Queries. But I still encourage anyone that&#39;s still relatively new to HTML and CSS to keep making sites for a little while without Bootstrap. Unless there&#39;s a need to prototype something quickly, you should attempt to layout a site a couple of times with CSS. First, when you write your own CSS you learn to organize yourself. You think more about what class names to give to elements. This also makes you question your HTML structure. I know that 200-plus lines of CSS code looks intimidating at first, but it&#39;s all a matter of taking it line by line. In the end, this will make you appreciate Bootstrap even more and bend it to your will. You will eventually master flex box, CSS Grid, and discover the magic of &lt;a href=&quot;https://sass-lang.com/&quot;&gt;SASS&lt;/a&gt;. You will rarely have to float and clear-fix anything again.&lt;/p&gt;
&lt;h2&gt;Jumping into JavaScript&lt;/h2&gt;
&lt;p&gt;On Day 7 we officially started with JavaScript. We started with the basics like declaring variables. The different value types like numbers, strings, and booleans. We used the browser&#39;s alert, prompt, and console.log functions. We were introduced to Arrays and using conditional logic with if / else statements.&lt;/p&gt;
&lt;p&gt;Day 8 was particularly interesting. It&#39;s the first time I have worked with a group on any type of coding project. It was a small exercise, but I was completely stumped for a couple of minutes when we were asked to pseudocode the game Paper Rock Scissors. It was messy. Confusing. But at the same time I loved the challenge. All we knew was that we would have to use conditionals for winning results and Math.random for the computer to make &#39;random&#39; choices.&lt;/p&gt;
&lt;p&gt;On Day 9 we started with Functions and Objects. Our last project was to create an application that would detect your OS by using the window object and it&#39;s properties and also detect your location. This was hard. But in the end I started to figure it out.&lt;/p&gt;
&lt;p&gt;It&#39;s been interesting. The challenge level has definitely gone up a notch. Some members of my study group are starting to feel overwhelmed. Other Bootcampers look like they&#39;re starting to fall behind a bit.&lt;/p&gt;
&lt;p&gt;This stuff isn&#39;t easy. And it&#39;s not going to get any easier. Compared to the time it takes to be fluent with HTML and CSS, getting a solid understanding on JavaScript takes double or even triple the time.&lt;/p&gt;
&lt;p&gt;Take Functions for example. They seem pretty straightforward. They are a thing that wraps around a chunk of code that you can reuse. But they also have arguments and most of the time need a return keyword. This part isn&#39;t as straightforward.&lt;/p&gt;
&lt;p&gt;If you&#39;re a fellow Bootcamper reading this, my advice is to put in that extra time outside of class. Write code by hand for a bit. Use white boards or pen and paper. Draw what a loop does. Think of the open and close parenthesis of a function &#39;()&#39; as a button that gets pressed. If that button doesn&#39;t get pressed, if that button isn&#39;t there, that function won&#39;t do anything. (Unless that function is thrown as an argument in another functions).&lt;/p&gt;
&lt;p&gt;Keep pushing. We only have 21 more weeks to go.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Implementation Intentions</title>
            <link href="https://yarocruz.netlify.app/posts/implementation-intentions/"/>
            <updated>2020-01-01T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/implementation-intentions/</id>
            <content type="html">&lt;p&gt;Do not make resolutions this year. Do not list your goals as to-do items you&#39;ll get to check off, because you won&#39;t. Instead, let&#39;s make implementation intentions this year.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An implementation intention (II) is a self-regulatory strategy in the form of an &amp;quot;if-then plan&amp;quot; that can lead to better goal attainment, as well as help in habit and behavior modification. It is subordinate to goal intentions as it specifies the when, where and how portions of goal-directed behavior. The concept of implementation intentions was introduced in 1999 by psychologist Peter Gollwitzer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;According to James Clear, author of &lt;a href=&quot;https://www.amazon.com/Atomic-habit-James-Clear/dp/B07XVLMQGV?pf_rd_p=dd4f5b57-ba5b-418b-a348-64ec62df14cc&amp;amp;pd_rd_wg=jPpdj&amp;amp;pf_rd_r=6HG4WGTPH8VT7WWGDGHM&amp;amp;ref_=pd_gw_cr_simh&amp;amp;pd_rd_w=NE3tn&amp;amp;pd_rd_r=49c08fc4-5879-4114-b422-139b269b4f1a&quot;&gt;Atomic Habits&lt;/a&gt; the problem with goals is that they rely on being &amp;quot;motivated&amp;quot; and are usually vague. An &lt;a href=&quot;https://jamesclear.com/implementation-intentions&quot;&gt;implementation intention&lt;/a&gt; on the other hand is the act of being specific. It makes you identify the the where and when.&lt;/p&gt;
&lt;p&gt;So this year stop being vague. Get to the nitty gritty and make shit happen!&lt;/p&gt;
&lt;p&gt;Happy New Year!&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 2</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-2/"/>
            <updated>2019-12-21T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-2/</id>
            <content type="html">&lt;p&gt;The second week was a shorter week. Only two classes instead of 3. Technically, we aren&#39;t done with week 2. When classes resume on January 4, we will cover the third module of the second week according to the course syllabus.&lt;/p&gt;
&lt;p&gt;On day 4 we went live. We did a bit of a recap on what we covered the week before. We worked with the Chrome Developer tools and hacked websites. Got introduced to CSS resets. We were showed how to use Github Pages to host sites. From now on this will be the way we will host our demo sites.&lt;/p&gt;
&lt;p&gt;On day 5 we covered Typography and Google Fonts. Pseudo classes like &lt;strong&gt;:hover&lt;/strong&gt;, &lt;strong&gt;:focus&lt;/strong&gt;, &lt;strong&gt;:active&lt;/strong&gt; and ended with an intro on &lt;a href=&quot;https://getbootstrap.com/&quot;&gt;Bootstrap&lt;/a&gt;. The week ended with our first homework assignment due, which was a &lt;a href=&quot;https://yarocruz.github.io/_portfolio/&quot;&gt;basic portfolio site&lt;/a&gt;. The purpose of the assignment was to get us started with the basics of HTML, CSS, using Git and Github, and follow some specifications based on a website mockup so we can practice using layout with CSS.&lt;/p&gt;
&lt;p&gt;It was interesting to see some of the reactions from the fellow Bootcampers when they were introduced to Bootstrap. A lot of them had a big sigh of relief when shown how easy it is to make something look &amp;quot;good&amp;quot; by copy and pasting some Bootstrap components.&lt;/p&gt;
&lt;p&gt;Note, I&#39;m not an educator and I don&#39;t know how many of the students have more of a Backend Developer goal in mind, but I&#39;m beginning to understand why as a Front End Developer you could get away with not caring about Design, and even, HTML and CSS. I can see why there is a &lt;a href=&quot;https://css-tricks.com/the-great-divide/&quot;&gt;Great Divide&lt;/a&gt;. This is &amp;quot;minutia, details that don&#39;t matter&amp;quot; you say. &amp;quot;The box model, padding, borders, margins, typography, argh! Let&#39;s get on with the looping of the arrays and stuff. Let&#39;s make React apps already!&amp;quot;&lt;/p&gt;
&lt;p&gt;Let&#39;s assume you had no idea what HTML and CSS were. You could theoretically learn the basics of HTML and CSS in two weeks. You could also make a Portfolio site in two weeks to look decent like the one we were assigned. But to understand how HTML and CSS work together? To really wrap your head around the box model, block vs inline, positioning? That&#39;s gonna take a bit more time to sink in.&lt;/p&gt;
&lt;p&gt;I understand why we would jump into Bootstrap so quickly. We could spend weeks on CSS. We could learn &lt;a href=&quot;https://gridbyexample.com/examples/&quot;&gt;Grid&lt;/a&gt;, &lt;a href=&quot;https://css-tricks.com/snippets/css/a-guide-to-flexbox/&quot;&gt;Flexbox&lt;/a&gt;, &lt;a href=&quot;https://sass-lang.com/&quot;&gt;Sass&lt;/a&gt;, The CSS &lt;a href=&quot;https://css-tricks.com/bem-101/&quot;&gt;BEM Methodology&lt;/a&gt;, animations, variables, and so many cool stuff about CSS. But it makes sense, knowing that the course is trying to give you a full foundation on the whole field of Web Development.&lt;/p&gt;
&lt;p&gt;Listen, I have used the hell out of Bootstrap. My old, RIP, Interactive/Web Designer Portfolio was pretty much built with Bootstrap. All my projects had that same Navbar with the collapsing hamburger menu. I got some crap from people on the internet for using it when I would ask for feedback. But anyway, I digress.&lt;/p&gt;
&lt;p&gt;Here&#39;s the point I think I&#39;m trying to make: No matter where in the stack you think you&#39;re going to specialize, don&#39;t rely heavily on a library like Bootstrap. Be aware that you can create your &amp;quot;own&amp;quot; Bootstrap. There&#39;s also other libraries out there like &lt;a href=&quot;https://foundation.zurb.com/&quot;&gt;Foundation&lt;/a&gt;, &lt;a href=&quot;https://tailwindcss.com/&quot;&gt;Tailwind CSS&lt;/a&gt;, and &lt;a href=&quot;https://tachyons.io/&quot;&gt;Tachyons&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Keep learning. Happy holidays y&#39;all.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Bootcamp Week 1</title>
            <link href="https://yarocruz.netlify.app/posts/bootcamp-week-1/"/>
            <updated>2019-12-14T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/bootcamp-week-1/</id>
            <content type="html">&lt;p&gt;I survived the first week. Just like I had anticipated, the first few weeks are going to go smoothly for me. I&#39;m definitely still a junior front-end dev, but I feel like I&#39;m not too far from being intermediate in terms of front end. This is not to say that I&#39;m bored because I already know everything about HTML and CSS, because I know I don&#39;t know everything. But I&#39;m quite comfortable with the Bootcamp&#39;s pacing so far.&lt;/p&gt;
&lt;p&gt;On the first day we went through the logistics on how the program is gonna go, doing student introductions, and meeting the class staff. One thing the class staff emphasized was that it isn&#39;t easy nor is it going to get easier.&lt;/p&gt;
&lt;p&gt;First day we covered the Terminal. I&#39;m quite familiar with Terminal commands but it was good going through them. Got reacquainted with &lt;strong&gt;mkdir&lt;/strong&gt;, &lt;strong&gt;cd ..&lt;/strong&gt;, and others. Tab completion is simply magical, which is something I wasn&#39;t in the habit of doing, but now I&#39;m doing it all the time. The &lt;strong&gt;mv&lt;/strong&gt; command is also one I always forget about. By the end of the class we covered the basics of HTML.&lt;/p&gt;
&lt;p&gt;Day 2 was Git and Github. &amp;quot;Pull first, then push.&amp;quot; That&#39;s the mantra, repeat it. We also started with CSS. The instructor covered selecting elements by tag, class, id, and a bit about specificity when selecting. We covered layouts by using floats.&lt;/p&gt;
&lt;p&gt;On day three we covered some more CSS. Got some lectures on the box model and positioning elements with the position property. This is one aspect of CSS that I&#39;ve always been confused about. The different position values like relative, absolute, and how they work and affect the box model has always been something I didn&#39;t have a good handle on. But I think this all finally makes sense to me.&lt;/p&gt;
&lt;p&gt;One the biggest values I&#39;m already getting from the Bootcamp is working and talking with other people. Being able to peek at another student&#39;s code and help each other out is hard to do when you go the &#39;self-taught&#39; route.&lt;/p&gt;
&lt;p&gt;Another thing that I&#39;m enjoying is incorporating Git and Github to the development workflow right from the start. This is something that I&#39;ve always been curious about. Can&#39;t wait to start doing pull requests and work with a team.&lt;/p&gt;
&lt;p&gt;I&#39;m excited.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Going to Bootcamp</title>
            <link href="https://yarocruz.netlify.app/posts/going-to-bootcamp/"/>
            <updated>2019-12-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/going-to-bootcamp/</id>
            <content type="html">&lt;p&gt;I&#39;ve been thinking of doing a Coding Bootcamp for quite some time. At least for the past 2 years. After I got my A.S. degree in &amp;quot;Interactive Design&amp;quot; in 2017 I pretty much refocused my career goals on becoming a Web Developer instead of a Web Designer. Part of it, I like to think, is that being a Web Designer is becoming less of a thing. But the biggest reason was that I went from working part-time to full-time and got comfortable and simply stopped job hunting.&lt;/p&gt;
&lt;p&gt;I have read a lot about the pros and cons of Coding Bootcamps. So much that for a while I was convinced I didn&#39;t need to attend one, specially pay for one, since everything I need to learn is on the internet. There&#39;s YouTube, FreeCodeCamp, Reddit Dev subs, StackOverflow, &lt;a href=&quot;http://dev.to/&quot;&gt;Dev.to&lt;/a&gt;, hundreds of Medium dev bloggers and cheaper options like Udemy courses, Treehouse, etc. I have used all of these resources and I like to think that I have gained a solid foundation of knowledge in Web Development. All I need is to start building stuff, solving problems, and making a solid Portfolio with awesome projects. I&#39;ve been saying I will be doing this for almost 2 years now.&lt;/p&gt;
&lt;p&gt;So I went back to the drawing board. Thinking about the pros and cons of a Coding Bootcamp a bit more in depth. &lt;a href=&quot;http://syntax.fm/&quot;&gt;Syntax.fm&lt;/a&gt;&#39;s episode on &lt;a href=&quot;https://syntax.fm/show/126/bootcamps-vs-school-vs-self-learning&quot;&gt;Bootcamps vs School vs Self-learning&lt;/a&gt; was super helpful. I started looking into &lt;a href=&quot;https://bootcamp.ce.ucf.edu/coding/&quot;&gt;UCF&#39;s Coding Bootcamp&lt;/a&gt; here in Orlando. I looked at their curriculum and got concerned about them still teaching jQuery, but after having a talk with the staff I got sold on it.&lt;/p&gt;
&lt;p&gt;So I&#39;m officially enrolled to start on Monday December 9. The program is part-time, which means it will be for 24 weeks, so it will end in June 13. Class lectures will be for 3 days a week. The staff has sent links with info on how to prepare for the Bootcamp. We were assigned to go through a simple Pre-work exercise were you read up on the very basics of HTML, CSS, JavaScript, tools needed, and many other things.&lt;/p&gt;
&lt;p&gt;I&#39;m excited. I think I&#39;ll do really good. I know most of the entry level stuff. I&#39;m lighting a fire under my ass to start building stuff and making a solid portfolio with awesome projects.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Links from the Tabs</title>
            <link href="https://yarocruz.netlify.app/posts/links-from-the-tabs/"/>
            <updated>2019-04-30T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/links-from-the-tabs/</id>
            <content type="html">&lt;p&gt;I have 39 open tabs on my Chrome browser. I don&#39;t know if this is my daily average, but I&#39;m sure I have over 20 tabs open on a daily basis. I use Instapaper to save links and articles I want to get to later, but I still leave open tabs because I think I can read everything. I rarely shut my computer off, so some tabs stay opened for days. Maybe I have a problem.&lt;/p&gt;
&lt;p&gt;So here are the sites I had on my tabs this week. Most of the links are Web Dev learning resources. Maybe I&#39;ll make this into a weekly thing.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/florinpop17/app-ideas&quot;&gt;Cool App Ideas Repo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.isquaredsoftware.com/2017/12/blogged-answers-learn-react/&quot;&gt;Resources for Learning React&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/grab/front-end-guide&quot;&gt;React Focused Front End Study Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.freecodecamp.org/a-study-plan-to-cure-javascript-fatigue-8ad3a54f2eb1&quot;&gt;A Study Plan to Cure JavaScript Fatigue&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/markerikson/react-redux-links&quot;&gt;React-Redux Links&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ponyfoo.com/books/practical-modern-javascript/chapters/1#read&quot;&gt;Practical Modern JavaScript - Online Book&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://learnredux.com/&quot;&gt;Wes Bos Redux Course - It&#39;s free!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=8t0vNu2fCCM&quot;&gt;The Great Gatsby Bootcamp - 4:30 YouTube Tutorial&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://javascript.info/&quot;&gt;The Modern JavaScript Tutorial - Fundamentals&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLhQjrBD2T382eX9-tF75Wa4lmlC7sxNDH&quot;&gt;The CS50 Lectures - So freaking good!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://reactjs.org/docs/hooks-overview.html&quot;&gt;React Hooks Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://frontendmasters.com/books/front-end-handbook/2019/&quot;&gt;The Front-end Handbook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://performancejs.com/post/hde6d32/The-Best-Frontend-JavaScript-Interview-Questions-Written-by-a-Frontend-Engineer&quot;&gt;The Best Frontend JavaScript Interview Questions written by a Frontend Engineer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Twipped/InterviewThis&quot;&gt;An open source list of developer questions to ask prospective employers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://davidshariff.com/quiz/&quot;&gt;Front End Web Dev Quiz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://davidshariff.com/js-quiz/#q=7&quot;&gt;JavaScript Web Quiz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://davidshariff.com/blog/preparing-for-a-front-end-web-development-interview-in-2017/&quot;&gt;Preparing for a Front-End Web Development Interview at Top Tech Companies&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dom.spec.whatwg.org/&quot;&gt;The DOM Spec&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.prototypr.io/dissecting-front-end-job-titles-7f72a0ef0bc5&quot;&gt;Dissecting Front-End Job Titles&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Lsg84NtJbmI&quot;&gt;So, You Want to be a Front-end Engineer - Video&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.howtographql.com/&quot;&gt;How to Graphql&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/jesseskinner/formatting-dates-with-javascript-1e39&quot;&gt;Formatting Dates with JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tailwindcss.com/docs/what-is-tailwind/&quot;&gt;Tailwind CSS&lt;/a&gt;&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Math is Hard</title>
            <link href="https://yarocruz.netlify.app/posts/math-is-hard/"/>
            <updated>2019-04-09T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/math-is-hard/</id>
            <content type="html">&lt;p&gt;Math is hard. I&#39;ve never hated math back in school, but I also never did it, like, for fun. I did decent in college with the required math classes. As long as I payed attention, took lots of notes, and never missed a class, I was ok.&lt;/p&gt;
&lt;p&gt;Coding is hard too. Front End Development is using code to put things on the screen, and make the things do things on the screen. Putting the things on the screen is the easy part. Making the things do things is when things get complex.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;Ever since I completed the #100DaysOfCoding challenge, I&#39;ve been struggling to find project ideas. I&#39;ve been going back to the fundamentals and really digging deeply into JavaScript by reading books like &lt;a href=&quot;http://eloquentjavascript.net/&quot;&gt;Eloquent JavaScript&lt;/a&gt; and &lt;a href=&quot;https://github.com/getify/You-Dont-Know-JS&quot;&gt;You Don&#39;t Know JS&lt;/a&gt;. I started a &lt;a href=&quot;https://www.udemy.com/react-the-complete-guide-incl-redux/learn/v4/overview&quot;&gt;React course on Udemy&lt;/a&gt;. I&#39;ve been learning Node.js. The other day I watched a &lt;a href=&quot;https://www.youtube.com/watch?v=ed8SzALpx1Q&amp;amp;t=3634s&quot;&gt;4 hour Free Code Camp course&lt;/a&gt; on using Node.js with Express to start a server, using Graphql on the back end with Mongo, and React on the Front-End. I&#39;ve definitely have learned a lot. But every time I attempt a project on my own, without having anyone to guide me, I struggle with the simplest things.&lt;/p&gt;
&lt;p&gt;Take this &lt;a href=&quot;https://github.com/florinpop17/app-ideas&quot;&gt;App Ideas Collection repo&lt;/a&gt;. The first beginner project listed is a Binary to Decimal converter. I decide to give it a shot. I think to myself, &amp;quot;this should be simple enough. I know what&#39;s a binary number. I can probably tackle this in an hour or so.&amp;quot; I decide no matter what, not to google any solutions. To really try it.&lt;/p&gt;
&lt;p&gt;I start up a .js file with: &lt;strong&gt;let binaryNum = 1001;&lt;/strong&gt; I stare at this one line. Ok so now what? So I google how how to make that conversion using plain old math. I find this:&lt;/p&gt;
&lt;img src=&quot;https://yarocruz.netlify.app/posts/images/Screen%20Shot%202019-04-05%20at%208.01.36%20PM.png&quot; /&gt;
&lt;p&gt;Ok so brain starts churning. I know I need a loop. The project has some constraints though and it says I can&#39;t use an array. So I change the variable type to a string: &lt;strong&gt;let binaryNum = &#39;1001&#39;;&lt;/strong&gt; Then I say: &lt;strong&gt;let positions = binaryNum.split&lt;/strong&gt;; So wait? I just created an array of strings! &lt;strong&gt;[&#39;1&#39;, &#39;0&#39;, &#39;0&#39;, &#39;1&#39;]&lt;/strong&gt;. Hmmm, ok, so now what?&lt;/p&gt;
&lt;p&gt;I read up some more on binary and the math formulas that help you convert them. I go through the conversion with a pencil and paper and really understand it. So I start doing things like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;function binaryConverter(positions) {&lt;br /&gt;
Math.pow(positions[0], 2);&lt;br /&gt;
...&lt;br /&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I gets late, my brain gets foggy. The next day I just click the &lt;a href=&quot;https://www.youtube.com/watch?v=YMIALQE26KQ&quot;&gt;example project link&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;https://yarocruz.netlify.app/posts/images/Screen%20Shot%202019-04-05%20at%208.29.00%20PM.png&quot; /&gt;
&lt;p&gt;Here&#39;s the thing. Even though I didn&#39;t solve this by myself, I managed to understand everything that&#39;s happening in the function. What that function is essentially doing is taking the string &lt;strong&gt;&#39;11111111&#39;&lt;/strong&gt; and doing this:&lt;/p&gt;
&lt;p&gt;1 x 2 to power 7 = 128&lt;/p&gt;
&lt;p&gt;1 x 2 to power 6 = 64&lt;/p&gt;
&lt;p&gt;1 x 2 to power 5 = 32&lt;/p&gt;
&lt;p&gt;1 x 2 to power 4 = 16&lt;/p&gt;
&lt;p&gt;1 x 2 to power 3 = 8&lt;/p&gt;
&lt;p&gt;1 x 2 to power 2 = 4&lt;/p&gt;
&lt;p&gt;1 x 2 to power 1 = 2&lt;/p&gt;
&lt;p&gt;1 x 2 to power 0 = 1&lt;/p&gt;
&lt;p&gt;The result is 255.&lt;/p&gt;
&lt;p&gt;Of course you can simply do &lt;strong&gt;parseInt(&#39;11111111&#39;, 2)&lt;/strong&gt; where the second argument here is the &lt;em&gt;radix&lt;/em&gt; or &lt;em&gt;base&lt;/em&gt; and does that whole thing in one fell swoop without having to use a for loop or Math.pow, but now I have a clear understanding on the logic here.&lt;/p&gt;
&lt;p&gt;Let&#39;s break this function down:&lt;/p&gt;
&lt;p&gt;The function starts out by declaring the decimal variable starting at 0. It starts a &lt;strong&gt;for loop&lt;/strong&gt; which is taking the &lt;strong&gt;binary.length - 1&lt;/strong&gt; which in the case of the string &#39;&lt;strong&gt;11111111&lt;/strong&gt; means index 7 of that string. In other words, the binary.length for this string would be 8, but 8 - 1 = 7. So we are grabbing the 7th index position in this string which is the right-most 1. Now this - 1 thing on arrays and strings is clear to me! Instead of starting the the loop from left to right, it&#39;s starting the loop from right to left. That&#39;s also why i-- is decrementing and the condition is testing if the the index is over or equal to zero and keeps subtracting until it reaches 0. Then we take the decimal value and do a += (7 times in this case) we parse the string as an integer with &lt;strong&gt;parseInt&lt;/strong&gt;. The (&lt;strong&gt;binary[i]) x Math.pow(2, binary.length - 1 - i&lt;/strong&gt;) is taking&lt;br /&gt;
whatever value is in the index (&lt;strong&gt;binary[i]&lt;/strong&gt;) (it&#39;s going to be either 1 or 0) which in this case is 1 and multiply that by the result (8 - 1 - 7) = 0) 2^0 = 1. So you end up really with 1x2^0=1. But then on the next iteration of &lt;strong&gt;binary.length - 1 - i&lt;/strong&gt; the index on the loop is 6 because it gets subtracted so on that iteration it&#39;s (8 - 1 - 6 = 1) so this time it is 1x2^1=2. The arguments in the Math.pow function is saying: take 2, the first argument, and raise it the power of the second argument, in this case whatever the result of that calculation, binary.length - 1 - i&lt;/p&gt;
&lt;p&gt;So it keeps doing that until it reaches zero and remember all these final results are being added at the same time with the decimal +=. So the first time the decimal is 0. So x = 0 + 1, then x = 1 + 2, then x = 3 + 4 and so on until everything adds up to 255 when i variable gets to 0.&lt;/p&gt;
&lt;p&gt;Whoa! Hoping that this is helpful to someone.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Goodbye Web Design, Hello Frontend Design</title>
            <link href="https://yarocruz.netlify.app/posts/goodbye-web-design-hello-frontend-design/"/>
            <updated>2019-01-28T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/goodbye-web-design-hello-frontend-design/</id>
            <content type="html">&lt;p&gt;After reading Chris Coyier&#39;s article &lt;a href=&quot;https://css-tricks.com/the-great-divide/&quot;&gt;The Great Divide&lt;/a&gt; and then Brad Frost&#39;s recent &lt;a href=&quot;http://bradfrost.com/blog/post/frontend-design/&quot;&gt;Frontend Design&lt;/a&gt; post, I&#39;m more certain that the specialization of being a Web Designer is no longer a thing. Seeing others articulate something that I&#39;ve experienced and tried to &lt;a href=&quot;https://yarocruz.github.io/smart-goals-and-100-days-of-coding/&quot;&gt;articulate myself&lt;/a&gt; makes me feel reassured. I feel sad too, because for better or for worse the industry has killed the middle man. Brad Frost&#39;s &amp;quot;Frontend Designer&amp;quot; title is really just another way of saying Web Designer, but I like that it&#39;s more implicit in saying that you can code markup, can sling some front-end JS, and that you care about aesthetics and shit.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Learning How to Learn</title>
            <link href="https://yarocruz.netlify.app/posts/learning-how-to-learn/"/>
            <updated>2018-09-13T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/learning-how-to-learn/</id>
            <content type="html">&lt;p&gt;It&#39;s been 9 days of &lt;a href=&quot;https://www.100daysofcode.com/&quot;&gt;100DaysOfCode&lt;/a&gt;. I&#39;m keeping a log in &lt;a href=&quot;https://github.com/yarocruz/100-days-of-code/blob/master/log.md&quot;&gt;this forked Github repo&lt;/a&gt;. I&#39;m also using &lt;a href=&quot;https://codepen.io/collection/DLybaR/&quot;&gt;Codepen.io to post up the code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&#39;s been challenging to keep it up for the past 9 days, but I’ve soldiered on. The only time I had available this week was after work. Which means that I had to wait to drive back home, shower, and have dinner. Usually around 7pm to 8pm was when I ended up having my coding session. I also worked 8 days in a row, like some kind of animal.&lt;/p&gt;
&lt;p&gt;But I did it. I was physically and mentally drained, but I stuck to it. And that&#39;s the whole idea right? To make it a habit? To make it stick?&lt;/p&gt;
&lt;p&gt;If there&#39;s anything I&#39;m learning more than typing correct JavaScript syntax, it&#39;s learning how to learn. I think I&#39;m doing good with making it part of my daily routine, but I&#39;m not so sure how effective it is to code for 1 hour just to code for 1 hour. It&#39;s not easy to figure out how to learn and find exactly what you need to learn. It&#39;s hard to give yourself the most effective curriculum, but it isn&#39;t impossible.&lt;/p&gt;
&lt;p&gt;All I know is that I will keep tweaking it. The plan for next week is to try to do it early in the morning before work. I also need to come up with more meaty projects that are on my level. I&#39;m noticing that I either come up with super simple projects that don&#39;t help me get to that next level, or I jump into way over-my-head projects.&lt;/p&gt;
&lt;p&gt;I just don&#39;t want to fall into the &lt;a href=&quot;https://www.youtube.com/watch?v=MxxAc9a4ILU&quot;&gt;tutorial purgatory&lt;/a&gt; where I just clock in hours for the sake of clocking in the hours without making any substantial progress.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Smart Goals and 100 Days of Coding</title>
            <link href="https://yarocruz.netlify.app/posts/smart-goals-and-100-days-of-coding/"/>
            <updated>2018-09-05T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/smart-goals-and-100-days-of-coding/</id>
            <content type="html">&lt;p&gt;I want to get better at web development. Specifically &lt;em&gt;front-end&lt;/em&gt; web development. I&#39;m still just an old school &lt;em&gt;web designer&lt;/em&gt;. For a long time a web designer&#39;s role was somewhere between print designer and full on &lt;em&gt;web developer&lt;/em&gt;. But this doesn&#39;t look like it&#39;s a thing anymore. You either just stay at being a traditional print designer, transition to the UX/UI racket, or forget that Design thing and just go the full stack route. Hell, you might as well start learning C++.&lt;/p&gt;
&lt;p&gt;I&#39;m sure there are still pockets in the industry for a classic web designer, but my job hunting since finishing school has shown me that it&#39;s becoming less of a thing. Employers don&#39;t just want someone who can markup a Photoshop comp. They also want you to know the latest JavaScript frameworks and libraries, SEO, Wordpress, Joomla, Coleslaw, etc.&lt;/p&gt;
&lt;p&gt;I&#39;ve always known that this industry is constantly shifting, but it&#39;s been really challenging as of late. My skills simply don&#39;t match with what the industry is demanding. But that&#39;s ok, because this is making me redefine my career goals. It actually makes things more flexible because I can still be a Designer and also a Developer.&lt;/p&gt;
&lt;p&gt;This is why I&#39;ve been on a self-learning journey. I&#39;m doing &lt;a href=&quot;https://teamtreehouse.com/&quot;&gt;Treehouse&lt;/a&gt; courses, re-reading my &lt;a href=&quot;https://www.amazon.com/Web-Design-HTML-JavaScript-jQuery/dp/1118907442/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1536159363&amp;amp;sr=1-1&amp;amp;keywords=john+duckett&quot;&gt;old web dev and design books&lt;/a&gt;, following tutorials online, joining online coding communities, and really &lt;a href=&quot;https://eloquentjavascript.net/&quot;&gt;digging into JavaScript&lt;/a&gt;. I don&#39;t just wanna grab code snippets online to make a site more interactive. I want to be able to code it up myself.&lt;/p&gt;
&lt;p&gt;I&#39;ve definitely gotten better at the basics of front-end code. I think I code up something almost everyday. But I want to be more deliberate with my learning and practice. Giving yourself the goal of &lt;em&gt;getting better at coding&lt;/em&gt; is not super helpful. I want to start setting up &lt;a href=&quot;https://en.wikipedia.org/wiki/SMART_criteria&quot;&gt;&lt;strong&gt;S.M.A.R.T&lt;/strong&gt;&lt;/a&gt; goals. This is why I&#39;m giving the &lt;a href=&quot;https://www.100daysofcode.com/&quot;&gt;100 Days of Coding&lt;/a&gt; a shot again.&lt;/p&gt;
&lt;p&gt;Starting today I will code for 1 hour everyday until I reach 100 days. I will reach this goal by Dec 13, 2018 if I do it everyday. I will definitely Tweet my progress for accountability purposes, but I&#39;m also thinking that I should blog about it here.&lt;/p&gt;
&lt;p&gt;We will see.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>Friends</title>
            <link href="https://yarocruz.netlify.app/posts/friends/"/>
            <updated>2018-09-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/friends/</id>
            <content type="html">&lt;p&gt;I&#39;ve never been a person who has an easy time making friends. I&#39;m a loner, a homebody. I enjoy the company of &lt;em&gt;some&lt;/em&gt; people, but when I&#39;m around people, I&#39;m quiet and reserved. There&#39;s a level of shyness to my personality, but I&#39;m mostly the opposite of outspoken. I don&#39;t go out of my way to seek attention. I&#39;m not a good host. I&#39;m a classic introvert. I get energy when I&#39;m alone and away from people&lt;/p&gt;
&lt;p&gt;The friends I have made throughout my life have been a select few. I&#39;m picky, and I&#39;m also kind of a dick, but I&#39;ll get to that later. This selectivity comes more from me not being able to handle large groups of relationships. And by large groups I mean an average of more than 3 people. My social relationships have been pretty simple, at least in my mind. There&#39;s your family, your partner, and one or two good friends. The rest are just acquaintances like coworkers and schoolmates. That&#39;s it. Or is it?&lt;/p&gt;
&lt;p&gt;Being naturally introspective, I have pondered in life many topics. One of them of course has been the meaning of friendships. What is a friend? What is a true friend? My definition has always been deep. A friend to me is someone who&#39;s always there for you. It&#39;s someone you can talk to about anything. Someone you can trust. Someone that understands you. Someone that shares your point of view and has similar shared experiences.&lt;/p&gt;
&lt;p&gt;Is this too idealized a definition of friendship? Probably. As I read my definition out loud I realize that even I can&#39;t live up to being that kind of friend. I can be that kind of friend of course to my girl-friend or at least I try to be that friend. But are friendships like that possible outside of romantic relationships? Of course, and we should always strive for them and seek them out.&lt;/p&gt;
&lt;p&gt;I realize however that our social lives are complex. You can&#39;t put your relationships into two categories of friends and non-friends. That&#39;s silly and reductive. And even though I have a hard time dealing with the concept of casual friendships, I understand that seeking out the company of others doesn&#39;t always have to be a deep and meaningful interaction. I understand the power of weak ties.&lt;/p&gt;
&lt;p&gt;Here&#39;s the thing people... I&#39;m getting old. I&#39;m getting opinionated and set in my ways, and I&#39;m not liking that. I don&#39;t like how that feels. Unintentionally, I come of as someone that doesn&#39;t like people, but the truth is that I love people, even the ones I don&#39;t like.&lt;/p&gt;
&lt;p&gt;I need more people in my life. I need people I can talk to about movies and shit. I need to go to more coding meetups. I&#39;m looking for my people. I&#39;m seeking out my tribe. I&#39;m looking for friends.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>A Couple of Updates</title>
            <link href="https://yarocruz.netlify.app/posts/a-couple-of-updates/"/>
            <updated>2018-07-18T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/a-couple-of-updates/</id>
            <content type="html">&lt;h4&gt;No Web Design Job&lt;/h4&gt;
&lt;p&gt;Still haven&#39;t landed a job as a Web Designer, Interactive Designer, or anything related to my degree since the last time I wrote about it &lt;a href=&quot;https://yarocruz.github.io/im-only-getting-started/&quot;&gt;here&lt;/a&gt;. It&#39;s been 7 months. I&#39;ve gotten about 3 to 4 solid interviews. They were interviews that seem to have gone really well, but for some reason these potential employers never got back to me. I tried emailing them to ask for feedback and advice, but got nada. They ghosted me. It&#39;s been frustrating and discouraging, making me do some soul searching, and even &lt;a href=&quot;https://www.designernews.co/stories/93486-its-ok-to-quit-right&quot;&gt;considering just giving up on it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&#39;m still unclear on what path to take. I&#39;ve considered just moving away completely from design, and focus on web development, but I still love design. I&#39;m just trying to figure out what my core skill is.&lt;/p&gt;
&lt;h4&gt;Junior Front-End Developer?&lt;/h4&gt;
&lt;p&gt;Speaking of Web Development, I recently completed &lt;a href=&quot;https://www.udemy.com/the-web-developer-bootcamp/&quot;&gt;Colt Steele&#39;s Web Developer Bootcamp course on Udemy&lt;/a&gt;. I have a better idea of what &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node.js&lt;/a&gt; is for and understand what&#39;s going on in the back end. I also finished an intro to React on Treehouse and have been reading the &lt;a href=&quot;https://reactjs.org/docs/thinking-in-react.html&quot;&gt;docs&lt;/a&gt;. It&#39;s all beginning to click with me.&lt;/p&gt;
&lt;h4&gt;I&#39;m Full-time&lt;/h4&gt;
&lt;p&gt;After a decade of being part of the under-employed class, working part-time service-sector McJobs, I&#39;m finally part of the lower-middle income bracket class now.&lt;/p&gt;
&lt;h4&gt;I&#39;m Quitting Smoking, Again&lt;/h4&gt;
&lt;p&gt;I had quit smoking a couple of years ago, but relapsed around last year. I&#39;m going full cold turkey. As of this writing, or by the time I publish this blog post, it&#39;s been a little over 24 hours. Wish me luck.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The Artist Delusion</title>
            <link href="https://yarocruz.netlify.app/posts/the-artist-delusion/"/>
            <updated>2017-12-09T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-artist-delusion/</id>
            <content type="html">&lt;p&gt;I was having a conversation the other day with a coworker. He likes to talk, he&#39;s loud, he&#39;s cocky, and he&#39;s obnoxious. But I find the guy interesting. He has big goals and big dreams. He told me he wanted to start a YouTube channel, a Podcast, pitch an idea to VH1 where they will film his family. He said it will be a great show because it will show the drama of how the family will get along, or not get along. The best way I can describe him is half motivational speaker, half business douche. He probably talked for an hour straight, with me getting one or two questions in. He said things that made sense. He sounded like a man of wisdom. But every time I asked him simple questions that only required simple answers, he couldn&#39;t narrow down what it was that he wanted. He just went on and on. Rambling. Lost in thought, trapped inside his internal monologue.&lt;/p&gt;
&lt;p&gt;How crazy do you have to be to believe that you&#39;ll &amp;quot;make it&amp;quot;? How deluded do you have to be? Why is it that when we hear others talking about their ambitions and big goals we flinch? What is it about people that are caught up in their passion that makes us feel awkward? How can we tell right away that they are not gonna make it?&lt;/p&gt;
&lt;p&gt;People that have accomplished great things have already accomplished them. If we ever met Bob Dylan or Bill Gates in high school, we probably wouldn&#39;t have known what they were going to accomplish because they were too busy becoming what they became. There&#39;s something about certain people that you can immediately tell that they are not going to accomplish all those big goals. They don&#39;t have that right balance of self-confidence with humbleness. They don&#39;t have enough self-awareness or empathy. They&#39;re too caught up inside their head.&lt;/p&gt;
&lt;p&gt;I think the people that make it don&#39;t talk a lot about what they want to become. They don&#39;t theorize, visualize, or imagine it. They just become. They do the work and put in the hours. If they do have to talk about it, they talk about it to the right people. The people that actually want to listen. In contrast, the deluded artist is always talking about his work to the wrong people.&lt;/p&gt;
&lt;p&gt;I think the problem is that most people want validation and they think that the only way to get it is by becoming successful. But they are confusing success with fame. They want the fame and the glory, but don&#39;t understand that the fame was just a side effect of all that work they put in.&lt;/p&gt;
&lt;p&gt;We all make this mistake and that&#39;s why we sympathize with people that have big goals. We all want to do great things. But we have to come down from that mental cloud and start doing the actual work. That&#39;s the only way to literally make it.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>I&#39;m Only Getting Started</title>
            <link href="https://yarocruz.netlify.app/posts/i&amp;#39;m-only-getting-started/"/>
            <updated>2017-12-06T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/i&amp;#39;m-only-getting-started/</id>
            <content type="html">&lt;p&gt;I&#39;m finally done with college and I&#39;m getting my degree in Interactive Design. I did the required Portfolio Review interviews last Tuesday night. I presented my work. as best as I could. I was anxious and nervous. I did three rounds of interviews with about five people. At the end of the night I was emotionally exhausted.&lt;/p&gt;
&lt;p&gt;I kept telling myself that it was all going well, that this is just practice and not real world job interviews. But after I was done and got home, it really made me question if my projects were any good. I got some positive feedback as well as some negative feedback. That was expected. As a web designer I thought of my skills as being somewhere between good and great. After Portfolio Review night though, I felt that I&#39;m somewhere between bad and good.&lt;/p&gt;
&lt;p&gt;I know that I have to keep improving my work, but telling yourself that vs hearing it from others is a whole different ball game. You always treat yourself more kindly and it&#39;s hard to break your own ego.&lt;/p&gt;
&lt;p&gt;Even though I&#39;m in a weird funk right now, with the question &amp;quot;what now?&amp;quot; echoing loudly in my head, there&#39;s no way I&#39;m letting this experience discourage me. I&#39;m going to keep pushing. I&#39;m going to keep learning and I will be updating my Portfolio forever until the end of times. I&#39;m on a new journey and I&#39;m only getting started.&lt;/p&gt;
</content>
        </entry>
        
        <entry>
            <title>The First Post</title>
            <link href="https://yarocruz.netlify.app/posts/the-first-post/"/>
            <updated>2017-12-04T00:00:00Z</updated>
            <id>https://yarocruz.netlify.app/posts/the-first-post/</id>
            <content type="html">&lt;p&gt;According to bloggers that blog about blogging, on your first post you&#39;re supposed to talk a bit about yourself and explain what you&#39;re going to be writing about. I&#39;m doing no such thing. That&#39;s setting an expectation and I&#39;m not about to do that because I have no expectations. I&#39;m not expecting this blog to build my brand or reach an audience. I&#39;m not trying to make it as a blogger. There will be no topics or niches I will be focusing on. I have no big plans with this. The only plan I have is to write and to try to do it consistently. What about, I can&#39;t specifically say other than what I find interesting. This is a place to archive my thoughts, to give myself a reason to get my fingers moving and my brain churning. This is just my little corner on the web. This is just for me.&lt;/p&gt;
</content>
        </entry>
</feed>