Month in Review: March 2018

Month in Review Header

This month started out slow for development because I was still finishing up my Navy Reserve annual training, with a drill weekend following my return.  Then I was working to get caught up with being gone for a couple weeks.

Once a year our Fire Department holds a reverse raffle as a fundraiser.  Of course, it was the third Saturday of the month.  This meant all the finishing touches were being wrapped up in the middle of all my Navy stuff.  There was a lot going on at once.

Starting tomorrow things should be closer to being back to "normal."  I made a couple changes this month:

  • Moved fitness from a "hobby" to a priority.  It's been too easy to not go for a run or push-ups/curl-ups because there is something else to do.  My Navy PRT goals are 1.5 mile run in 11:23, 78 curl-ups in 2 minutes, and 60 push-ups in 2 minutes.  That's not going to happen without working for it.
  • Received Michael Hyatt’s Full Focus Planner a few days ago and plan to start using it today.

Learning Development

freeCodeCamp

I completed the Basic JavaScript section of JavaScript Algorithms and Data Structures and started on ES6. This week I should be able to start in on Regular Expressions.

LinkedIn Learning

My premium subscription to Lynda.com ran out at the end of April and I was going to go without, but then I realized how much I was using it.  I decided to try LinkedIn Learning and go for another year.  So far, there are just a few little things I don't like as much as Lynda.com, but I'm going to give it a little more time.

As much as I want to jump in to React so I can start building more with Gutenberg, I'm going to (painfully) limit myself and proceed in logical order.  I already do pretty well with HTML and CSS, but I really want to get a strong foundation of JavaScript before I move on.

Right now my plan is to take the Become a Front End Web Developer learning path, and then the Become a Vanilla JavaScript Developer learning path.


Projects I Worked On

Island of Aloha

Purpose

This is basically going to be my blog for all things non-development.  I originally was going to name this Aloha from Dad, but decided to change it to Island of Aloha because there is going to be quite a bit of stuff related to Hawai’i.  I have an old site that hasn’t been updated in a long time where I started to keep some of our favorite recipes and household tips; I’ll be moving these posts over to Island of Aloha.

Progress

I have the domain purchased and a maintenance page set up.  I created a local copy of my old site as well as one for the new site.  The posts are starting to move over from the old site.  Since the page URLs will be changing, I’ve also started looking into page redirects.  The site doesn’t get a lot of traffic, but there are a couple popular recipes on there.


Goals for The Month

  • WordPress.org Support Forums.  I haven't been able to spend much time in the forums lately, but I hope to get back into that.  My goal is to spend 30 minutes each day providing support.
  • JavaScript Guessing Game (Fixed Number). I still have to take the picture of the mini-figs and this will be finished..
  • Island of Aloha [Website]. I'm going to slowly continue working on transferring my old Household Discoveries site to Aloha from Dad.  This will also involve creating a recipe custom post type.
  • freeCodeCamp. I'll be continuing on with the JavaScript Algorithms and Data Structures section, finishing up the ES6 portion this week.
  • Blogging.  I've wanted to start writing for a while, but this month I plan to start.  My initial goal is to start with one post every 2nd Tuesday of the month.

Aloha, a hui hou (until we meet again)!

Month in Review: February 2018

Month in Review Header

This was a very slow month for coding because of my Navy Reserve annual training.  I'm finishing that up today and I haven't done much outside of that the past couple weeks.  I'm posting this from my hotel room in Norfolk, VA before I head for the airport. 

I'll be getting back into things on Monday morning and March should be much more productive.


freeCodeCamp

I completed the Applied Responsive Web Design projects, which was the last part of the Responsive Web Design section.  The next section is JavaScript Algorithms and Data Structures.  I made it about halfway through the Basic JavaScript section before leaving for my annual training.


Projects I Worked On

Client Questionnaire

Purpose

Have a checklist of things to go over when helping friends and family members plan and build their sites.

Progress

Completed.  After spending some time looking at what others were using, I decided I was wasting my time.  I have no desire to be a freelancer, so it's not like this is something I'm going to use that often.  It just didn't make sense for me to spend a lot of time working on it.  I decided I'm going to use iTheme's 65 Questions to Ask During Your Next Freelance Client Meeting and be done with it.


Goals for The Month

  • JavaScript Guessing Game (Fixed Number).
    I didn't get the picture taken to finish this up, but that's all I need and it will be done.
  • PRT Tracker [WordPress Plugin].
    This is to track my running, push-ups, and curl-ups for our Navy Reserve Physical Fitness Test (PFA).  I  started a plugin before and had the basic functionality working.  I'm going to start over and make it work with Gutenberg.  The plugin will feature a custom post type to collect workout information and progress reports based on my goals.  This will be a little slow since I'm also going to need to learn about developing with Gutenberg.
  • Aloha from Dad [Website].
    I'm going to slowly continue working on transferring my old Household Discoveries site to Aloha from Dad.  This will also involve creating a recipe custom post type.
  • freeCodeCamp.
    I'll be continuing on with the JavaScript Algorithms and Data Structures section, with the goal of spending six hours a week.

Aloha, a hui hou (until we meet again)!

Week in Review: January 29-February 4, 2018

Week in Review Header

This is going to be the last of the short-lived Week in Reviews. I've decided to shift to a Month in Review that will be posted on the last day of the month. These weekly posts have been taking too much time for no more than they are providing at this point.

The Month in Review will be more of a list format (I think). It will include more specifics about what I learned, any problems I ran into, or any big accomplishments I had.

Changing to this format should also give me time to write something besides updates. I'm going to start slow with the goal of one post every second Tuesday of the month beginning in March. This can be a tutorial, something I've done, something I want to do, a review, or any number of other topics.


Learning

freeCodeCamp

I completed the Survey Form and Product Landing Page projects. I'm working on the Technical Documentation Page and then all I'll have left in this section is building a personal portfolio webpage.
My Current Applied Responsive Web Design Project: Technical Documentation Page

I've mostly been going through the tests in each project to make sure everything is working right. Now I'm adding to that a bit. I'm still going to make sure everything is working, but I'm also going to make my projects look like the examples as much as possible. This will be a good practice in replicating something just from how it looks on the front end.

Lynda.com

Last week I completed the Learning React.js course as part of the Become a React Developer learning path. The course works through building a note app. I learned a few things and got some more ideas to work on down the road.


Projects

JavaScript Guessing Game

GitHub [Project Code]: https://github.com/geoffreyshilling/javascript-guessing-game-fixed-number

Purpose

I thought it would be fun to have people guess how many minifigs (LEGO people) I could fit into a Mason jar. Since the number doesn't change, it won't be something to play over and over. I'll be adding it to my 404 error page in hopes that it won't be seen that often.

Progress

I'm almost finished with the game. The only thing I need to do yet is to add the actual photo of minifigs. It currently has the following logic:

  • Allow only numbers to be input.
  • Accept input from the regular number keys and also the number/key pad.
  • Allow the user to enter a guess by clicking the button or pressing enter.
  • Allow a maximum of 5 guesses per game.
  • Allow the user to play again once the game is over.
  • Prevent a user from guessing the same number twice.
  • Limit number of digits per guess to 4. Example: 1234.
  • Set focus to "Play Again" button when game is over.
  • Disable input field when game is over.

The "Store"

Purpose

I'm working on a business website for a family member. The "store" is currently a hard-coded, non-responsive HTML site with images of the business's catalog. The new site is being built with WordPress and WooCommerce. They have no desire to sell online, so this will be more of a showcase of products. The new site will allow the business to add or remove products without having to contact a developer to update the HTML.

Progress

  • The site is nearly ready. I've uploaded the site to a development area for the business to look at.

Goals for The Month

I like to have a list planned in case I need it, but I'm guessing I won't have a lot of spare time the next couple weeks. There is a presentation I need to finish up for the Navy Reserve, so that will take priority. Because of this, I also don't plan to spend much time answering questions in the forum this week. I don't like answering a question and then not being able to get back to it for a few days. That's pretty frustrating for the person having trouble. The goal each day is to check for spam in the forums, spend 30 minutes working on freeCodeCamp, and then the rest of the time on my presentation. Once it's complete, then I can go back to my normal schedule.

  • JavaScript Guessing Game (Fixed Number).
    • All I need to do is take a picture of the minifigs in the jar, put it on the page, and add that to my 404 error page. This has been a fun project with a major bonus of getting my son interested in coding.
  • Now Page.
    • I'm going to work on a "Now" page. I had one of these in the past using Objectives and Key Results (OKRs), but it just wasn't working for me and my schedule. The "now" page will be updated quarterly and show what my goals are for that quarter and possibly a list of projects I'd like to work on. Development is a hobby for me, so it's pretty low on the priority scale when it comes to everything else. It's hard for me to set time-based goals for this reason.
  • Aloha from Dad.
    • I really don't need something else to work on, but this is going to be a new site for all my non-code stuff. It's going to be about the lowest priority project I have, but I've wanted to do it for a long time and it's going to take a long time to complete. It's mostly going to be a place for me to write about projects our family does, recipes, travel, Cub Scouts, Navy Reserve, and more. The site will start very basic and grow from there. It will always be a work in progress.
  • "Client" Questionnaire.
    • I have absolutely no desire to be a freelancer. None. I love development and support, but I'm not big on marketing or some of the other things you need to do. I have a number of requests for help with sites from friends, family, and non-profits I support (such as our Fire Department). It would be nice to get something together to help the process move smoothly along. I'm calling this a "client" questionnaire so you'll know what I'm talking about. The purpose of it is to get input from the groups listed above to set priorities when I help them out with a site.
  • Learning.
    • freeCodeCamp. I'll be continuing on with the Applied Responsive Web Design Projects, spending 30 minutes a day.
    • JavaScript. As much as I want to jump in and learn React.js, I want to build a solid foundation with vanilla JavaScript first. I've decided to switch over to the Improve Your JavaScript Language Skills learning course on Lynda.com.

Aloha, a hui hou (until we meet again)!

Week in Review: January 22-28, 2018

Week in Review Header

It was a productive week, despite being busy!  The last couple weeks I've written the week in review right before I post it.  I think I'm going to write it as I go through the week from now on so there isn't as much to do at the last minute.  My aim will be to post the week in review on Sunday each week in the future.


Learning

JavaScript 30

I completed JavaScript 30 a little earlier than I planned since I did several each day to finish it up.  This was a really fun course and I definitely learned a lot!  It was definitely a change of scenery for me with the ES6 syntax, but there wasn't anything too bad.

freeCodeCamp

I didn't spend as much time on freeCodeCamp this week because I went ahead and finished up JavaScript 30.  I finally got to the projects section in Responsive Web Design and  started the Tribute Page.  It took less than 30 minutes to fulfill the user stories and pass the ten tests, but I'm still going to work on it some more.  You can see my FCC Tribute Page – Hawai'i at CodePen.

Gutenberg Development

I also finished Zac Gordon's Gutenberg Development course this week.  I love it and will be going through it again.  Beyond everything I learned, it gave me several ideas of things to try.  This has me even more excited to get started working on my own plugins.

Lynda.com

As I mentioned before, I'm very interested in Gutenberg.  In order to get more involved with the project, I need to learn the languages.  Last week I started the Become a React Developer learning path.  The Gutenberg Development course helped me get familiar with some of the syntax, but I have a long way to go; this is brand new to me.


Projects

JavaScript Guessing Game

GitHub [Project Code]: https://github.com/geoffreyshilling/javascript-guessing-game-fixed-number
CodePen [Live Example]: https://codepen.io/geoffreyshilling/pen/BJGBgY

Purpose

The kids and I love LEGO and we have quite a few Minifigs. I thought it would be fun to have people guess how many I could fit into a Mason jar. Since this number isn't ever going to change, it's not something they would play over and over again. I think my site's 404 error page would make a good home for this reason. That way some people will come across it but

Progress

I spent most of this week on smaller rules to make the game run smoother and look better.  I decided to use Bootstrap for the page in order to get a little more familiar with it.  My initial code game code is now up on GitHub

I was working on the game over the weekend when my son woke up and he wanted to see what I was doing.  He was just as interested in the code on the backend as he was on how the game looked/played.  A future developer??  We'll see!

The game currently has the following features/rules:

  • Allow only numbers to be input.
  • Accept input from the regular number keys and also the number/key pad.
  • Allow the user to enter a guess by clicking the button or pressing enter.
  • Allow a maximum of 5 guesses per game.
  • Allow the user to play again once the game is over.
  • Prevent a user from guessing the same number twice.
  • Limit number of digits per guess to 4. Example: 1234.
  • Set focus to "Play Again" button when game is over.
  • Disable input field when game is over.

The "Store"

Purpose

I'm working on a business website for a family member. The "store" is currently a hard-coded, non-responsive HTML site with images of the business's catalog. The new site is being built with WordPress and WooCommerce. They have no desire to sell online, so this will be more of a showcase of products. The new site will allow the business to add or remove products without having to contact a developer to update the HTML.

Progress

  • Over 600 products have been added.
  • A few tweaks have been done to the design.
  • The shopping cart feature has been turned off.

Goals for This Week

It's going to be a busy week between Cub Scouts, our monthly Fire Department Business meeting (my first as the official Treasurer), and preparing a presentation for our Navy Reserve drill weekend. It's also slightly warmer this week, so I'm hoping to go for a couple runs.

Focus Areas

  • JavaScript Guessing Game (Fixed Number).
    • I'm going through everything one more time and then finish up the documentation.  The game should be completed this week.
  • The "Store."
    • I need to work on the store's logo/header image and the breadcrumb link colors.  There isn't too much left before the site should be ready to go live.
  • Now Page.
    • If I finish up with the other projects, I'm going to work on a "Now" page.  This page will show what my goals are for each quarter and maybe the list of projects I'd like to work on.
  • Learning.
    • Now that I've finished JavaScript 30 and the Gutenberg Development course, I'm going to try to spend at least 30 minutes each day on freeCodeCamp. 
    • I'm still going back and forth about my Lynda.com premium membership.  I thought I was going to cancel it, but now I'm leaning towards letting it expire, but then signing up for it through LinkedIn Learning.
    • I'm going to continue learning about Gutenberg, which means a focus on JavaScript and React.  I'm going to continue on the Become a React Developer learning path on Lynda.com.

Aloha until next week!

Week in Review: January 8-21, 2018

Week in Review Header

As I expected, it was a busy couple of weeks. I sat down and figured out everything I would like to accomplish each week. There is almost 30 hours of development stuff I would like to fit in on top of normal life (family, job, fire department, Cub Scouts, and Navy Reserve). It's tough finding room because development won't come before family, so I'm not willing to just spend more time in the evenings working on it.


Learning

JavaScript 30

I got caught up on JavaScript 30 and am now doing one a day; I'll finish on January 30. My son was watching during part of the unreal webcam fun (day 19) and I think he enjoyed that as much as I did!

freeCodeCamp

I was finally able to get started on the beta (for now) version of freeCodeCamp. It's broken down into various sections, but it starts with Responsive Web Design and progresses from there. I've completed the following items during the last two weeks:

  • Basic HTML and HTML5
  • Basic CSS
  • Applied Visual Design
  • Applied Accessibility
  • Responsive Web Design Principles

Gutenberg Development

I signed up for Zac Gordon's Gutenberg Development course, as much as I know I should have waited until I finish JavaScript 30. I'm really loving Gutenberg and wanted to get started on this. Once I'm done with JavaScript 30, I'm going to shift that time to over to Gutenberg and building my own plugin.  I plan to take the course several times, but I'm currently 64{df82e2773629ceda45604928bb96db4e2c3d4d8bde97209d3a6adb0aa8f8c124} through it the first time around.


Projects

JavaScript Guessing Game

GitHub [Actual Project Code]: https://github.com/geoffreyshilling/javascript-guessing-game-fixed-number
CodePen [Live Example]: https://codepen.io/geoffreyshilling/pen/BJGBgY

Purpose

The kids and I love LEGO and we have quite a few Minifigs. I thought it would be fun to have people guess how many I could fit into a Mason jar. Since this number isn't ever going to change, it's not something they would play over and over again. I think my site's 404 error page would make a good home for this reason. That way some people will come across it but

Progress

I started working on the JavaScript guessing game last week and made good progress.  The game is working, but I need to do some more testing and add more documentation.  It currently has the following rules:

  • Allow only numbers to be input
  • Accept input from the regular number keys and also the number/key pad
  • Allow the user to enter a guess by clicking the button or pressing enter
  • Allow a maximum of 5 guesses per game
  • Allow the user to play again once the game is over
  • Prevent a user from guessing the same number twice

Goals for This Week

It's going to be a busy week between Cub Scouts, our monthly Fire Department Business meeting (my first as the official Treasurer), and preparing a presentation for our Navy Reserve drill weekend. It's also slightly warmer this week, so I'm hoping to go for a couple runs.

Focus Areas

  • JavaScript Guessing Game (Fixed Number).  Finish up the guessing game and get it added on the 404 error page with a photo of the minifigs.  I also want to make sure it follows WordPress coding standards for HTML,CSS, and JavaScript.
  • The "Store." I'm working on a business website for a family member.  The "store" is currently a hard-coded non-responsive HTML site with images of the business's catalog.  The new site is being built with WordPress and WooCommerce.  They have no desire to sell online, so this will be more of a showcase of products.  The new site will allow the business to add or remove products without having to contact a developer to update the HTML.

That's all for now. Aloha until next week!

Week in Review: January 1-7, 2018

Week in Review Header

As I expected, the year is off to a very slow start with my goals. I didn't get make much progress last week, but the next couple weeks should be much better.  Our Navy Reserve junior sailors' evaluations were due this past weekend and those took quite a bit of time.  We also had temperatures around 0, leading to our pipes freezing.  We got them thawed just in time for our furnace to stop working.  Luckily we have a wood stove or else we wouldn't have been able to stay in the house. As of this morning, the living room was about 70 degrees with the rest of the house warming up to around 50.  We had someone look at it on Friday but they couldn't get the part until this week.  They should be out to get things running this afternoon.  The part didn't work so they are going to try something else either tonight or in the morning.

Edit 1/11:  The part for our furnace didn't work, but they figured out the gas valve was bad.  They got it fixed Wednesday morning.  So now we have thawed pipes and heat… Then the floor was wet by our toilet.  That turned into a big job that required ripping out some of the floor.  I won't be doing much learning/development this week and will share the next Week in Review on January 21. 


Learning

JavaScript 30

I only got through 3.5 days of JavaScript 30 but I was happy to get started.  It's been fun and I learned some things.  The CSS + JS Clock from day 2 was a neat little project, but it left one thing out.  When it got to the top of the hour, the hand would spin around counter-clockwise to start over instead of going from 59 seconds to 0 to 1 like you would expect.  I played around and found the following code worked well for fixing this.  If it's the top of the hour, it will remove the transition so the hand doesn't try to go counter-clockwise back to the beginning (1 second).  I repeated the process for minutes and seconds.

if (seconds >= 59) {
    secondHand.style.transform = `rotate(${secondsDegrees-1}deg)`;
    secondHand.style.transition = "none";
} else {
    secondHand.style.transform = `rotate(${secondsDegrees}deg)`;
}

See the Pen JavaScript 30 – JS and CSS Clock by Geoffrey Shilling (@geoffreyshilling) on CodePen.


Podcast Picks of the Week

I listen to way too many podcasts.  This isn't nearly all the podcasts I listen to, but any time I take notes on something, I'm going to share it here.


Goals for This Week

I told you it was a pretty quiet week (in terms of development).  This week I hope to get on track with my schedule and goals and have much more to report on that.

I know fitness isn't directly related to code, but I think you have to have a good balance in life.  Developers spend a lot of time in front of a screen.  For this reason, I may start adding my fitness goals and workouts to the week in review.  I'll also be working on a plugin at some point directly related to that.


That's all for now. Aloha until next week!