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!

Planning for 2018: WordPress Support, JavaScript, and Community

Hand holding a compass in the woods

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.