Starting a Youtube Coding Series

After writing up my last tutorial on creating a horizontal scroll box , I started toying with the idea that creating a Youtube tutorial might be a bit quicker and easier way to approach coding tutorials. Written tutorials have their place but it honestly took me a lot longer to create than I anticipated. Personally, I learn a bit better through video tutorials anyways because watching someone’s flow just gives a bit better depth in understanding how to do something. I’m mostly doing this as a way for me to get better at certain areas of coding. Since teaching something requires a very solid grasp of the concepts, it’ll force me to learn something inside and out. I also think that if you figure something out that isn’t well documented on the web then it’s sort of a good way to give back to the community by showing your solution to the problem. Anyways, here’s a link to the intro video:

JavaScript: From Fundamentals to Functional JS V2- FEM Course Review

JavaScript: From Fundamentals to Functional JS - Course Review

I just finished Bianca Gandolfo’s ‘JavaScript: From Fundamentals to Functional JS, v2’ course on Front End Masters a couple weeks ago and figured I would give my two cents on the whole thing. Being its 8 hours long, not including the pausing you’ll do to practice code and jot down notes, having a good idea of what you’ll be presented with before plunging head first might give you an idea if its something worth investing the time in.

TLDR Version:

If you’re a beginner or intermediate javascript developer, this class from beginning to end is absolutely worth the time invested. With Bianca’s in-depth analysis of some more common JS fundamentals that we take for granted, you’ll certainly come out of it with a better understanding of the Javascript language as a whole. My only critique is that the more advanced concepts of functional programming like compose and currying seemed to be rushed without going into too many fundamental use cases. People looking for expanded explanations of functional JS programming concepts may not find this course as helpful. Although most JS devs probably do not fall into that category so it’s great for the majority of people.

Course Setup:

Starting out, Bianca sets the tone of her class by telling the students that they will be called on to participate and that the coding challenges will also offer ‘clues’ . These clues are apart of a murder mystery game that Bianca has structured her class around to make the coding concepts more engaging.

Both of these qualities, student participation and Clue, gave the course an interesting and entertaining aspect. I personally hated being called on during class to answer questions in front of everyone but in this instance it works very well as a 3rd party viewer. A lot of the questions that may have been otherwise glossed over by Bianca were revisited because someone was called on and didn’t understand a certain concept. This was a huge help for me because there was a handful of times I was royally lost and one of the students also had the same question I had when they were called on.

The Content:

You can take a look at the course syllabus but Im going to list out the subjects below that I felt a much better understanding of after this course:

  • Array destructuring
  • Map and filter methods (in depth)
  • Function declaration VS function expression
  • Scope walkthroughs
  • Callbacks
  • Closure

So one of my favorite parts of the whole course was the line-by-line walkthrough of Scope. I never really had a clear idea of how scope worked and seeing it thought out loud and talked about this way made concepts like Block Scope, Function Scope and Lexical Scope so much clearer.

Honestly the line-by-line code explanations in general was what made this class so special. She really took the time to make sure the whole class knew what was going on at a very basic level before proceeding. It also seemed like the majority of the people participating were in that beginner to intermediate category (just like me) so we were all somewhat on the same wavelength when thinking through these problems.

If you didn’t read the TLDR version I had above, I did mention that there seemed to be a lack of content for compose and currying. This is just from my perspective as a beginner to functional programming. Maybe in reality those functional techniques aren’t really used that widely which is why they were glossed over, but either way I sort of left those lessons with a barebones idea of what they were.

And the killer is….

Well you’ll have to take the course and get to the end to find that out. All in all Im very happy with the time I took with this course. It improved my understanding of some more basic JS fundamentals that I took for granted. If you’re someone who uses methods like map, filter and callbacks but really want to know whats going on under the hood then this course is right up your alley. You’ll also get a lot of interesting tidbits of info like … an array is actually just an object! That one might have been obvious to some but she sprinkles a lot of little interesting facts like that throughout the course.

Oh one last thing before I end this. Throughout the course I started using this organizational/note taking tool called Notion. This thing is great, its like a notepad that was specifically built for developers. You can embed code straight to your writing with auto syntax highlighting. You can even include a functional Codepen snippet into your document. Its just clean and really a joy to use. Thought I’d give those guys a shoutout as I’ll continue to use them for jotting down my notes from these courses on Front End Masters.

Create a Horizontal Mobile Scroll Box Using CSS Flexbox and Media Query

I had the chance to flex my CSS chops recently, which turned out to be pretty weak, but I learned a few cool things along the way. I was tasked to create a vertical list that transforms to horizontal scrolling when sized down to mobile. This was the outcome:

The two main takeaways from this came from using CSS’s media queries and flexbox. I had only done some real quick and dirty CSS styling in the past so this was my first exposure to both of these two tools. I whipped up this simple Codepen version of the above where you can see the vertical to horizontal list and scroll in action. The majority of the magic comes from this little chunk of CSS:

@media (max-width: 992px) {
  .container {
      display: flex;
      flex-wrap: nowrap;
      height: 300px;
      overflow-x: auto;
      width: auto;

The first thing you’ll notice is that @media rule which is how Im telling the div with all the items to apply the subsequent CSS properties to the .container class. To put it simply, when the screen size hits 992px or lower, the .container class now changes/adds the listed properties starting with display: flex .

Next, we’re adding flexbox with display: flex and then making sure that the items do not wrap within the container as we scale it down with flex-wrap: nowrap . I changed the height of the container to a more narrow 300px so it creates a mobile-friendly view of the item that scroll.

Sidenote: If you’re unfamiliar with Flexbox , I highly recommend doing this interactive learning game: Flexbox Froggy . It teaches you most of the basic and some advanced properties of Flexbox by maneuvering a frog onto its lillypad.

Finally we add overflow-x: auto to allow the items within the container to have scrollable functionality on the X axis when the items spill outside of the parent container. Without this property we’d have something that looks like this:


Once we have all those properties put together, we’re left with a nifty little item list that transforms to mobile-friendly horizontal scrolling:

codepen scroll animation

Typically, you’re going to be taking a list of items that is horizontal in desktop screen sizes and then scaling it down to a vertical list when hitting mobile screens. So we’re essentially forcing the opposite to happen here which isn’t too common and why its sometimes hard to find a solution for it on places like Stackoverflow.

Hopefully you found this useful. If you know of a better way or some clever little tricks I missed please be sure to let me know!

Minimalism: A New Pursuit


I’ve never been one to acquire an abundance of things. I still drive the first car I’ve ever owned, a 1999 Toyota Camry. I’ve only had 4 phones total and tend to keep them for 4+ years. I play a lot of PC games with friends but I only upgrade my computer about once every 4-6 years. Im currently wearing a shirt I purchased back in 2009 when I used to work at Pac Sun, which says a lot about how much I care for fashion. I guess I have an innate trait to avoid buying things because I personally hate shopping for stuff. Although, I have gone through times where I find myself hoarding too many things which is usually when Im in the midst of a hobby. Even then, I tend to recognize my stupidity and get rid of the unnecessary items soon after.

For the longest time I figured this is how most people view their belongings but I realized Im in a small minority of people who have this sort of outlook. Some might identify this as minimalism, although Im not as disciplined as I’d like to be in that practice. The idea of minimalism has always interested me since I naturally align with some of its concepts. Essentially minimalism states that you should only own the things that bring value into your life. That statement is a little fuzzy because most people can quite easily make up values for almost everything they own which is a trap I fall into myself. For example, I had 3 cameras which all could be used for different purposes. So I said the values that they provided me are different modes and styles of shooting photos. Boom, values have been assigned so I can automatically keep all 3, right? Well, not really because even though I assigned a value to all 3 of those cameras I actually had very weak values and utility from 1 of those in particular. For me, this was pretty easy to see which of the cameras I needed to get rid of but for other people it can be really hard to figure out how to judge what items they should keep and what items they should get rid of.

Another issue I find myself and lots of others dealing with is the ‘I might need this some day’ trap. Yes there are many things in life you might need one day but the benefits of lugging around boxes full of old kitchen equipment, vintage gaming consoles and your forgotten hobby of crocheting isn’t worth it in most cases. Sure, you might catch the bug to knit a nice little sweater for your cat 2 years from now but it isn’t worth the mental weight of knowing you have dozens of boxes stuffed with old knick knacks that haven’t been touched in years. It goes a little deeper than just keeping boxes of things because a lot of people don’t mind storing stuff in their closets and attics since its out of sight, out of mind. The thing is, it actually is weighing on your mind just on a really low frequency. Every time you open your closest and see the pile of boxes, hoards of clothes and racks of shoes you are reminded of all these things. There’s something that can’t really be described with words until you give yourself that opportunity of freedom from your belongings. Its like taking a weight off your mind that you didn’t even know was there, its very much a freeing experience.

It is preoccupation with possession, more than anything else, that prevents men from living freely and nobly.

Bertrand Russell

All this got me thinking about ways I could help rid myself of stuff I don’t care much for in my own life but also how I can help other people see their belongings in a different light. When I started my recent minimizing practice, I would go through all my stuff and write down on a sheet of paper the things I was on the fence about. I then looked at each item on paper and rated it on a ‘happiness’ scale between 1 and 10. Once I was done with this I grouped all the items below a 6 and decided that this would be the group of items I was going to get rid of. It was an eye opening experience because I never specifically dedicated much time to deciding how happy or useful an item I owned was using a scale system. This method really helped me hone in on the things that really didn’t matter to me which made the minimizing process of my belongings that much easier.

When I realized just how helpful this method was I figured it would be an amazing opportunity to create some new side project that I’ve been longing for since I got my new job as a developer. I got into programming to help people, thats my purpose with this pursuit, so it clicked almost instantly that this method could easily be translated into a web/mobile app. The general idea is that the application will get users to log items they’re unsure of and have them rate each of these items on a scale. The end ‘Results’ page will present a nice chart of sorts that gives people a visual representation of where all of their items landed on this scale helping them see from a higher level how they view each of those belongings. I love making sense of data so this will allow me to help others view how their belongings affect their lives from a different vantage point. Essentially this article was to state my idea for this new app since this is mostly a blog dedicated to my journey as a programmer. I also love delving into details of modern day materialism so I might be able to squeeze some extra features into this app as I go along with its development.

So this is my public declaration of commitment for building this new application. I’ve had it in my head for awhile and got the barebones started but its been on the back-burner for a few weeks now. Getting my thoughts down in writing helped streamline the concept so this blog post was super beneficial. I’ll be coming out with updates along the way as the development continues.

Life Update: I’m Officially a Developer

It’s been awhile. I promise my absence has been for good reason though, not because I fell off the coding wagon. Actually, quite the opposite. As the title says, I got a freakin’ job as a web application developer! I was hired on back in September and have been there for about 3 months now. Since then coding has been apart of my daily life more than ever before so my blog updates have sort of taken a back seat. 

I do apologize about the long hiatus though. From the interviewing process (which was quite brutal for someone of my novice skill level) to the job itself , life has been super draining. Don’t get me wrong, I’m learning loads of stuff each and every day but I now know this is where the real journey starts. Getting the job was just the beginning.

I definitely intend to give a full recap about the interview, personal struggles, how I overcame certain obstacles and ultimately landed the job but in the mean time I wanted to let everyone know that I’m alive and doing well. Until next time, happy coding!

Learning Code While Working a Full Time Job


This is about my journey of learning how to code while also maintaining a full-time job. Spoiler, its hard as hell and the burn-out is super easy. Though I’m here to hopefully shed some light on what’s worked for me and how I maintain my sanity…

1. Make coding your hobby

I’ve talked a bit about this in my previous posts but I think it’s worth reiterating. I haven’t had success in the past attempting to balance work, social activities, hobbies and learning code. There’s just not enough time in the day to do everything I wanted so I had to prioritize. I used to come home after work and get online with friends to play games. As hard as it was, I’ve had to cut that out of my life temporarily. Anyone who’s ever played online games knows that its a sinkhole for time. One moment you’ve promised to just play one 20 min game of Overwatch and the next thing you know it 3 hours have passed by. So it was imperative that I put a halt to this if I wanted to progress in any sort of fashion. I’ve also been cooking less than I used to. That’s something I didn’t want to see diminish but cooking can take me a whole evening of preparation, so I usually just opt for the simple sandwich or omelet lately (my girlfriend is upset by this side-effect). The point is, if the majority of your day is taken up by your day job then you’re going to need to make major sacrifices. Its just the nature of the beast but a necessary step if you’re wanting to progress.

2. Have a long-term outlook

This isn’t going to come to you overnight. With the influx of these coding ‘bootcamps’ that promise to get you job ready in 3-6 months, the realistic expectation for people has been massively skewed. This is a bit like weight training, your muscles can only strengthen so much in a given period of time. If you’re bench-pressing 95lbs today and some guy promises to train you up to 225lbs in 6 months, it’s just not physically possible for most people to achieve this. Your brain is like a muscle, you can only train it to absorb so much in a given day before you just burn out. So I’ve adopted the slow and steady approach. I don’t cram 5-6 hours of coding in after work because that is a recipe for disaster. In fact, I recently spent the weekend trying to cram as much coding as I could in to get this Weather Application built and quite frankly, I was miserable afterward. I find an hour or two of coding each and every day to be much healthier than just doing these cram sessions. Plus it gives your mind time to process what you’ve learned in much more manageable chunks. If you haven’t been to my Daily Coding Log then you might not have seen this quote:

“Continuous improvement is better than delayed perfection.” – Mark Twain

Just keep at it each and every day no matter how little you do or learn. Just keep chugging.

3. Start a Coding Log

With the long-term approach, it’s sometimes hard to remember where you started and just how much you’ve progressed. Even though I’ve only had my coding log for a few months, I have gone back a few times and looked at my notes on Git and Javascript basics and it makes me feel really good to know how far I’ve come. I’ve also named it “Daily Coding Log” for a reason, so I commit to myself to code daily. It basically doubles as an accountability tool when there’s no one else there to make sure you’re keeping up.

4. Code in the mornings before work

This was probably the hardest one for me to adapt to because I have always been a night owl. I started off coding after work but found my attention span to be much less and often found myself getting distracted often since I was usually at home. I just didn’t have the energy after work because I’m mentally exhausted by the evening so pushing more information into my head just didn’t pan out. One day I forced myself out of bed at 6am and got to work just before 7am so I could get 1 hour of coding in before 8am rolled around. Turns out, my head was much clearer without the clutter of the day fogging up my mind and I was able to focus a lot easier (this could also be because of the coffee). This is now my go-to time of day for coding since the distractions are minimal and I’m able to start the day coding with a clear mind.

5. Make friends with smart people

This one might sound kind of weird to you, you might be thinking “what do my friends have to do with this?”. There have been a bunch of times where I’ve hit a brick wall and there wasn’t a single Stack Overflow document on the entire web that could have helped me. This is where having a friend whose very well versed in programming comes in. I’m very lucky to be friends with multiple programmers all of whom are very good at what they do. I’ve reached out to a few of them on occasion when I was losing all hope and just getting 10-30minutes of their time can be immensely helpful. Having someone right there to show you the process and how to go about doing even the littlest of things has been one of the most helpful learning resources for me in my coding journey.

6. Go to local coding meetups

So you just read tip #5 and are thinking, “Wow cool Bennett, you’ve got smarty pants friends, great freakin’ job. But I don’t know anyone who programs. What do I do?”. Well, you could go online and ask random internet people for help, which is useful OR you can go to your local coding group’s meetups. This place is great for getting to know other local programmers and networking for when you’re job-ready. Having trouble finding a coding meetup?

Try here:

If that doesn’t work then do a little searching around on Facebook. My local coding group, Acadiana Software Group, isn’t on but they have a Facebook page so give that a shot.


Those are my 6 tips for all of my fellow aspiring developers who are struggling with the 8-5 grind. These tips are just what have worked for me so if you’re stuck in a rut, give them a try and let me know how they worked. If you have any of your own tips you’d like to share, please leave me a comment!

Building My First App: The Process

A ton of beginners believe that they need to learn an immense amount of code before they can ever build anything useful. I’ve felt like that before, hell I still get that feeling of extreme self-doubt but its less frequent than before. I’m here to prove you CAN build an app that serves a purpose with very limited programming knowledge. There’s a few prerequisites that you must have that are not even coding related before you decide to build just anything. I’ll list the ones I find most important:

  1. Do you really want to solve problems and build things that make a difference for people?
  2. Can you identify a need or want that you have a desire to solve?
  3. Are you willing to put aside leisure activities to solve this problem?

I find the most successful programmers are not the people with the best coding skills, its the people who want to genuinely make a difference.  If you’re still struggling with those aspects then you maybe need to re-look at the whole reason you are in this game.

Ok so if you’ve got those 3 questions above answered, then we can move on. Just as a little background, I currently work at a marketing agency and we use a program called Google Adwords to setup and deploy advertisements. Without getting into too much boring details, we use these things called ‘keywords’ to basically figure out who we want to show the ads to when people search for things on Google. There’s a few modifications we can make to these keywords to alter their properties. For example, I can take the word “find a plumber” and change its properties in 3 different ways, like this:

+find a +plumber

“find a plumber”

[find a plumber]

I used to manually adjust these keywords one by one so it took a stupid amount of time to complete. I knew there had to be a better way, so I searched around and found this cool website called Keyword Toaster. This was great because I could now save a ton of time by just copying/pasting my chunk of keywords here and have this website convert them for me. Though, there were a few problems I identified that I feel could be improved:

  1. Prepositions shouldn’t be include for modified broad keywords
  2. I had rather edit the keywords in the same window as Adwords

So it dawned on me, what if I just made a Chrome Extension that fulfilled these needs? All the app is essentially doing is taking a string, altering it, then returning the altered string in an output box. Easy right? Well, kinda…

I looked into what it takes to create a Chrome Extension and found that I should primarily be using Javascript. One thing that made me go with a Chrome Extension is A) I could use the extension in the same window as Adwords and B) No backend/server-side coding needed. I rarely see anyone suggest creating a Chrome Extension to newbies but this was the easiest, most straightforward platform to launch my simple app to the world.

Alright so, I had a minimal amount of JS knowledge beforehand but I knew I really needed to brush up on the basics. So I went through a highly recommended course on that taught me these essential concepts:

  • How to read Javascript
  • How to debug
  • Functions/Arrays
  • Basic DOM manipulation

The course basically teaches you how to create a simple Todo app in your browser. This is perfect because all a Todo app does is take an input and display an output. If you think about it, that’s almost the core function of most applications at a very basic level. So what I did was run through the whole course once, then a second time. During the second pass of the course, I essentially took what was being taught and applied to to the concept of the app I was trying to create. I was able to take 80% of the code taught and use it in creating Keyword Modifier. The only real difference in this case was altering the output, which I accomplished with a little REGEX.

To live test the code I was writing I used This made it super easy to see my changes in real time for an app of this size. I wasn’t overly worried about CSS so it looked pretty fugly but all I cared about was the core functionality. Trust me, I make it sound like this was a simple process but even though most of the code I used was from the Watch and Code lesson, I had to reach out to people on different Slack channels and refer to Stack Overflow countless times for help.

After many months, my first little application was born on the Chrome Web Store. Here is a link to the first version I had initially launched.: . Its a little cleaner now after some refactoring and added functionality, so you will see some minor changes to it if you download it today.

The point of this whole article is to prove that if you have the desire to create and build, its going to carry you through the hurdles of coding regardless of how little you know.


If you’re reading this and currently struggling with your idea for an app, leave me a comment! I’d be happy to talk about your process and help you along.


Changing My Mindset: Coding is a Marathon

Photo by Robert Murray on Unsplash

I used to hold this idea that learning code was something that I needed to plunge full force into. Spend hours each day coding until I couldn’t stand to look at my screen any longer and get up to speed as quickly as possible. While Im sure this can work for some people, it sure as hell flopped for me. Only until recently have I changed that awful “sprint” mindset where I attempted to get the most done in the shortest amount of time. Although some blame should be placed on these coding ‘bootcamps’ that have been popping up all over the place promising to get you job ready in as little as 3-6 months. This propagates this ‘sprint’ learning mindset that many people then adopt as the norm for a code-learning timeframe.

If you’ve done any programming, you know that it is like learning an entirely different way of thinking. You’re essentially re-wiring your brain to follow an oder of operations that feels almost inhuman (which well, it is). For me to get my mind wrapped around a lot of these concepts it took time to let these concepts marinate. After trying and failing for many months to put in multiple hours of coding every day, I finally had a series of breakthroughs that changed my thought process on the whole thing.

1.) I realized that I will forever be learning how to code and that there’s no end-game to this. Once that reality hit, this learning time-frame which was arbitrarily short and ever moving forward was abolished. I now realized I can easily learn in little chunks every day and be better off than attempting to blast ass through huge concepts in record time.

2.) I surprisingly found out that Im most receptive and learn best early in the morning before work. This was mind-blowing because I’ve always been a night owl and have done any and everything after 5pm. Once I realized this I made it apart of my routine to wake up an hour early and code in my company’s cafe until 8am hits. I’ve tried coding at home and have a lot less luck than if I leave the house.

3.) Much like having a workout buddy in the gym makes you more accountable, having a coding buddy is just as beneficial. So every morning me and a coworker meet up to work on our own projects. My coworker actually isn’t even learning code, she’s just working on her own side project but the fact that we both set a goal to meet every morning helps keep us accountable and consistent.

There ya have it, those 3 changes above have made a world of difference for me. Ironically, the whole idea is to do less but do less more often. Its consistency that has been the driving variable of success these past few months. Lastly I want to mention that I’ve included a new portion of the site dedicated to my daily coding activities. I initially kept a log of what I learned/accomplished in a Google Doc but I figure might as well share it with the world.

Set Sails To … This General Direction!

Every aspiring developer has experienced this conundrum before:

“I sure do want to learn code! Hmm I wonder what language I should learn? My coworker said I should learn PHP, another friend told me just go straight Javasctipt, I think someone else mentioned emerald…or was it ruby? Oh and my great grandpa still swears by CBOL. I’ll just learn them all!”

Then there’s the suffocating realization about 6 Codecademy lessons later that its not going to be as easy as you initially thought. Unless your goal was to log ‘Hello World’.

I’ve gone through this gambit more times than I’d like to admit. Its only a recent phenomena that I’ve actually stuck with coding consistently but there was a lot realizations I had to come to grips with before I got to this point. I’m still kind of stuck in this loop because I initially started out 1 year ago dead set on JavaScript but recently found that PHP is actually going to be the language I personally have the best chance at landing a dev role with (this is purely circumstantial in my case).

While there are definitely some nerds destined to be strict C++ programmers from the day they were weened off their mother’s teet, most of us have to go through the hellish paradox of choice when it comes to languages. As with all the advice you hear, just pick one and stick with it. A lot of the principles of one language are universal to all languages. I’m still trying to imprint that advice in my own head as I’ve flip-flopped between 6 or so languages but its just now sinking in.

Another fear of committing to a language is, “What if this language is outdated by the time I learn it? Will I be able to  apply it a year or two from now?”.Do me a favor, go on and just type in ‘FORTRAN’ and look at the results. I rest my case.

Moral of the story is, don’t sweat it. Whatever you choose you will be just fine in the end. Its your persistence and perseverance that matters most so work on those two qualities and you’re set.