Raven Baxter from the TV show That's So Raven showing appreciation

Oh Snap! I’m Solving Algorithms.

About 6 months ago I first took a look at some algorithms, and these puzzles reminded me of the math questions I saw on the S.A.T. years back. I was able to solve many of those S.A.T. questions, but this… this was a new beast. Looking at algorithms I felt like I was trying to solve the riddle of the Sphinx. Oh and not to mention Big O what? Data Structures who?

Now by no means am I solving the most difficult algorithms. Actually they’re the simplest of the simple. But I’m solving algorithms that I’ve never seen before, on the first try. This goes to reiterate the the idea of my last post that repetition is the key.

Constant practice on programming logic helped to me to have some understanding of how solutions need to be structured to many of these problems. And the funny thing is I wasn’t specifically focused on solving algorithms. I was focused on understanding the logic and building simple, little apps. Goes to show that building things has a way of covering everything else.

Love and Peace,

Danielle

React.js logo

React.js! Let’s Talk About It…

I first got familiar with the concepts of React.js about 5 months ago. I loved the idea of Single Page Apps and how reactive (pun totally intended) the page elements and application were to the user, without reloading the page. And to have a better understanding of React, I set aside some time to work with the DOM (Document Object Model) more, as well as JavaScript. And on top of that I worked on Data Structures, and vanilla JavaScript in the DOM  and boom. It’s like my understanding of DOM manipulation was “clicking” way more just by working with the DOM on a more complex level with React.

Plus having worked to really understand the concepts of using React, it seemed to make DOM manipulation much simpler than before when just working with the DOM without React.js. And at the same time, with a much better understanding of the DOM, my understanding of React has increased. I React.js and especially now that Facebook has changed it AND React Native to the MIT License, I’m really looking forward to creating amazing things with React 🙂

Love & Peace,

Danielle

Image of chalkboard with counting strikes grouped by fives

Repetition Is the Key

More specifically, repetition trying things yourself. It’s easy to get caught up in doing endless tutorials if your a beginner, but I’ve found that unless you’ve put away the book or video and tried to recreate what the tutorial did without the instructors guidance, then you may not really understand the logic behind many of the things that were done. This is how many people can go through a ton of tutorials yet still feel like they can’t program anything.

It’s probably because you never faced that blank text editor and tried to build something yourself. Many people get stuck here and don’t apply to jobs because they feel like they can’t program. Well if you really don’t want to just go for it, then the only way to solve that is to apply what you’ve learned yourself and get some repetition under your belt. Do what you would do at a job, yourself. Build things. Soon enough like John Sonmez formerly of Simple Programmer said, things will start to “click”. If you keep doing it, eventually you’ll start to just “get it”.

This goes along with a concept I read in the book Mastery by Robert Greene. It’s a great book I’ll do a review on. But essentially one of the points he made in it was that our brains are very nimble. We as humans adapt, learn, and re-wire very quickly. When we try to take shortcuts this goes against our nature. Time is our friend when learning new skills. When we expose our brains repetitiously to concepts, this allows our brain to make the connections and adapt. When we try to skip the hard part of doing it, it ends up taking longer to learn because we are working against how our brains work.

In other words, do it. Yourself.

Soon creativity will start to flow and you’ll come up with your own ideas of apps to make. Then build those applications. Start with simple ones. You’ll be amazed how quickly you learn.

Love and Peace,

Danielle

Image of the names of a lot of programming languages

Don’t Learn a Million Programming Languages

Learn one, and understand the logic. At least at first.

When I first started learning programming I used to think that learning the syntax of a couple programming languages was important. Namely JavaScript and PHP. But I came to find that I knew the syntax, but I still couldn’t program. I couldn’t make anything myself. I came to realize that learning syntax is the simple part.

In your first language build things yourself. Building applications yourself will cement the logic in your mind. Start with simple apps.

After you understand the basics of the logic in your first programming language, THEN learn another language if you really want to. Though I would recommend sticking with one for a while. Then you’re really more or less just learning the syntax of the language because you already understand the logic in most programming languages. That is if you picked a common language, not an obscure one that’s different from most.

I’ve also found that sticking to one or a few things is a great confidence boost when learning whole new concepts. It gives you a chance to gain some type of mastery over things and eventually, you start to see over the top of that learning curve.

Love & Peace,

Danielle

MongoDB vs MySQL thumbnail image

MongoDB vs. MySQL

First of all I love the flexibility you have with a non-relational database, in terms of being able to have a varying data set. Though it’s great to be able to have a schema for the data so it can still have a predictable structure. With MySQL, the data sets are tabular which is great for comparing, but with MongoDB the data sets are “collections” which are basically syntactically like JavaScript objects, actually BSON (Binary JSON), which of course is a plus! I’m already familiar with SQL commands so I was able to connect the MongoDB CRUD concepts with MySQL, though the commands are different and more like JavaScript as well. It’s fun comparing and contrasting. I’ll keep experimenting.

Love & Peace,

Danielle

Node.js logo

Post Requests with Express

I’ve been looking forward to getting to doing manual Post Routes and Requests for some time now. It’s interesting to see things like variables and arrays being passed around as objects on the server-side via Express on Node.js. And parsing the req.body into a JavaScript object to capture and show the request data. I’m also experimenting with Reddit Route Parameters by duplicating subreddit route params, defining a pattern in a route, and making a dynamic webpage with those parameters.

Love & Peace,

Danielle

ES6

ES6

I was a fan of For Loops and the way they make everything explicit in terms of what exactly it’s doing, and how you can get to exact solutions to specific problems. But I’ve been studying ES6 and that’s when forEach came along. I’ve been converted. This method on the array prototype is helping me get acquainted with abstraction. And after working with it for a bit I’m actually starting to like it. I’m also finding the map and filter methods, const/let and arrow functions very helpful as well. This is great preparation for React.js.

Love & Peace,

Danielle

DeeDee of Dexters Laboratory typing

Better Typing, Better Programming

One thing that I don’t see mentioned much if at all, is improving your typing ability to improve as a programmer. When I first started learning programming I typed while looking at the keyboard. And with others quite often I would see those who tend to be beginners to programming, staring at the keyboard, pressing one key at a time. Everyone does have to start somewhere. But this really slows things down and puts a lot of stress on your neck. I’ve learned that it really speeds things up, and it’s much healthier to learn to type without having to look.

I’ve worked on my typing accuracy and speed a little bit everyday and I wouldn’t even recognize myself typing the way I used anymore. It’s definitely been instrumental in letting creativity flow and focusing on the programming, instead of where the next key is on the keyboard. A great tool to use that’s inexpensive and simple is Type Fu. As of the time of this writing it’s 9.99 USD on the Mac App Store (OS X) and 4.99 USD on the Chrome Web Store (Windows, OS X, Linux, Chrome OS). I am not affiliated with them but it has helped me tremendously. And there are also lots of free resources online.

And if you’re struggling with some of the things I mentioned, I encourage you to spend a little time everyday on your typing. It doesn’t have to be a big thing. Just 10-15 minutes a day can be very effective. But it will make things so much easier for you.

Love & Peace,

Danielle

Template Engines - EJS and Node.js video thumbnail

Template Engines – EJS and Node.js

(video re-post)

 

Video transcript:

Love & Peace! What’s up y’all it’s Danielle, we’re talking about tech, coding, coding tutorials, vlogging, blogging, and self-development books so make sure you Subscribe and Like. And today’s topic is… Template Engines. So I’ve been working with template engines on the backend with Node.js and JavaScript of course. And I’ve come to find I’m seeing a lot of similarities between this and PHP. I was working with PHP earlier this year, and making dynamic web apps using things like header files, and footer files and things like that. Seeing how it all comes together with minimal repeated code, which is obviously infinitely easier to maintain. So now I’m seeing similarities between that and template engines on the backend with JavaScript and Node.js. And you know, now that I think about it they’re both server-side languages. PHP being a server-side language, and JavaScript with Node.js, it has those server-side capabilities. So I’m definitely making the connections and seeing the similarities between the two. So with JavaScript basically doing those same things, plus with JavaScript it’s able to do it with basically good old, client-side, vanilla JavaScript. So that’s awesome, and that’s it for now. So again Subscribe, Like, you know get more tech, programming tutorials, vlogs, blogs, self-development books and that’s it for now. Talk to you later, love and peace.

Love & Peace,

Danielle