JavaScript 30 – Day 2

Back with an update for Day 2 of the JavaScript 30 course!

Overview

Today’s lesson focused on a simple clock using JavaScript to get the current time and css to transform the hands.

What I Learned

I don’t have a list of things for you today like I did yesterday. It was a fairly straightforward assignment. I did learn that when adding style.transform to the element, it’ll overwrite the transform properties you set in the css. It was an easy fix since I only had one transform in the css for the individual clock hands to make them distinct from each other, so I added those to the end of the dynamic transform.

Biggest Challenge

The biggest challenge for me today was playing around with how to get the hour hand to display more accurately between numbers on the clock. When I first did the math, the hand was at 3, and then only moved to 4 when it turned 4:00. That was more jarring than I wanted it to be, so I had to figure out how to make it a better ratio.

Future Iterations

The hour adjustment I made mentioned above is not all that pleasant still. In the future, I want to transform the clock to be super smooth instead of more like a tick that I have now. Not sure what challenges that will take, to be honest.

One other idea I had would be to create one of those clock walls with all the different time zones where my friends live scattered about the world.

Conclusion

Today was another fun one that took less than half of my lunch to complete. It was a quick, easy win that reinforced concepts I haven’t touched in awhile. I don’t use transform with css all that often, but I like the strong possibilities out there for uses.

JavaScript 30 – Day 1

Hello, hello!

It’s Day 1 of the JavaScript 30 course.

Overview

Today’s assignment is building a drum kit. The starter code sets you up with the sounds, a fancy background and keys, the css with transitions already in place, and your job is to make it function.

What I Learned

I actually learned quite a bit today! Not a whole lot in JavaScript, but that’s only one aspect of being a developer.

First, I challenged myself to use my terminal to set everything up and not rely on the GUI directory system. I set up my own repository, cloned Wes’ for the starter code, and needed to copy the directory for Day 1 into my own repo. I have only copied files before, never a directory, and today I learned that using the -r flag will make that possible.

Second, I learned the semantic HTML tag <kbd> to use for keyboard input from a user. I’ve never come across this tag, and it made me curious to go through and quickly browse all the tags again. I didn’t spend a lot of time here, but A11y is super important and the more you know, the better it is for everyone.

Third, Wes mentioned keycode.info as a resource he likes to use to find out what code each key is represented by, and this is so fun! Much better than googling a table.

Fourth, I had seen data-* attributes before, but I had never looked into them. Wes quickly explained that they are used to embed custom data in a semi-standardized way. You have to use data- and can then follow it with any lowercase string. You can then access that in javascript like you would css attributes. Super cool.

Fifth, I had worked with the audio HTML tag before in very basic application, but never looked into the object properties I only added in controls previously as an HTML attribute. There are a whole lot more functions I’d like to play around with.

Sixth, and last I’ll list, I promise, I only ever played with transitions in css. When they ended, they ended. Never occurred to me that you could be able to listen to the transitions using JavaScript. Of course, that seems obvious now. When Wes was going over it, I wondered about animations, too, since I have that on my Want-to-Learn list this year, and he mentioned that (again, of course) you can listen to animations the same way! Huzzah!

Biggest Challenge

Today wasn’t all that challenging. I didn’t think it would be, given that it’s the first day and if he made it difficult immediately, interest would wane fast.

That said, I did try to challenge myself by doing as much as I could before watching through the video. I didn’t have a ton of time today, but I would pause before he wrote any further code and try to guess where he was going next. I would then compare what he was doing with what I had thought of.

Considering today was a bunch of event listeners, I didn’t stray from what he was thinking.

Tomorrow I’ll leave myself more time and complete the exercise by myself, or at least until I get stuck, and then watch through to the end for his full solution.

Future Iterations

To improve upon the project and continue to test my skills, I want to add options for sounds. The drums are fun, but what about switching it to a piano? Or a guitar? Or a harmonica?

How difficult would it be to add tracks? I’d like to set the option to use an extra key to set the play to repeat, and give the user the ability to speed up or slow it down after putting the sound on repeat.

I suppose, ultimately, I’d like to take the project from a simple drum kit to a fully functional recording keyboard.

Conclusion

Day 1 was a lot of fun, and it really got my developer brain thinking. I’m looking forward to Day 2 and what else I’m going to learn, not just about JavaScript, but all the other useful skills to pack away in my bag as a developer.

JavaScript 30 – The Refresh

Hey all!

It’s been a while, huh? Quick catch-up: I graduated from LaunchCode CodeCamp, surpassed my goal of getting an apprenticeship in March by getting one in January, and since then I have worked as a VueJS developer for the last two years.

Things have slowed down for me a little bit at work and life in general, and I have been feeling the need to really bring it back to the basics. The past two years, while fantastic, have been at such a fast pace that I haven’t had the time to really master much. I’ve learned a ton, have kept my head above water, and grown tremendously as a developer, but now it’s time to get better.

On a recent episode of Syntax (ep. 424 New Year, New You. What to Focus on in 2022. Go give it a listen!), Wes mentioned his Javascript 30 course and it was like the sky opened and sunshine rained from the heavens. Except that it was miserably cold in Florida and overcast and rainy and the complete opposite, but I digress.

I decided to pick up where I left off three years ago on his course: At the very beginning.

Yup, that’s right. I never even started on it back when I was gobbling up resources doing audacity’s Frontend Nanodegree and totally overwhelmed. Now, I’m ready to test my chops and see it through to the end.

I’ll be making a blog post daily on my experiences, so follow along with me! If you want to start and haven’t, or if you want a partner to go through the course with, hit me up!

NightMares

The very first project I worked on outside of coursework was a website for my dad’s company. I was really proud of what I came up with, but then he decided to abandon my design because he thought a WordPress theme looked stellar. What can ya do?

I got another chance at a website for my husband’s friend, who has an audio book of 12 short horror stories. I had humongous plans for this site!

However, realistically, I can’t implement all of them right now. First, I need to coordinate with the last person who hosted his site. Second, I need to do more research to make sure my ideas aren’t going to cost a ton of precious load time.

In the meantime, I created a one-page site design I’m pretty proud of. I didn’t get fancy with javascript or anything (yet), keeping it strictly HMTL/CSS based. I have a good grasp on flexbox, but have not used CSS Grid yet, so I thought, “Why not learn now?”

Honestly, I don’t know why I was so hesitant to learn Grid. It’s great! I still have media queries, but they aren’t the headache of earlier days.

Another new-for-me item I incorporated was the HTML5 audio tag. I have plans to style them more uniform with JavaScript instead of relying on the default control of the browser.

This was an enjoyable project, and my client loves it. He can’t wait for it to launch. I have plans to look into SEO to really round out his launch.

Until it’s live, you can check it out on github.

3 Reasons It’s In Your Best Interest to Hire a Stay At Home Mom

My position isn’t unique. I’m not the first stay at home mom who is ready to jump feet first back into the workforce. I’m not even the first who has worked hard to gain new skills to jump into a better career than the one I had before kids.

Over the several years I have been home raising carbon copies of myself, I have been learning how to code. It started with refresher courses in HTML and CSS to get my motivation and ego primed. Then the hour JavaScript crash courses to learn the basics. I discovered freecodecamp and went through their lessons. I took a 24-hour JavaScript course and got certified. Then, finally, took a full frontend course through Udacity.

From where I started, I feel an incredible sense of pride that I have enough knowledge I could hold my own in a junior dev position.

Getting that first dev job, as anyone trying to break into the industry knows, it is not going to be easy. Competition is fierce, I don’t have a Computer Science degree, and, as of writing this, I have only two freelance sites under my belt.

But what else do I have? What sets me apart from the competition? My soft skills.

In the midst of surviving early parenthood, I have been honing many desirable soft skills for years. What do SAHMs have to offer? A ton!

1. Problem Solvers/Creative Thinkers

SAHMs are faced with hundreds of problems a day. They are hit with unreasonable demands by tenacious negotiators hourly. We’re quick on our feet, can come up with dozens of solutions in minutes, and are resilient in our quest to find the right answer to make all happy. It can get incredibly stressful amidst the screams, tantrums, and even meltdowns, but we meet every challenge with compassion, kindness, and endless patience.

2. Time Management

No one can deny that SAHMs are incredible jugglers. Our to-do list is constantly growing, but we never let it defeat us. We know how to prioritize, multitask, and change tactics for maximum efficiency when needed. We have learned how to see three steps ahead, and we act accordingly.

3. Organization

Even if we live amongst chaos and disorder, our minds are steel traps of order. Lists, notes, schedules, names, appointments, etc. We’ve got it all covered. We have our own systems, honed with experience and time, that make us, in my incredibly humble opinion, basically superhumans.

There are so many more qualities we possess, but these blanket the main assets we’d provide to any company.

As SAHMs, we make tough decisions, perform under pressure, and have incredible inner strength to keep calm and cool. We know how to get things done fast and efficiently. The gap of work on our resumes in no way means that we haven’t been working.

Who Is Katrinka?

Hey.

I’m Katrinka. Nice to meet you.

Besides trying to throw you off from the get-go with an extra k in my name, and then an e instead of an a in my last name, I promise, I really am easy-going.

I’ve been teaching myself how to code since I was about 12. Since I like icebreakers that embarrass, and I do realize I’m dating myself with this confession, I’ll tell you my interest began creating pet pages with Neopets. Anyone remember that? Come on, raise your hand. I’ll keep your secret. I know I can’t be the only one.

Anyway, moving on. My road to code has been filled with many detours, u-turns, and sometimes full on stops. I attended a tech-focused magnet program my freshmen year of high school, but then transferred to a collegiate program the year after. Being the head-strong and know-it-all teenager I was, I decided I had a great grip on the world and changed tracks to focus on a degree in journalism.

In no way do I regret that. Writing is my very first love. Some of my earliest memories are of me creating elaborate stories and books from construction paper. I loved to create my own poems for greeting cards. I have self-published a book about zombie dinosaurs and have about 15 unfinished or unpolished novels collecting digital dust that I swear I will get back to one day.

Through a need to eat in a down economy post-graduation, about 10 moves in seven years, and taking care of my family, I have been studying code on and off a little at a time.

A few years ago, I got the opportunity through a grant to study JavaScript and a beginner Java course. I spent months studying. I didn’t pass the Java certification test by 6%, and I was devastated. I called my dad to tell him the results, and he said, “I can’t believe it. That’s not like you at all.”

I took a break, decided to focus more on JavaScript instead of Java. Get more acquainted with Object Oriented Programming and then go back to the certification exam. I was stretching myself too thin while trying to take care of my daughter, and pregnant with my second daughter. Mom brain is really real, okay?

That’s when I found out about the Grow with Google Scholarship through Udacity. A chance at their Frontend Web Development Nanodegree? You bet your tuchus I wanted that opportunity! I was about to have two daughters who needed to see that their mom could do absolutely anything if she put her mind to it. And I needed to get back to being a person, something separate from my sole identity of “Mom”.

It had been a couple months after I applied, and yet another move (my husband is a contractor. We move a lot), so it took me by complete surprise when I opened an email one morning saying I was awarded the scholarship.

A fire was lit inside of me, and I knew this was a sign that I was on the right path. Something I have been going back to again and again for over a decade, and someone out there believed in me enough through my application to award me a scholarship.

I flew through the course as it was mostly HTML and CSS, which I love, (I wanted to complete it before my child was born because I could not imagine doing this with a newborn), struggled on the final project (a pixel art maker made with JavaScript), but ultimately came out feeling like a champ. I. Coded. That! ME! Someone could actually use this to make art!

The first part of the program ended. Only 10% of the initial recipients would move on to phase two — the full nanodegree. I wasn’t sure I had done enough. I wasn’t sure how I could have done more. I truly gave it my all.

Well, I already spoiled it for you, but I was selected for the full nanodegree! I am constantly working on believing in myself more, and this was yet another lesson along that vein.

Here I was with a newborn and a toddler, my husband working close to 80 hours a week, no family or friends around to help me with childcare, and six months to complete this massive program where almost everything was going to be brand new to me.

I was in shock. And terrified. How on earth would it be possible for me to complete this?! 12 hours a week was the suggested dedicated time to complete the course. 12 hours?! A week?! I was struggling to find 15 minutes to shower.

I’ll spare you more theatrics, but through persistence, baby wearing, incredibly late nights, gallons of coffee, many tears and hours of frustration, and one great friend (who is worlds smarter than me. Seriously. Basically a literal rocket scientist) I met nearby who was also in the program, I did it! I completed the program with one day to spare!

Mentally exhausted, I took a break. The holidays were upon us. We took a vacation to Seattle to visit my best friend. Her husband works for Microsoft, and over the course of the week, he gave me the best pep talks anyone could ask for. I did know enough to pursue this as a career. I needed to stop letting imposter syndrome get the best of me, because, being honest, it’ll probably always exist. And I needed to keep learning. Keep coding. Keep practicing.

I extended my development break for a bit longer. My husband got a contract in another state, but only for a few months. Full-time parenting with two littles completely dependent on me didn’t make for the best environment to learn new techniques.

There are definitely parents and moms out there who could tackle that. I am not one of them. No amount of motivational quotes in the world could get me to try to complete projects when I literally could never get a break.

Things are still as busy and hectic as ever, but at least I have my husband back, if only on the weekends, and I can scrape together an hour or two to get some work done.

This is going to be my little corner of the internet where I put my ramblings, my breakthroughs, my projects. It’s to document my journey, so I have something to look back on and actually see how far I have come.

So, who is Katrinka? It’s me. This is one snippet of who I am, but the part of me I want to focus on. I’m truly always happy to hear from you, so by all means, feel free to reach out to me about anything, anytime.

Love,

Katrinka Joy