A Technical Blog by Eric Polley

13. 08-31-2022

My First Portfolio and Project

Hey! It has been a few days since the last update on this blog, and a lot has taken place during these days. I'm going to bullet point everything out as an index to make sure I write about everything.

  • Updating websites and domains
  • Notebook of Ideas
  • Recording Video: When and When Not
  • 'My Friendly Computer' Game
  • Javascript Buttons
  • My new Portfolio Website
  • Two Month Recap


Updating websites and domains
I am in the middle of creating a primary website. I have established the url ericpolley.com . I am currently linking all the pages to the portfolio. So currently there are a few minor bugs to work out, mostly cosmetics.

Notebook of Ideas
I have a few notebooks with notes I have accumulated over learning HTML, CSS, and Javascript. I have also started a notebook with a few coding ideas. Some of these ideas are a few images and templates. Some of these ideas are the start to a fully developed game. I like the idea of storing my ideas for future projects. This will make it easier to pair program as well, having a few ideas to pull out of a notebook can reduce start time.

Recording Video
I don't want to talk about making videos, as much as I would like to talk about when I should or should not make videos. Really, I need to be realistic with the priority level of making these videos. Yes, creating these videos may help me with my career in the future, but my priority is coding and learning programming. The noticed when I started recording my coding progress on the 'my friendly computer' game, that I would not work on it unless I was recording video.

'My Friendly Computer' Game
I have been working on the 'My Friendly Computer' for a bit more than a week. This is the project I was referring to with creating coding videos on my progress. I was giving myself an obstacle of obligation. After I realized that and just finished it on my own terms, everything starting moving relatively smoothly. I enjoyed completeing this game, it is now the only project in my current portfolio. I linked the game in the post links below, if you would like to give it a try for yourself.

Javascript Buttons
I have learned a lot with Javascript, my focus has been manipulating the DOM. I titled this post Javascript Buttons, but with addEventListener and classList you can do so much more than buttons. If it is, then it can also Javascript.

My new Portfolio Website
I have created a portfolio landing page, hosted it on github, and applied a domain from goDaddy. I have a lot to learn when it comes to hosting a website. Currently the website only works with the cname: www. So, www.ericpolley.com works. ericpolley.com does not.

Two Month Recap
I have recorded the 8 week/2month vlog and uploaded to youtube. I added a link in the links below. I mostly talk about my new website and the 'My Friendly Computer' Game.

Links


  • VLOG Video series talking about my code progress

  • 12. 08-26-2022

    My Friendly Computer


    Hardware failure Detour.

    Before I starting writing about technical learning progress, I need to take a moment to talk about my computer hardware failure. I have mentioned in a previous blog that I have just moved computers around my house to the proper locations. The primary PC I have been using in the 2nd office had a major hardware failure. This is a nice little reminder that it's a good idea to back up your work daily.
    I decided to extract the hard drive and graphics card, and install/replace the HD and GPU in the compact Thinkcentre. Only one hard drive will fit with this PC, so the linux OS hard drive will sit on the side line for now. With the win10 hard drive installed I could extract the files and continue progress as it were.
    With a decent GPU installed; the Thinkcentre will be my back-up PC.

    The second office is much cooler in the summer. I brought the Win11 computer down from the main office upstairs and set it up in the second office. This computer is considerably better in every way, 40GB ram, RTX2060. I set up OBS Studio, calibrated the microphone, and transferred the files I extracted earlier. Now with everything back up and running, we can talk about some code!



    My Friendly Computer

    I have started working on a game. The game is currently called 'My Friendly Computer'. I am recording the coding process, check out the videos in the links below.
    The html and css are done, very simple design. The display on load or refresh is a blank game, a format that resembles an old hand-held game system. The one and only button is 'Start'. When you click the start button, the Javascript addEventListener is called according to the ID the button holds. This will call a function startGame(). Inside of this function is a list of classList.add, classList.remove, innerText = '', etc.
    I add a class to hide the start button, and remove that class from the next buttons to use. I also assign these buttons with addEventListener in case the game has restarted and one of those buttons has been reassigned in a later portion of the game. This will ensure the button always does as it was intended to do. That is something I learned while creating the prototype of this game in an earlier blog.
    When the new buttons appear, so does a blocky computer face on the screen and green text in the text box below it. When you click next, The computer asks if you would like to play a game. I use the same function pattern as the startGame(), removing addeventlistener, and adding addeventlistener to set the action to the proper button. From here I removed the hide class, classList.remove('hide') This pattern continues for the remaining questions. I have written out the decision tree in a notebook and I will be referring to this to keep track of what question happens and when.

    I created the face animated gifs in Animated CC. The face is a few green rectangles. I made a happy, sad, and neutral face. Oh, and one red face. The animation is the same for each, blinking eyes at 4fps. Just enough to add a feeling of life to the computer, yet also something that can loop indefinitely.



    Vlogs and Videos
    I do plan on recording some videos soon, and continuing my progress on the above mentioned game. I may need a day or two to bounce back from this computer failure. I may take a bit of time coding on WarriorJS, codeWars, reading, or watching tutorials.
    I am happy I was able to recover the files, I will continue forward on this game.

    Links


    11. 08-23-2022

    Lists and Tutorials

    Hey!


    Making a list.
    I have written out my two year plan. Within that two years I have set milestone goals at the 3 month, 6 month, 1 year, and 2 year mark. To meet these goals I started a monthly goal list with an end result that meets the standard set by the 3 month goal.
    To meet the goal for this month I have written out a daily goal checklist. If I keep on top of my daily list I will stay on track and meet the months goal. From here I will rewrite my daily todo list according to criteria of the month.
    The plan is to continue this cycle. Planning long term will help reduce time spent planning in the short term, in theory.



    Tutorials.
    I recorded the weekly Vlog yesterday, shortly after recording the blog.
    Make sure to check it out in the links posted below this blog post!

    I have been learning a lot with tutorials, videos, and books. I have picked up a lot of advice along the way. One piece of advice is to create learning material on that which you have learned. Nothing states understanding more than relaying the information in an easily digestible format.
    I have created tutorial videos in the past when my focus was a career in animation. I am familiar with the concept and I would like to apply the same idea to programming.
    I am going to create a list of tutorial ideas. This list will need editing and prioritizing, but it will be a good starting point.
    Before I start my list I would like to think of a recurring theme or rule. Something like ‘in 80 seconds’.
    Example: ‘Create a web page in 80 seconds!’

    I was writing the above statement as an example, but I am happy with that rule, so let’s go for it. My current plan is that I will start making a list here, and revisit this list in a later blog to properly edit, explain, and prioritize the tutorials.
    • how to choose a Language. (What do you want to do? What language does that?)
    • I decided to learn web dev. Now what? (freecodecamp, odin proj, warrior.js, codewars, leetcode, hackerRank, books, code, and of course tutorials like this.)
    • VS Code and extensions (prettier, boilerplate, live server)
    • Make your first webpage (or boilerplate)
    • Make Text appear with HTML (h1-h6, p, etc.)
    • add an image to your html web page
    • link your web pages together HTML / web page
    • Make page index links with id tags
    • fieldset, forms, input, button
    • id and class
    • style and style.css
    • make a box with css
    • change web page background
    • how to use a flex css
    • how to use a grid css
    • Make a floating Navbar

    Links


    10. 08-22-2022

    Programming my own game

    Hello,

    I am excited to write about the Unicorn Quiz Game!
    This Unicorn is the frame, or bones of the project I am creating. This game has all the core functionality. I am now going to take this design and move forward.
    For the last two weeks, I have been narrowing down the tutorials to a goal oriented path. My goal is to create a text-based button game using Javascript. I would like this to be a nice looking game with royalty free images, or images I illustrate myself. I would like the game-play to be at least five minutes.
    I have written out some of the design in a notebook. I have also drawn out a page design for how I would like the game to look. I may upload pictures of these drawings in a later blog post. The note book will guide me along as I create this game, and the Unicorn game will be great documentation.
    This project will be heavy on manipulating the DOM. Staying organized will be very important because there will be a lot going on. I am writing everything out to ensure nothing gets missed or I don't waste space with unnecessary code.

    I have the current set up to look a bit like an old Gameboy. I have a story plot in mind, and a few drawings of the sprites I plan to use. I plan on writing out all the dialog first, in a word document. I can then just paste the text in when I know its proper place. I am going to try and write the code as short and clean as possible, but that is not the focus of this project.

    Instead my focus is on an ascetically pleasing and interactive game.

    I am sure as I code a few projects, coding logic will apply it's self, and the code will be cleaner. It is a matter of knowing what to use, when. Or, when not to use something. Let's be frank, that's basically programming in a nutshell.


    I plan on recording a vlog video in the next few days. You can check it out on my website linked below. I am going to start coding this game project next.

    I am signing off for now - Eric

    Links


    9. 08-19-2022

    Rock Paper Scissors

    Hello,

    I went ahead and started the 'Learn Javascript by Building 7 Games - Full Course' by Ania Kubów on the freecodecamp.org Youtube channel. I mentioned I was thinking about doing this or going back through the Web Dev Simplified 'snake' tutorial. I am starting with the first game in the video, with the goal of completing them all in order.
    With that said, I have it in my schedule to take it a bit easy for the next few days. I may want to revisit the game tutorials I have already built to refresh and gain a further grasp on the functions syntax.

    For this blog I would like to write about the code project from yesterday, following the tutorial By Ania. This tutorial gave me a deeper look and understanding of button onclick functions. I would like to learn more about Math, Math.floor, and Math.random(). I see what they are able to do, but I would like to learn and understand, how and why. Building projects is an easy and engaging way to create a learning criteria. I build a project and take note of the bits I did not understand, or could use a better understanding there-of. With this list I look up each bit on Google and/or find tutorials on the subject. I am using this method originally on my own text-based game I am creating. Now I am diving into the tutorials to learn what I need for my own game, I am going to start looking through documentation and additional tutorials to understand and learn about the tutorials I am watching to create my own game. It's confusing? A bit. It's a tutorial inside of a tutorial. Like 'Inception', but with tutorials.

    I do believe I mentioned in the last blog that I plan on recording some live coding videos, and recording the vlog a bit less often. I will probably still do the weekly vlog for the next few weeks. I would like to starting recording some morning coding. I will probably go over the same three tutorials and then get to focusing on my own projects toward the end of the week. I don't want to get lost in 'tutorial hell', but I also want to know enough that I can create functions with DOM manipulation, create Math statements, and loops. With a set of tools I will get building.

    Links


    8. 08-18-2022

    Learning javascript

    Hello everyone.
    I spent a bit of time yesterday working on uploading the weekly vlog. I would like to keep these vlog videos short, since I am recording them weekly, there is not an extensive amount of content to go over. This is actually why I might start staggering out the frequency of these videos. In layman's terms, don't be surprised if I skip a weekly vlog, one of these weeks. I would like to spend more time creating projects and a bit less time preparing and presenting.

    Lets take a minute to talk about hardware. Yesterday, I also spent a bit of time moving desks and computers. I set up the following work spaces.

    I have set up a Linux Mint Thinkcentre pc on a metal rack in the basement. This workspace is primarily used for watching tutorial videos and tasks unrelated to coding like recording music or FL studio using WINE and PlayOnLinux. I like to use the basement for short breaks, walking up and down the stairs is an easy way to increase blood circulation in the legs. Which leads me to the 2nd and current primary work space at the top of the stairs.

    This Windows10, GTX1050, workspace has a 32 inch monitor and a standard monitor on a standard computer desk. I have installed the webcam and usb microphone to this pc for recording videos or pair programming.

    In the kitchen I have a laptop with Linux Mint. This is great for on the go, or watching tutorials on a lunch break.

    Upstairs in the office is my beast computer, with an RTX 2060 and 40GB of ram. I am currently not using this room due to temperature control issues. What I am trying to say is, I will be using this office as my primary work space next month. The four computers of Mordor.

    Before I moved the computers and furniture I backed up all the files to multiple usb sticks and external hard drives. With back-ups stored I cleaned up some files and folders while increasing maximum storage space. I was just thinking since this is a technical blog, I should go over the hardware I am using to complete these technical tasks. With that out of the way, I can talk a bit about my progress with development.

    I am working on the Web Dev Simplified tutorial: How to Code Snake. I plan on restarting this one fresh from the beginning. I also plan on working through the ‘Learn Javascript by Building 7 Games - Full Course.’ from the freeCodeCamp.org Youtube channel. I will build them in the same order as the course. I’d like to mention that I started the ‘rock paper scissors’ game a few weeks ago, and ran into a problem. I couldn't fix it at the time. Even when I downloaded the source-code, the problem was there as well! I am guessing I applied a setting that prevented proper functionality. Whatever the case may have been, I feel more confident with my problem solving skills now. I would like to take a second shot at the ‘rock paper scissors’ game, and then build the rest of the games in the tutorial.

    To sum it all up, I moved things around in my house, I have new work spaces, and I am going to work on the above mentioned tutorials. I have no plans of building any other projects this week. I really want to extract some core concepts from these tutorials. Thank you for taking the time to read this blog, I’ll show you something cool next time.

    -Eric

    Links


    7. 08-16-2022

    Week 6

    Hello everyone,
    I am writing this before I record the vlog video listed in the links below.
    I have been spending a bit of time increasing my WPM (Words per minute)/typing speed. Keeping up with verbal communication as a typist is a valuable skill as a developer; as communicating to computers is the literal job description. Writing a blog is a great exercise for this exact task, for this reason I may over-explain some things, or seem a bit long winded.
    In short, the unnecessary text has a purpose!

    As I have stated earlier I am writing this blog before I record the week 6 Vlog. With the Vlog in mind, let's lay out what I have done this week; and where I plan to go next.

    • Blog updates with github
    • Math Quiz Game
    • Tap to Flap

      • I am making an effort to update this blog regularly. I decided to create my own blog with custom code. This is great practice for coding, typing, and increases my webspace visibility.
        This is also a great landing page and index for all of my projects. This helps me keep organized and gives a clear date for career related milestones. I plan to continue this blog for years to come. Though I am sure it will evolve along the way.

        I was so excited to get the Math Quiz working. I learned a lot from this tutorial as I mentioned in an earlier blog. To sum it up quickly, I learned functions, manipulating the DOM, button functionality: Start and Restart, Wrong answer and Right answer,

        The tap to flap, which is clearly not a Flappy Birds Clone, was a fun challenge. I did not focus on the cosmetics for this project. I specifically wanted to focus on the gears and bolts of the game. I learned how to simulate gravity, add a character to a game, control the character with a button, and basic collisions!

        Yes, that was a lot to learn from two projects. I feel that to get the most out of these tutorials I will either do them both again, or follow along with a tutorial of the same, or similar, game. I am also thinking of spacing out the timing of recording the Vlog. I enjoy showing off the weeks work, but the further I am getting into Javascript, the longer the project takes. The quality of project will go up, but the quantity will go down. I don’t want to show off projects before they are done, and I dont wan’t to rush along projects. The point of these projects are for me to learn and understand, giving me tools to move on and create my own projects. Showing these projects off are just a bonus.
        I am also aware these kinds of projects are not portfolio material.
        The conclusion is that I am focusing on learning and creating this blog. The Vlog, while still important, is secondary and will therefore be uploaded less often.

        That being said I would like to do more live programming. Some hard evidence of my ability to struggle through problems. I would also like to work on some pair programming, preferably with some programmers around the same ability level as myself.

        Alright then, I am signing off, till next time

        -Eric

    Links


    6. 08-14-2022

    Tap to Flap Game!

    Hello reader.
    I am Eric Polley, currently on my 6th week of Web Development. I am currently focusing on Javascript by creating tutorials based on the needs of my current self produced project.

    Today I took on a tutorial: 'Flappy Birds Game' by 'KnifeCircus'. I found a lot of value in learning a restart function, simulating gravity, and using a button to activate a character function like jumping. This knowledge can be transferred to transition animations upon 'onclick'.
    I have also gained a general understanding of creating a clickable-button layout. Using buttons and clickable actions are a big part of creating games and apps. I would like to work on a few more tutorials of the same subject to get a further understanding of DOM manipulation, Objects, and Arrays.
    To conclude, I have finished a 'flappy-birds' game at its base core functionality. You can play the game now, click on the link below!

    Links


    5. 08-13-2022

    Tutorials

    While building the text based game I have run into a few road blocks. I know what I would like the app to do, but I do not know what code to write.
    This is a perfect learning opportunity.
    I have decided to follow a few tutorials that have some code implementation that appears to be what I am missing on my current project.
    I would like to have the game running properly before uploading a copy of it.
    I have followed one tutorial today, 'Build a quiz game' by 'Web Dev Simplified'. I really enjoy his formatting and quick pace. I added a bit of CSS cosmetics to the final product and turned it into a math quiz. In this project I learned how to use the display:hide, onclick, accessing information from an object, and replacing divs and buttons in Javascript.

    My focus for these tutorials:

    • Create a function Start and Restart Button
    • Create a Game Over
    • Create a way to keep score
    • Access an Array or Object to create a stream-line of levels
    Great. Now That the goal is set, I am going to get going on some tutorials. The Quiz game I mentioned earlier is available in the links listed below.
    Moving forward with Javascript, I plan to upload the next weekly Vlog in a few days.

    Links


    4. 08-10-2022

    Learning Javascript

    I have a concept for a text game. I outlined my idea in an earlier blog post. This project is a bit ambitious, but absolutely within possibility. It will be a great milestone marker for progress made with Javascript. I have received help on the first part of the game in javascript. I am currently stuck, which is a perfect learning experience and hard reason to push forward with learning. I am going to focus on learning Javascript to take the next step with this project.


    I am currently reading The ‘Gamers Guide to CODING’ by Gordon McComb. This book covers Javascript and presents it in a fun way. I am also using online learning resources like WarriorJS and Codewars.
    I am currently reading ‘Learn to Code. Get a Job’ by Gwendolyn Faraday. She suggests writing out your goals as a reminder to yourself when times are hard. I have written a list of goals by year for organization and motivation. This was a great suggestion.
    I have written out a daily schedule plan, this is great for keeping on task. I am revising it today, as it states on said schedule. Another great suggestion from Gwendolyn.


    I have also recorded my week 5 blog. I highlight some of the resources I have been using, some of my creations, and where I plan to go in the near future. I added a link to the video at the bottom of this post.

    Links


    3. 08-08-2022

    Pair Programming and Side Project Opportunities

    Yesterday, I had layed out my plan to create the project. I decided to take a break before I got started building it. Right before I took a break I decided to check around on discord. [I have recently read about pair programming. and was excited to implement the practice] My expectation was low, I honestly thought I would put a message out there seeking like-minded folks to pair program. I posted in a few coding groups on Discord.
    Before I was able to get up and continue on to my break I had planned earlier, I received a reply "sure". This was unexpected, and exciting. I message the person directly, a few questions later, I am sharing my screen, explaining this project that I am going to try to build. This person has a CS degree and 10 years of experience with an extended knowledge of Javascript. It was fun to teach them a thing or two about CSS. I learned a crazy amount from them. We built the app about 20% and I decided I would like to know more on javascript before continuing. We had been going for a few hours at this point.
    Since our interaction, I have been studying and changing the code.
    We had button one set to reveal [0] in the array. I set button 2 to [1], and 3 to [2]. Now revealing the corresponding text to each button and text area. I touched up the CSS to make it look nice. I saw an opportunity: This game as-is, would be a functional text-reveal to button. Check out the links below to see exactly what I am talking about.
    In conclusion:

    • I have learned what it is like to pair-program with someone
    • I started coding my text game project
    • I created a webpage with interactive buttons

    Links


    2. 08-07-2022

    Creating a text-based button game

    Through my reading I have been suggested to create a Project Story.
    This sounds both productive and useful. I like the idea as it will help me practice communicating about the work I am doing, while I am working on it.
    To get started with this, I have an idea for a game. The core concept is relatively simple, I am hoping the execution will follow.
    The image to the right is the basic layout concept. I in detail about the vision and goals of this project, click 'Initial Concept and Layout' below.

    Links


    1. 08-06-2022

    Starting the Blog

    "I envy people who do a little of this, a little of that" - Idiocracy

    I am currently coding this page. I considered using a blogging platform, but saw this as a coding exercise opportunity.
    I am currently on my fifth week of Coding. I am starting with HTML, CSS, and JavaScript. I have a plethora of learning sources including:

    • freeCodeCamp
    • odinProject
    • warriorjs
    • codeWars
    • hackerRank
    I am reading a few books as well.
    • Learn to Code. Get a job. - Gwendolyn Faraday
    • Beginners Step-by-Step Coding Course - Darling Kindersley
    • The Gamers guide to Coding - Gordon McComb
    • Learning Coding Basics in Hours with Javascript - Tech Academy
    • Get Coding! Learn HTML, CSS, and Javscript and build a website, app, and game
      - Young Rewired State

    I have my learning sources, I have a criteria plan, and a curriculum set.
    Though this will probably evolve over time, my current curriculum is:

    • HTML
    • CSS
    • Javascript
    • Git
    • React.JS
    • Typescript
    • Java
    • Kotlin
    • SQL
    • Python

    If you know the industry, you probably know what I am going with that list.
    My short-term goal current focus is be Web Development. As I dive deeper into the subject I will develope web apps and apps. With a few reputable projects, using each language, I will continue to learning Java and start with back-end development.
    From here I would like to extend my knowledge of mobile engineering and start learning Kotlin. With a few projects I will continue forward
    The next step is enforcing and gaining skills for back-end development. With that I will learn SQL, and then Python.
    This leads me to my long-term end-goal of becoming a Full-Stack developer and UX/UI Mobile Developer

    Links


    Eric Polley - erpolley.com 2022 Web Developer