How to Display Hawaiian Characters in Your HTML

One of my long term goals is to learn the Hawaiian language. I know a number of words and I studied the pronunciation years ago, so I’m not terrible with pronunciation.

Hawaiʻ i is not the same as Hawa’i or Hawaii.


As I start writing more Hawaiian words (including Hawaiʻ i), I want them to be correct. The ʻ , or ʻokina, is not an apostrophe, displayed as ‘. I won’t go into the details of the language here, but know there is a difference. Just as WordPress has a capital p and is not written Wordpress, Hawaiʻ i is not the same as Hawaii or Hawai’i.

Below is a chart of the letters in case you need to use them on your own site.

Letters Hex Code Entity
ʻ (ʻOkina) ʻ
Ā Ā Ā
ā ā ā
Ē Ē Ē
ē ē ē
Ī Ī Ī
ī ī ī
Ō Ō Ō
ō ō ō
Ū Ū Ū
ū ū ū

#100DaysOfCode: My Challenge to Become a Developer

1st Day of freeCodeCamp

I tried the #100DaysOfCode challenge before, but stopped at day 54.  I was getting the coding done, but wasn’t learning very much – which was the whole point of doing the challenge.  This time around I’m doing things a little different.  I’m focusing more on learning development (especially JavaScript) than what challenges I’m getting done.  I’d much rather spend a week on a single challenge if I understand it when I’m done.

My Why

The whole reason for doing the #100DaysOfCode challenge is to learn.  Although I got off to a slow start, my goal this year is to learn the basics of JavaScript.  I’ve already made a lot of progress, but I also have a long way to go. I love coding, but when it comes down to it, it’s still just a hobby for me. For this reason, it’s harder for me to fit it into my schedule than some other things.  Doing the challenge will help me set priorities and cut back on unnecessary things.

I taught myself HTML and CSS in the mid-late 1990’s when we got our first computer. There was still a printed directory of websites at that time (think phone book for the Internet).  I’ve made various websites off and on since then, including plenty of dabbling in code/customization. Now it’s time to really dig in.

My Rules

You can view the official rules on #100DaysOfCode.com.  I’ll be following the main rules for the challenge, but adding to them.  More specifically, for the next 100 days I will:

  • Code a minimum of one hour every day.
    • If I don’t reach a full hour of code, that day will not count.  An extra day will be added on to the end of the challenge.
  • Tweet my progress every day using the #100DaysOfCode hashtag.
  • Encourage and support at least two people each day in the #100DaysOfCode challenge on Twitter.
  • Push my work to GitHub, when applicable.
  • Log my progress on GitHub, to include projects completed.
    • This is one place I am making a change from last time.  My log will be for the previous day’s work.  For example, I will be logging my day 1 accomplishments on the morning of day 2.

      This is going to help me be more consistent in updating the log.  I only missed two days of coding during the entire month of May, but only logged about half that.  I’m a morning person and wake up several hours before work.  That’s when I do most of my coding. 

      The last time I tried this, I didn’t want to do my log that early in the morning in case I worked on it any more during the day.  My evenings are generally reserved for family time.  That means when the evenings came around and we were doing something, the log was not a priority. Finishing the log the following morning works better with my schedule.
    • I’ll also be doing the condensed version of the log instead of the normal one.  I want to keep track of what I’m doing, but I don’t want to spend a lot of time on that.  The more time I spend on the log, the less time I spend coding.

My Plan

I’m a big fans of lists.  I find it’s helpful to plan out what I intend to do for the challenge. This will help me stay focused on what I want to do and learn. Creating this list at the beginning will prevent me from wasting time thinking about what comes next.

Goals

  • Complete freeCodeCamp’s Responsive Web Design Certification and start working on JavaScript Algorithms and Data Structures Certification.
    • I had worked my way through quite a bit of the JavaScript Algorithms and Data Structures while these were still beta versions. The certifications are no longer beta and I’m going to go ahead and do them again in the official curriculum.
    • Each certificate calls for 300 hours of time, but there will be a lot of review for me. I don’t expect the first part to take anywhere near that.
    • My freeCodeCamp profile: geoffreyshilling
  • Learn JavaScript.
    • This is a more general foundation.  I’m pretty good at figuring things out using reference material.  I want to continue improving my knowledge so I need to look up fewer and fewer things.
  • Learn Gutenberg.
  • Gutenberg is replacing the WordPress editor. The larger goal is to expand that to entire websites. I’ve been using Gutenberg for months on my sites and I love it.  I want to learn more about developing for it.

Projects

There are a number of projects I want to work on during this challenge.  Although I likely won’t complete them all, this will give me plenty to work on over the next 100 days.

freeCodeCamp

  • I plan to spend at least five hours a week working on freeCodeCamp’s  challenges.

WordPress Plugins

The plugins I want to work on include:

  • Mug Monday. 
    URL:  https://geoffreyshilling.com/plugins/mug-monday/
    A Gutenberg-compatible custom post type so I can share a picture of a different coffee mug each week.  Note:  I have made good progress on this plugin already. 
  • PRT Tracker. 
    URL:  https://geoffreyshilling.com/plugins/prt-tracker/
    A practical way for me to track my fitness workouts in order to improve my Physical Readiness Test (PRT) score in the Navy Reserve.  Workouts will include running, push-ups and curl-ups.
  • Coffee Tracker.  A fun way for me to track how much coffee I drink.  It will let me enter how much coffee, the brand, location, roast, and more.  Reports will be added so it will show my most popular coffee, total coffee for the year, average coffee per hour, and more.

My Notes

  • My #100DaysOfCode starts today, June 11, 2018 – also known as King Kamehameha Day.
  • I will miss some days.  I don’t want to, but it’ll happen.  As much as I love coding, it’s still a hobby.  My other priorities that come first include family, being a volunteer firefighter and our department’s treasurer, and the Navy Reserve.  Sometimes all of these converge at once and there is no time left.
  • The focus is on learning, not seeing how much I can get done.
    • The goal is to still make as much progress as I can, but I’m not going to move on until I understand what I’m doing.  If it takes me a week to understand something, that’s how long I’ll spend on it before I move on.
  • I intend to keep track of “lessons learned,” as far as what worked for me, what didn’t, any issues I ran into, or recommendations I have.

Join Me?

Are you already participating in the #100DaysOfCode challenge or want to get started?  I’d love for you to leave a comment or find me on Twitter and let me know what you’re working on!  Best of luck to all of us!

Other Resources:

Month in Review: May 2018

Month in Review Header

Learning Development

freeCodeCamp

I continued working on the beta version of freeCodeCamp until they made some changes and it was no longer beta.  There was no option to update/add my email address to the account I was using with my old username, so I had to email them.  We’ll see what they say.

LinkedIn Learning

I worked on a couple HTML and JavaScript courses, but didn’t get them completed.


Projects I Worked On

Island of Aloha

URL:  https://islandofaloha.com/

Purpose:  This is a new personal site for all things non-development, with a focus on Hawai’i and recipes.

Progress:  The site went live this month and I’ve moved about half the recipes over from the old site.

Mug Monday

URL:  https://geoffreyshilling.com/plugins/mug-monday/
GitHub:  https://github.com/geoffreyshilling/mug-monday

Purpose:  A WordPress plugin that will allow me to easily share a new coffee mug every Monday.

Progress:  The initial “Mug Monday” custom post type has been created.  There are only a couple more adjustments to make and I’ll be able to start using the plugin.


Project Goals for The Month

  • Island of Aloha [Website].
    URL: https://islandofaloha.com/
    • Finish transferring remaining posts from my Household Discoveries website to Island of Aloha.
    • The site officially launches on King Kamehameha Day, June 11.
  • Mug Monday [Plugin].
    URL: https://geoffreyshilling.com/plugins/mug-monday/
    • The plugin is almost working.  It’s adding a “Mug Monday” category and “Coffee” tag to all posts, regardless of whether it is a Mug Monday post type.
    • I have a few other minor tweaks and this should be finished up.
  • PRT Tracker [Plugin].
    URL: https://geoffreyshilling.com/plugins/prt-tracker/
    • The plugin will allow me to track my workouts that will help improve my Physical Readiness Test (PRT) score in the Navy Reserve.

Ongoing

  • Blogging. My initial goal is to start with one post every 2nd Tuesday of the month and see how that goes. Once I get a couple months out, I may bump that up to two posts per month.
  • 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 had to email freeCodeCamp as I was unable to get my email address added/updated for the account I was using when I working on beta.freecodecamp.org. Hopefully it won’t take too long to get figured out (and I won’t have to start completely from scratch).  Once that gets sorted out, I’ll start working on freeCodeCamp again.
  • #100DaysOfCode. They say the best way to learn something is by doing. I had previously started the challenge – and did it most of May – but it wasn’t working out with my schedule. I’m going to make some adjustments so it works for me.
    I’m just about done with a separate post on this and I will be sharing it on Monday, June 4.

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

Automatically Updating Copyright Year Using PHP

Code Snippet

There is an easy way to automatically update your copyright date using PHP so you don’t have to remember to do it every year. This can save you a lot of time if you have very many sites to update.

Current Year

Code

Example 1: &copy; <?php echo date("Y"); ?>

Example 2: Copyright &copy; <?php echo date("Y"); ?> All rights reserved.

Example Output

Example 1: © 2018

Example 2: Copyright © 2018 All rights reserved.

Year Range

Code

Example 1: &copy; 2008-<?php echo date("Y"); ?>

Example 2: Copyright &copy; 2008-<?php echo date("Y"); ?> All rights reserved.

Example Output

Example 1: © 2008- 2018

Example 2: Copyright © 2008- 2018 All rights reserved.

Usage

Place the code above wherever you want the copyright date displayed. If you’re using WordPress, you can put this in your child theme’s footer.

Month in Review: April 2018

Month in Review Header

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://islandofaloha.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.

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

Why I’m Postponing my Monthly Blogging Until May

Hourglass on Stones

I've mentioned in the past that I want to start writing more. Since this is a new thing for me, I'll be starting off with a modest goal of one post per month. I was hoping to start this last Tuesday – and I almost made it. The post is almost done, but other priorities have come up that are going to force me to wait until next month to start.

In case you didn't already know, I'm a First Class Petty Officer in the Navy Reserve; that's the rank of E-6. Late last week I found out I'm board eligible. That means there is a slight chance of being promoted to chief (E-7). This is my first time going through the process and I'm learning a lot. One of the things I learned over the weekend is that there is a 40-hour course I need to complete by the end of the month. The website was also down until a couple days ago. Most of the time I would be spending on writing, learning, or developing, will now go to getting course that finished up.

That's what happens when you have a lot of things you're involved with. You have to be flexible and roll with things as they come in.