Month in Review: April 2018

Aloha and Happy Lei Day!  This was an unexpectedly busy month.  I’m eligible for promotion in the Navy Reserve to the rank of chief (E-7).  As part of that, we found out at the beginning of the month there is a 40-hour course we need to complete in order to even be competitive.  Once I got into the course, I quickly realized it was in fact not a 40-hour course, but a 70-hour one.  That’s where most of my time went this month.


Learning Development

freeCodeCamp

I completed the following items in freeCodeCamp‘s JavaScript Algorithms and Data Structures section.

  • JavaScript Algorithms and Data Structures
  • ES6
  • Regular Expressions
  • Debugging
  • Basic Data Structures

Now I’m working on Basic Algorithm Scripting.  I intend to start working on freeCodeCamp a lot more as of this month, with a goal of at least seven hours a week. 

LinkedIn Learning

I made some progress on the Become a Front-End Web Developer learning path in addition to a course on writing by completing:

  • Programming Foundations: Fundamentals
  • User Experience for Web Designers
  • Completed UX Foundations:  Accessibility
  • Completed Writing to be Heard on LinkedIn

As I start to work more on freeCodeCamp, that extra time has to come from somewhere.  I’m going to cut back on my LinkedIn Learning courses to a couple hours a week, plus whatever else I can squeeze in.


Projects I Worked On

JavaScript Guessing Game (Fixed Number)

Live Example:  http://geoffreyshilling.com/404
GitHub:  https://github.com/geoffreyshilling/javascript-guessing-game-fixed-number

Progress:  This has been almost done for a while but finally made time to get it knocked out.  I took the photos and added the number of minifigs to the game.  The game has been added to my 404 error page on this site.  I’ll probably make a few tweaks (including adding a photo of the minifigs spread out), but it’s up and working.

Island of Aloha

URL:  https://geoffreyshilling.com/

Purpose:  This is a new personal site for all things non-development, with a focus on Hawai’i and recipes.  I’ve spent a little time checking out what recipe plugins are available and working on a “start here” page.

Mug Monday

Purpose:  I love coffee and the mugs it goes in.  I think it would be fun to get the week started with sharing a different mug each Monday.  Although this won’t be a permanent feature, I have enough to keep it going for at over two years!

Progress:  I experimented during a lunch break and actually got the entire thing working.  There is a “Mug Monday” custom post type that uses a Gutenberg template.


Project Goals for The Month

  • Island of Aloha [Website]. The main goal this month is to do more research and decide on a plugin to use for my recipes.  Once that’s done, it shouldn’t take me too long to get all the posts transferred over from Household Discoveries to Island of Aloha.
  • Mug Monday [Plugin].  I’m hoping to have Mug Monday finished up this month.  It only took me a lunch hour to get it going, but I want to clean some things up a bit.
  • #100DaysOfCode. They say the best way to learn something is by doing.  I had previously started the challenge but it wasn’t working out with my schedule.  I certainly don’t have any more free time, but I’m going to do my #100DaysOfCode working on freeCodeCamp’s challenges from beta.freecodecamp.org.
    I’m just about done with a separate post on this and I will be sharing that in the next couple days.

Ongoing

  • Blogging.  I’ve wanted to start writing for a while, but this month I plan to do it.  My initial goal is to start with one post every 2nd Tuesday of the month and see how that goes.
  • WordPress.org Support Forums.  I haven’t been able to spend much time providing support lately, but I hope to get back into that.  I miss it.  My goal is to spend at least 30 minutes each day in the forums.
  • freeCodeCamp. I’ll be continuing on with the JavaScript Algorithms and Data Structures section, finishing up the ES6 portion this 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.