Month in Review: March 2018

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.

Month in Review: February 2018

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.

Week in Review: January 29-February 4, 2018

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.

Week in Review: January 22-28, 2018

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

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

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!

Planning for 2018: WordPress Support, JavaScript, and Community

Happy New Year!  Life only seems to be getting busier as my kids get older and I take on more responsibilities in the Navy Reserve.  I was also voted in as our fire department's treasurer, effective today.  It'd be easy to say I'm busy enough and don't need to add anything else to my plate.  I wish I could do that, but it's not that easy.  I don't plan to ever stop learning; I just need to find a place for it in the schedule.

TL;DR:  Check out my action plans for the year.

I've struggled for the longest time with where to begin learning development. I've been a tinkerer for years, but now it's time to dive into things.  I love working on both the front-end and the back-end.  I've been learning more PHP and got into WordPress plugin development the last couple months.  I even completed my first plugin, Hawaiian Howdy. Although I have a couple other plugins in progress, I'm going to take a step back and put them on hold. I'm a little hesitant to do that because of how much I'm enjoying myself, but this is what I need to do right now.  Those plugins will eventually be rebuilt in JavaScript.

I'm focusing on two major areas and one minor one for 2018. My big goals are to get back into support on the WordPress.org forums and to learn JavaScript. My smaller focus is on community, whether that's online or in person.  By "smaller" I don't mean that it's less important, only that I'll be spending much less time on it than the others. 

WordPress Support

I used to spend quite a bit of time on the WordPress.org Support Forums.  I tried to split my time between there and the WordPress.com forums last year to learn how that platform worked. I simply didn't have time for both. Nothing against WordPress.com of course, but I missed the .org forums and came back in limited capacity.

This year I'm planning to spend at least 30-45 minutes a day in the forums. Some days it can take five minutes to clean up spam and others it can take 30; I love to eat SPAM, but hate spam in the forums.  This amount of time should be long enough to look at support topics instead of only being able to do moderator-type things.

My shift in focus on development will also change how I work on the forums. Instead of looking at everything, I'll be working more on the front-end questions in the forums.

Learn JavaScript, Deeply

I'm a beginner when it comes to JavaScript. I've done some basic work and understand general programming concepts. That comes in useful, but I have to look up most things at this point.

It's going to take more than a year to learn JavaScript deeply, but you have to start somewhere.  I may be shifting my focus but I'm not leaving WordPress.  Morten Rand-Hendriksen gave a great presentation at WordCamp US, Gutenberg and the WordPress of Tomorrow. I really started to see the potential of Gutenberg.  I like where things are headed and I want to be a part of it.

Instead of trying to learn every aspect of WordPress, I'm going to primarily focus on JavaScript. Of course, I still want to have a general idea of how things work.

freeCodeCamp

I’ve spent some time working on freeCodeCamp’s Front End Development certificate last year. I did this while I was trying the #100DaysOfCode challenge, with a goal of coding an hour a day. I made it to day 54. That’s when I realized I was focusing more on reaching that hour of code than actually learning what I was doing.

I’m trying freeCodeCamp again in 2018, but this time I’m slowing way down. I will only move on to the next topic once I completely understand the current one. As I was looking at getting back into it, I realized they are working on a beta version with new certificates. These new certificates include:

  • Responsive Web Design
  • Algorithms and Data Structures
  • Front End Libraries
  • Data Visualization
  • APIs and Microservices
  • Information Security and Quality Assurance

I'm not too concerned with the certificates themselves, but so far this has been a great way to learn. Each certificate should take around 300 hours based on a post on the freeCodeCamp forums. I figure that has me set for the year and covers many of the topics I want to learn.

Community

I'm also adding community into the mix. If you know me, you know I'm a very quiet person.  It's not that I don't like being around people or talking, I just don't talk much.  Unfortunately, this makes it easy to lose touch with people.

I want to do a better job of keeping in touch with people in 2018. I've met a few people at WordCamps and various places that are really nice, but I don't talk much with them outside of the events.

Summary

I know a lot of people have a hard time staying with their goals. My problem isn't keeping them, but finding the time. I've created an action plan for each of my main goals for the year. I also plan to start writing more in 2018, but I'm still figuring out the details on that right now.  As much as I love support and learning, this is only a hobby for me.  That means family events, Navy Reserve duties (including the junior sailors' evaluations that I'm currently working on), and the fire department will take precedence over things on this list. Things can and will come up, but this is a good reference point.

WordPress Support Action Plan

  • Spend 30-45 minutes each day in the forums
    • This can be cleaning up spam posts and/or answering questions
  • Read everything posted in the #Forums Slack channel
    • Time spent in the slack channel will not count towards my time in the forums

Learn JavaScript, Deeply Action Plan

  • Spend one hour each day learning on Lynda.com until my subscription expires in February
    • I have a Lynda.com premium subscription that I'm reluctantly going to let expire at the end of February
      • It's hard for me to justify the cost when this is only a hobby
      • I can always subscribe again in the future if I want and I may do that once I'm done with freeCodeCamp
  • Follow what's going on with Gutenburg and JavaScript within the WordPress community
  • Follow along with the #core-js channel in slack
  • Complete JavaScript 30
  • Start over with the beta version of freeCodeCamp
  • Post my week in review
    • Include how any challenges are going, what I've learned, what had me stumped, and any other useful information I came across the last week
    • Share any useful podcasts from the week

Community Action Plan

  • Spend at least 15 minutes per day reaching out on social media, blogs, or email.
  • Make a conscious effort to keep in touch with friends on a regular basis.

Charting a Path for 2018

We're down to the last couple weeks of 2017 and this is my last post for the year. The holidays are a busy time for many people, and our family is no exception.

We have evaluations coming up this week for the junior sailors in our Navy Reserve unit. If it's anything like last time, that'll easily take 20+ hours over the next couple weeks.  This is a big thing because it affects whether or not my sailors get advanced.  That takes precedence over anything I'm doing just for fun, including development and support.

With all of this going on, I decided it would be a perfect time to take a break and reflect on 2017 and start charting my path for 2018. I go back and forth with what to work on and in what order, but I think I'm pretty close to a decision.

I'll write an update for January 1, 2018 once I get things planned. This is not to be confused with a New Year's resolution; I typically don't do those. If I have something I want to do, I start working on it and don't wait for the new year.  Some of the things I'm going to be working on include:

  • Support: I've been doing some support this year, but not nearly as much as I would like.  Although I'm shifting my primary focus to development, I also intend to get more involved with the WordPress.org support forums again. 
  • Development:  I'm going to hit development hard in 2018, but the problem is what to focus on.  I want to learn JavaScript, SASS, and increase my level of HTML and CSS, and PHP.
  • Blogging:  I intend to write on a more regular basis in the coming year.

They're a couple small changes I'm also making to the site, including some tweaks to the structure. My weekly updates will start up again in the new year.

Have a very Merry Christmas and a Happy New Year! I'll see you again on January 1, 2018!

Week in Review: November 20-26, 2017

I hope you had a Happy Thanksgiving for those of you that celebrate it! Thanksgiving is always a busy time of year. I work for a publishing company and last week some volunteers went in for a few hours late at night to get the Black Friday/Cyber Monday fliers in the newspaper; it was a three pound paper. Now it's back to regular IT work during the day.


Learning

WordPress/PHP

I'm semi-happy to say I didn't learn much in these first two videos and they were more of a refresher. Nothing against the courses by any means – they are great – but I knew enough prior to taking them I probably could have skipped them. I wanted to complete the entire Become a PHP Developer learning path on Lynda.com and these are part of it.

[Lynda.com] Finished HTML Essential Training by James Williamson.

[Lynda.com] Finished CSS Essential Training 1 by Christina Truong

[Lynda.com] Started JavaScript Essential Training by Morten Rand-Hendriksen

General/Tools

  • [Atom] atom-live-server Package
    This package performs a live reload of your web browser based on the changes you make/save in Atom. I've wanted to look at something like this for a while, but haven't had a chance. I learned about this in Morten Rand-Hendriksen's Lynda.com course, JavaScript Essential Training.

Projects

[Plugin] Hawaiian Howdy

Purpose: Hawaiian Howdy is a simple plugin that changes the "Howdy" text in the admin area to a Hawaiian greeting based on time of day. It can also wish you a Happy Aloha Friday. Both of these are options that can be turned on or off independently.
Progress: Although I didn't quite finish the plugin this week, I came very close. The code itself is done as of yesterday. The last thing I'm working on is the readme file, screenshots, and updating the plugin's page on my site. It took a while for this simple plugin, but I learned a lot. I will probably take a look at this again in the future and do a rebuild using classes/object-oriented programming.
GitHub Repo: https://github.com/geoffreyshilling/hawaiian-howdy


Podcast Pick(s) of the Week

I’m going to start sharing my top pick(s) next week. Between Thanksgiving and everything leading up to it, I missed a lot of podcasts this week.


Goals for This Week

  • [Event] WordCamp US: It's hard to believe it's WordCamp US time again! Even though this year was really busy and I wasn't able to make it to any other WordCamps, I do everything I can to not miss this one. The last two years it's been in Philadelphia, PA. It's in Nashville, TN this year and next year and my wife is even coming with me. I plan to write a post about the experience.
  • [Plugin] Hawaiian Howdy: I'll finish up the readme file, screenshots, and update the plugin's page.
  • [PHP] IZ Ipsum: The code on IZ Ipsum needs cleaned up. Although this is a non-WordPress project, I do want to rewrite the code so it conforms to the WordPress PHP standards.
  • [Website] GeoffreyShilling.com: I plan to make the site restructuring go live on January 1, 2018. I need to continue adding content and writing the text for the different pages. And I still need to take a picture of my mason jar full of mini-figs 🙂
  • [Learning] Lynda.com: This week I should finish up JavaScript Essential Training as part of the Become a PHP Developer learning path. Learning PHP is the next course in the path.

That's all for now. Aloha until next week!
Maybe I'll see you at WordCamp US!

Note: This post was written using Gutenberg.

New Feature: Weekly Progress Report (for November 13-19)

I’ve been narrowing my focus over the past few months and will continue to do so. The biggest change I’ve made is that I’ve decided to stop working on the #100DaysOfCode challenge just past the halfway point, at day 54.

I started making changes to have the rules fit me and how I was going to do it, and it was really getting pretty far from the initial challenge. And it's not like I need inspiration to keep going – if I have time to work on things, I do.

I was learning a lot, but felt obligated to code each day to get the challenge done. This was coming at the expense of learning why I was doing the things I was or how it actually worked.  That's not what I want.  Although I still have a certain amount of time scheduled each day for projects/development, I’m no longer worried about coding. Some days I’ve been able to code the entire time and others I’ve not written a single line while I learn how something new works. I'll be writing a separate post about why I think #100DaysOfCode is a great idea, but it’s just not for me.

I had written a weekly post in the past as an experiment, but I’m going to try that again with a little different format. Every week I’m going to write about the following items:

  • Projects: I have a number of projects I want to work on, including changing the “Howdy” text to a Hawaiian greeting, something to track my workouts (mostly running) for our Navy Reserve fitness test, a custom review post type for this site, a plugin to track my coffee consumption, and a restructuring of this site to launch January 1st (if not before). Every week I’ll share my progress and link to the code on GitHub, or other applicable location.
  • Learning: I’m a lifelong learner and I won’t ever have enough time to learn everything I would like. With that being said, I generally do some each week, if not every day. I have a premium subscription to Lynda.com and am always working on something there. I’ve also done some work on freeCodeCamp’s Front End Development Certification.
  • Gotchas: Sometimes you hit a wall when you’re working on something. Any time I run into issues I’ll share what happened and how I got around it.
  • Podcast Pick(s) of the Week: I listen to a lot of podcasts on a wide range of topics including WordPress, general development, organization, and productivity. I kept track of how many I listened to a couple weeks ago and it was almost 80. Although I feel many of them are beneficial, I’ll only be sharing my top picks each week.
  • Article Pick(s) of the Week: As with podcasts, I read a lot of articles – mostly about WordPress. I’m going to find the ones I think are interesting.
  • Goals for the next week: This is pretty straightforward; this is what I want to accomplish the following week.

Learning

I've done a lot of learning the past few months.  It's tough because I want to learn so many things.  The biggest thing I've learned recently is to slow down.  I was coding just to code as I worked through #100DaysOfCode even if I wasn't fully understanding what I was doing.  From here on out I'm setting out a learning path that is just as important as the number of lines of code I write.  For now, I'm going to include what Lynda.com courses I'm taking, but I may remove that in the future and just have some key takeaways for the week.

WordPress/PHP

[Learning: Lynda.com] Finished WordPress: Custom Post Types and Taxonomies

[Learning: Lynda.com] Working On:  JavaScript for Web Designers

General/Tools

  • Atom Shortcut
    CTRL+/ comments a block of code
  • I came across Automattic's Git Workflow and I really like their branch naming scheme.  This is the scheme I will be using going forward.
    add/{something} — When you are adding a completely new feature update/{something} — When you are iterating on an existing feature fix/{something} — When you are fixing something broken in a feature try/{something} — When you are trying out an idea and want feedback

Projects

[Plugin] Hawaiian Howdy

Purpose:  Hawaiian Howdy is a simple plugin that changes the "Howdy" text in the admin area to a Hawaiian greeting based on time of day.  It can also wish you a Happy Aloha Friday.  Both of these are options that can be turned on or off independently.
Progress:  I have to finish up the plugin internationalization, change the default information in the readme file, and make sure the rest of the WordPress coding standards are followed.  After that, Hawaiian Howdy should be done.  I already use it on my site and I love the extra touch of Hawai'i it adds.
GitHub Repo:  https://github.com/geoffreyshilling/hawaiian-howdy

[Website] GeoffreyShilling.com

Purpose:  This is an obvious one – it's my website!  I'm going to share weekly updates, reviews, plugins/themes I write, code snippets, and information that I think would help others on the same path as me.  I won't be doing a complete redesign right now, but I am changing how things are laid out.  The changes are planned to go live on January 1st, 2018. 
Progress:  I have a good portion of the work done.  The reviews are going to have their own custom post type and I am working on building that.  The biggest thing I have left is to write the actual content for some of the pages.  I also have to decide if I want to add in things beyond code, such as recipes and fitness tracking.  It would make it a lot easier for me to maintain one site, but that also dilutes the focus of the site.  We'll see.


Podcast Pick(s) of the Week

I’m going to start sharing my top pick(s) next week.


Goals for This Week

  • [Plugin] Hawaiian Howdy:   I should have no problem finishing the Hawaiian Howdy rebuild this week.
  • [PHP] IZ Ipsum:  The code on IZ Ipsum needs cleaned up.  Although this is a non-WordPress project, I also want to rewrite the code so it conforms to the WordPress PHP standards.
  • [Plugin] PRT Tracker:  If I get done with the other projects, I would like to get back into my PRT Tracker.  This is what I'm going to use for tracking my workouts (running, curl-ups, and push-ups) to improve my score on the Navy Reserve fitness test we have every six months.
  • [Learning] Lynda.com:  This week I'll finish up JavaScript for Web Designers and then I'm going to work on the Become a PHP Developer learning path.  I've already taken a couple courses, but will probably take them again as a refresher.

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

Note:  This post was written using Gutenberg.