Object Oriented Programming Explained Simply

Having a hard time understanding the concepts behind Object Oriented Programming? You are not the only one. Reading documentation feels like you are learning a foreign language. Programmers love using big words to confuse people. Then we use even bigger words to explain the big words; because screw it, you can’t tell geeks what to do aaaaaannnnd job security. A whole bunch of nerds coming up with nerdier definitions. Might as well just learn Klingon… ugh nerds. We are the worst.

Researching Object-Oriented Programming you probably have come across dry definitions for the words objects, properties, and methods/functions. I am guessing you are still confused and that is why you are here. My goal is to explain these concepts, visually, in a simple method. So simple, I even included a video, you are welcome.

Some nerds are going to complain, bla bla bla other ways. The point of this article isn’t to be language specific, OR even remotely complicated. I am limiting the coding examples, using simplified language, and simplified syntax. The point is to define objects, properties, and methods in a visual way. Simple language, simple definitions, and simpler examples.

Now let’s start.

In Object Oriented Programming, objects are like cars.

Yup, cars. Look at the image below. The image to the left and right are both cars yes? Can we agree on that fact? Yes? YAY.

How do we know they are both cars? Well for one, they both have four wheels. They have windows. They have doors. They both look like they drive. They both look like cars and do tasks that a car would do. They are both cars. What is their object? A car. They might look different, but they are still both cars.

Again, objects are like cars.

Think of an object in programming like an object in “real life”. Something you can touch, like a car.

Look at the cars. Get out a piece of paper or open a document. Jot down the differences between the two cars? What makes each car unique. Is it the brand, the color, the type, the make?

Which properties did you use to describe the cars? (keyword properties).

Properties describe the car.

What are the properties of the car on the left? Is it blueish? Is it a Fiat? Yup, those are properties of the car. You can see I listed a few of the properties in a boiled down javascript syntax.

Now time to break down the example:

car.make = "Fiat";

Another way to look at it is: Object.property = “descriptor”;

Or in English, The car make is a Fiat.

What are the properties of the car on the right? It is white. It is a sports car. Yup, those are a few of its properties.

Describing this object in javascript.

car.color = "white";

In plain English, the car color is white.

One more exercise, to seal the deal on properties. Look at the javascript code below. Open a new browser tab, and search for an image of this car. What would you type in Google?

var car = {
 make: "Ford",
 model: "Explorer",
 year: 2010,
 color: "red",
}

Would you Google: “2010 red Ford explorer”? Perhaps you find images like this?

Try to search for an image of this car.

var car = {
 type: "sports",
 year: 2016,
 color: "yellow",
}

What would you type in Google? Yellow sports? Probably not, you would get some strange results like this:

You would put in “2016 yellow sports car”.

The first example’s properties provide a more refined result. You need to remember this when describing your objects. I only describe the car as well as I specified its properties.

Now that we have described the cars. What do both of these cars do? Stepping into a car you probably first start it.  Starting is one thing the car does, at least we hope it starts. Pause and think about “what do cars do?”

A car starts. It can turn right, turn left, go backward, forward, etc… these are tasks a car does.

Methods are what the car does.

For example, written in javascript:

car.drive();
car.brake();
car.stop();

Breaking this down.

Object.method();
WhatItIs.WhatItDoes();

Think of methods as commands. You are commanding the object to do something. CAR I COMMAND YOU TO DRIVE!

car.drive();

In English, DRIVE THE CAR!

If you know javascript, you will see that the .drive(); looks a lot like the syntax you use to fire a function. For example:

// Defining the function
function helloWorld() {
 console.log(“hello world”);
}

// Firing the function
helloWorld();

Look at line 7. Notice the syntax. helloWorld(); looks a lot like car.drive(); doesn’t it? The only item missing is the car. You can think of “methods” as functions for that object. Or what that object does. What do I mean by that?

food.drive(); doesn’t make sense. What food does is different than a car.

That is it:
Objects are cars.
Properties describe the cars.
Methods are what the cars do.

I hope you found this article about object-oriented programing helpful, now keep coding.

What is Growth Hacking?

So you want to be a growth hacker huh? Or are at least interested in finding out more about growth hacking. You might have heard of all the crazy internet buzzwords and keywords that describe growth hacking.

I am going to be frank. There is a lot of crap out there about “growth hacking”. Most of it is shady used care salesie. The amount of bad information about the topic is really annoying. Because of the amount of straight up lies and false information, I’ve written this detailed article about what is and isn’t growth hacking.

In this article, you will learn where the original definition of the term. What growth hacking means and more importantly what it doesn’t. Think of this text as a growth hacker growth hacking 101 class manual. Again, this growth hacking article is really long, so I broke it up into sections. Below is a table of contents to help you jump around this growth hacking 101 post.

Growth Hacking 101 Overview / Table of Contents

The Essence of Growth Hacking is G.T.L

What is G.T.L? An acronym I created standing for “guess,” “test,” “learn.”  In business, growth hackers are part scientist, part marketer, part designer; they are alchemists. They use “pseudo-science” to conduct mad experiments, which focus on growth.

Veteran growth hackers are disciplined creating a repeatable process that they use over and over and over again. Using their version of guess, test, learn.

G. Guess

First, you create a hypothesis. A giant guess. For example, “I guess if I remove the navigation on my landing page I will get more conversions.”

T. Test

After guessing, growth hackers implement their experiment through various techniques, customer reviews, A/B testing, etc.. Focusing on measurable data so they can chart results.

L. Learn

The stage in the growth hacking process is where individuals learn from their data. Reflecting on was the experiment. Asking questions like “Was this a success? What can we do better? What is another experiment I can do?” Questions, questions, questions.

What is a Growth Hacker?

Who are growth hackers? What is growth hacking?

Growth hacking is a term coined by Sean Ellis. Here is the original, not altered or polluted definition:

A growth hacker is a person whose true north is growth.

Growth Hackers are renaissance individuals of the digital era. They are part developer, marketer, designer, innovators, or anything else. They are a jack of all trades. They are the get it done sort of person. Thinking outside the box by combining seemingly unrelated skills to experiment with something new. They focus on measurable growth. If it isn’t quantifiable, it didn’t happen. They guess, test, and learn. Then do it over and over again. To put it simple growth hackers are unicorns that always focus on growth in business or personal life.

Growth hackers are unicorns? Jack of all Trades… eww

I know some people are probably already zoning out. If I say growth hackers are “jacks of all trades,” they whisper, “but masters of none.” Today it seems that there is a desire in technology to be a master of ONE thing. You are either a Javascript Developer or Python Developer. You are either an Onsite SEO Marketer or an Offsite SEO Marketer. You are a social media marketer… You get the point.

But, where did our desire to label people start? Was it the toys we played with as children? Our upbringing and moral compass? Our school systems? Personally, I believe all of these items contribute, but I theorize our current school systems heightened the divide. (I promise this all relates).

In America from kindergarten to sixth-grade students go to a school where they interact with different subjects within one classroom and with one group. Teachers blend lessons of the “arts” and STEM into one experience. Around 7th grade, we change everything. We move from a classroom where students play with subject two segregating into different subjects of math, English, History, foreign language, etc. Why did we do still do this? For efficiency.

Classrooms today are modeled upon a 150 old system. A system devised during the Industrial Revolution. Our students in high school move from classroom to classroom after the bell rings. Like factory workers moving from station to station. The basis of the term “Factory Model of Education.”

But our divide of subjects or jobs doesn’t stop in high school. You see this even more in higher education. Our universities have Schools of Arts and Schools of Science.  Graduates of each program either earn a degree and B.S. a Bachelors of Science or B.A. Bachelors of Art. This divide in academia still exists today. Scholars debate which is more important: art or science. But why the split? Edward O. Wilson who wrote in his book “Consilience” which tries to explain the importance of art and science:

Science needs the intuitive and metaphorical power of the arts, and the arts need the fresh blood of science

We see this divide continue past academia and into biology.

By now you are probably thinking okay, bla bla bla, how does this relate to Growth Hacking. I will tell you, but first, there is one more related tangent.

There is no left vs. right brain. We can strive to grow.

There is an old theory that people are either born left or right brain. The left brain describes people who aren’t intuitively creative because they use the left part of their brain for the majority of their cognitive tasks. The right brain represents analytical and the belief is these individuals use a majority of their brain power from the right side of their brain. There is a divide amongst us from a biological level of left brain versus right brain. But, where did this idea come from? Is it backed by scientific fact?

In the 1870s two scientists, Broca and Wernicke started poking around the left hemisphere of the human brain. They discovered areas in the brain which control speech. This is said to spark the public’s imagination and  supposedly inspired the creation of works of art like “Dr. Jekyll and Mr. Hyde” by Robert Louis Stevenson.

The theory of right-left brain became even more popularized in the early 1980s by Nobel Prize winner Roger W. Sperry. While studying epilepsy Sperry discovered if he made an incision on an individual’s corpus callosum (the structure that connects the left and right side of the human brain) some patients experienced strange symptoms. Some couldn’t access parts of memory perceived in their left side of their brains and visa versa. Sperry attested this to the “fact” that certain individuals utilize one side more than the other. Left brain vs. right brain. This “fact” is still fiction.

Recent research has disproved the left vs right brain theory. The University of Utah, while researching Alzheimer’s inadvertently disproved the popular myth. After studying 1000 brands under MRI machines, while focusing on 7000 different areas, they uncovered that, while although certain regions of the left and right hemispheres control various aspects, humans don’t favor one side of their brain over another. We utilize both hemispheres equality. Don’t believe me, I understand, I am not a neuroscientist but read the results for yourself here. I am not saying that there aren’t specific regions of the brain that we utilize for specific functions. But your brain activity isn’t limited to one side.

Believing people are “naturally” analytical. Or making excuses for yourself, “I am just bad at (math, art, drawing, etc.),” is having a fixed mindset. A fixed mindset is the direct opposite mental framework growth hackers must have to grow.

Growth Hackers have Growth Mindset

Whether they know it or not, growth hackers have a growth mindset. A growth mindset is a belief that failure is a springboard to growth. Failure isn’t bad; challenges aren’t bad. There is growth through trials and tribulations.

True growth hackers don’t take the easy route. They’re the ones that wander the road that’s less traveled by which makes all the difference. It isn’t all peaches and cream. Growth hackers fail, a lot. To overcome failure growth hackers adopt a growth mindset mentality.

What is growth mindset ?

Growth mindset is when an individual believes in incremental or small growth. That failure doesn’t define the personal success. They think that their core that their success is due to hard work and determination. That they can do anything, they set their mind too. Do people with a fixed mindset believe everyone can be the next Einstein? No, but they do think they can always get better, even if it is ever so slightly.

Growth mindset is all the buzz in education. Growth mindset is a term coined by Carol Dweck, a psychologist from Stanford University. Dweck sought to discover if there are critical differences between students who are successful at learning and those who aren’t. She attributes more successes to those having growth mindset over fixed mindset.

What is fixed mindset?

Fixed mindset cripples growth by the fear of failure. Fixed-mindset individuals make excuses like, “I am just not good at math.” Letting failures, or fear of failure, define their efforts. To be a growth hacker, you have to embrace failure. You can’t say, well I am just not good at Math. With this mindset, you are limiting your ability to grow. Relying on “biological” reasons to not push yourself. Making excuses, “I can’t do X because I am right brained.” A complete and utter cop-out.

Why should I care about “Growth Mindset”?

If you are a parent, employer, or just breath, it is essential to know the existence of growth mindset. Think about your life, do you make excuses for something. Personally, I have thought in the past, “I am just terrible at writing.” Well look at me know, I am writing a semi-legible article about Growth Hacking.

But really, consider this study/article. Carol Dweck and her team surveyed elementary school children. The researchers had young students take an IQ test. Half of the subjects they gave praise on results, example “Wow, you are brilliant.” The other half of the subjects they provided praise for their effort, example “wow, you worked very hard.” Same tests but different praise. After giving the students praise the orchestrators provided the students with a harder challenge. The results were astounding.

Students that received praise for effort attempted the harder challenge. Students praised on “smarts,” or performance were less likely to try the more intensive task.

Next time you are going to give praise to an employee or student, think about what type of mindset you are setting.

Most importantly what are you telling yourself?

Again, why does this matter? Because, Growth Hackers fail a lot. This mindset, focusing on growth, and failure as fuel allows for Growth Hackers to continue.

For the billionth time Growth Hackers fail… a lot.

Failure must become a growth hacker’s best friend. Growth hackers can’t be afraid to fail. Think every business person was successful on their first try? Nope. Growth Hackers fail, fail, fail, fail and then fail again. Because although growth is the true north, growth isn’t linear.

Progress isn’t linear.

Progress doesn’t always shoot up. Just look at a Google Analytics account, or the stock market, there are dips and valleys.

Growth hackers repeatedly fail. There isn’t an overnight success. It is hard work, no shortcuts.  A quote that resonates with growth hacking:

Build, Destroy, Rebuild. I have mastered the art of bouncing back, now to master the art of not having to” – Dau Voire

The essence of growth hacking is trial and error. A constant battle of reworking, retesting, always growing. This is growth hacking. The continual push for growth. Individuals who have growth mindset.

Growth Hacking is a Lifestyle

Growth hacking is a lifestyle. If we go back to the original quote that coined the term. The non-twisted, non-labeled, non-get-rich-quick-scam version. A powerful message of personal growth ensues. Sean Ellis initially described growth hacking:

A growth hacker is a person whose true north is growth. ~ Sean Ellis

This quote should fuel a lifelong journey of improving, always growing, and always experiment. Because growth hackers know at their core, if they are not always changing, testing, adapting, the world will change around them. They will be dated, obsolete.

Growth hacking isn’t easy, fast, or overnight

There are tons of terrible blog posts about, how to get rich fast using growth hacking. How to gain a million billion followers using these few tips. This is all nonsense and bullshit. I am just going to say it, it is 100% bullshit.

Growth hacking isn’t easy; you fall on your face over and over and over again.

Growth hacking isn’t fast; people spend countless hours of failed ventures to become an overnight success. You continuously work on different frameworks, channels, and timing.

Any article or company that claims the opposite is full of complete shit.

I’m sold how do I start growth hacking?

Lucky for you, I created a framework on where I suggest starting. If you subscribe, I will give you a video on how to use this framework.

But if you don’t want my other free content, cool. I will still tell you anyway. You might not know this, but I gave away the answers already at the beginning. It is G.T.L, guess test learn.

First, you guess

Growth hacking is alchemy, a pseudoscience. First, you must generate a theory. I have lots of videos on how to do that as well. This theory can be for your personal life, business, digital marketing, social media marketing, pay per click, search engine optimization, etc.. etc.. anything you can have a measurable outcome and timeframe.

To create a good guess, I recommend writing down a theory in this format:

IF I do x THEN y will happen.

Example:

IF I post 30 comments Instagram each day for a month THEN I will get more followers and engagement.

Now I have theory I can test.

Next, you Test

With my theory created it is now time to test. How do you test? Come up with a system first. Think about all of the materials and assets that you need to have before you start the test. How are you going to collect the data? How often? When will you report? Again it is about a measurable outcome. If you don’t take measurements, you can’t see the results.

Questions to ask yourself before testing:

  1. What do I need to conduct this test?
  2. Do I have everything I need to implement this test? If not, what do I need?
  3. How and what data will I record?
  4. How often will I record it?

Perhaps you will write down every day in a journal. Or you have a fancy spreadsheet or software? I am not sure, but the point is to have a sound method first.

Once you have all questions answered, start testing right away!

Conduct your experiment! Why are you waiting? Test and get ready to learn.

Then, you Learn

Once the data has been collected, it is time to learn. After testing is where the growth really happens. Regardless of if you got more sales, Instagram followers, or learned a new language. With your data, you can see, did my experiment work or not? If it did, congratulations! If not,  congratulations! Either way, you are growing.

Sit down for some reflection. Ask yourself:

  1. Was this test a success?
  2. What did I learn from this test, and how can I use it going further?
  3. How can I improve this test, or what do you want to test next?

Now repeat!

Once you get in the habit of G.T.L, you will see that experiments start to lead into each other. You get excited asking questions, what if I did this or this! OR THIS!

Sometimes you will improve 10% other times, fall back 5%. But like a 401k investment, over time, the small gains create tremendous momentum. Then the world needs to watch out.

A Growth Hacking Framework

Now if you don’t want to go through all that work, I have created a growth hacking framework. Download your FREE growth hacking framework here! If you understand how to use the framework, great! Get going!

If the sheet looks complicated don’t worry. If you subscribe to my growth hacking resources newsletter, I will send you a usage video on how to use the framework. In the video, I will help you set-up your first experiment.

The framework will help set-up real growth hacking strategies. Where you focus on your own experiments for growth. Again don’t trust “growth hacking strategies” that promise overnight success. Those “growth hacking strategies focus” on vanity, not real growth.

A Real Growth Hacking Strategy: Sales Funnel Experiments

In the video, I will show you how to focus your efforts based on your sales funnel. You will discover which section in your funnel is the weakest. Identify the most significant pain point for your client. Then design an experiment to fix them and start growing in the right direction. If that isn’t enough, you will get all sorts of other recommended growth hacking resources.

Recommended Resources for Growth Hacking

Hopefully, you are interested in all things growth hacking by now! If you sign up for my newsletter, I will send you tons of information.

What sort of growth hacking resources will you get?

  1. Favorite Growth Hacking Books
  2. Favorite Growth Hacking Sites
  3. How to Growth Hack video on how to utilize my growth hacking framework
  4. Example Experiments



Now get growing.

Best Animation Sites

So you are looking for the best animation sites well look no more. This is a directory of animation related topics and sites for you to check out.  Honestly, your search term is pretty vague, so I am going to provide a few different scenarios and help point you in the right direction. I have hand currated a list to try to solve your query for the best animation sites.

Why am I doing this? I am a nerd and love animation things. I actually animate and am a web developer, so this search has items that go hand in hand. Let’s start with the scenarios.

Where you looking for the best animation news websites? Or the best animation industry websites?

Here is a quick list of websites about what is going on in the animation industry. All three update about latest productions, technology, and events going on in the animation industry.

Where you looking for best websites that have animation?

I am guessing you might be looking for websites that have some cool animation effects. Perhaps some parallax or things popping in and out as you scroll down the page. In this case, I have included some tutorial links and inspiration.

With these examples, I expect you know the basics of HTML, CSS, and Vanilla Javascript.

Where you looking for best sites for learning animation?

Perhaps you are looking for ways to learn how to animate. If that is the case you have definitely stumbled upon the right lists. First I would suggest to check out these books, I know it isn’t a site, but still. Also, I created a post “best resources for learning animation”. You can read it, or if not, this is a fast breakdown of the websites on that list.

Where you looking for best animation sites for inspiration?

Here are some of my favorite animation sites for inspiration. They have wonderful forms and communities. Check them out.

Best Free Animation Software

Best free animation software for download

So you are interested in studio animation but can’t afford the software? Yeah me too. Luckily we are in “the era of the nerd”. Fellow geeks have created studio quality free animation software we can download and use for our projects. Because dang, industry standard animation software suites are damn expensive. So I have hand curated a list of software solutions that I believe are currently the best free animation software. I mean really, how do they expect to train more professionals if we can’t afford the software? Buying spaghetti, a.k.a. “fancy top ramen” is a stretch for some college students let alone a five hundred dollar piece of software. I mean really, who can afford these animation programs? Rich people?
[Read more…]

Getting your Website Blacklisted is Simple Just Don’t Protect Your Customers & Online Brand.

Wondering how you got your website blacklisted? Or, is your website ranking low on google? To do this is pretty simple, just neglect your customers, online brand, and marketing efforts. If you are in this spot the fix is simple, do it better.

People will try to sell you fancy marketing advice but it really boils down to the fact that you are not satisfying your customers. Perhaps worse, Google & customers have lost all trust in you.

Imagine going to your favorite local restaurant. You order some delicious yummy tacos for a low price of $8.99.

A month later, you notice you are light 70 bucks. You discover that a worker wrote down your card number and charged an extra $70.00. You would be furious. You might not go back to that restaurant. Your favorite restaurant’s brand instantly ruined in your eyes.

Online Branding & reputation are important; probably more so for your site due to the amount of competition online. Eric Schmidt, Executive Chairman of Alphabet, Inc., once stated: “Brands are the solution, not the problem… brands are how you sort out the cesspool.” If the CEO of Google believes branding is important, you should too.

A good online brand is consistent. A good brand has integrity. A good brand protects its clients. A good brand goes above and beyond to make sure they keep their customer’s safe. A good online brand has trust.

Today our lives are digital, a simple script placed strategically on a site can lead to credit card information, social security, and home addresses stolen from your clients. Because of this, Google and other internet companies understand the importance of security.

Remember, Google is trying to keep people using Google. Searchers are more likely to click on their ads, and search results, knowing if they are safe. If the searcher’s information is stolen, they are more likely to try Bing next time. This is why Google has increasingly put emphasis on security in their search engine algorithm. So much so that if your site gets hacked, it is likely to get Blacklisted by Google! Why? Your brand broke trust just like your favorite restaurant!

Along with webite blacklisting, Google looks at many factors of a site to determine keyword ranking, some of which are security related, for example, whether or not your site has an SSL certificate to secure customer information. Security invokes trust. Trust generates sales. Don’t believe me, then why are there so many “security badges” on checkout pages.

Along with stealing information, hackers also try to take down sites using DDOS attacks. These attacks can take down your site for hours at a time. This is bad for reputation. Would your local restaurant have a good reputation if it was randomly closed throughout the week? Probably not. Just like local visitors, Google doesn’t like closed businesses either, nor do your visitors.

Online there is much more at stake; not only can a few bucks be stolen but your whole identity as well. The real scary fact is the job for hackers is becoming increasingly easier. Out of date sites and spaghetti code plugins are easy targets for bad guys.

Luckily you can prevent the bad guys from destroying your brand. Utilizing security solutions like Sucuri to monitor code, patch holes, and keep information secure not only protects your brand but your customers as well. Which if done consistently, with integrity, will generate immense rewards.

What 73 Technologists Wish They Had Learned in High School

The Backstory

I work for Bitwise Industries and Geekwise Academy, a technology education company in Fresno, California. For the past two years, we have partnered with Patino School of Entrepreneurship by providing custom courses and curriculum. The “E. School” is a completely free public “pathway” school through Fresno Unified School District. Patino is a different type of school, one I haven’t seen before.

High Schoolers begin to learn technology development skills (Javascript, PHP, SEO, SEM) and form business plans with other students. All of the classes are taught with a business and entrepreneurship lens. For example, in History, while learning about WWII, students might ask the question, “Yes he was evil but what leadership traits did Hitler utilize to come into power? How can we learn?” In Math, students are asked to find the ROI for a company. All classes are in preparation for their senior year.

Essentially the program breaks down like so:

  • Year One: Learn Entrepreneurship Traits
  • Year Two: Start Business Plans, MVP, and Pitch to Investors (real life SharkTank)
  • Year Three: Bootstrap it till you make it or die trying

Senior year is an incubator for their company. We ain’t talking about no fake companies either, like the high school projects we remember. They launch real freaking companies and make real freaking money, well at least that is the goal. Oh yeah, and they get to keep the profits. Imagine making money to pay for their college tuition while in high school. Freaking crazy.

This year, I have been co-leading the advanced online marketing and web development classes where Juniors begin to execute their plans. At the school the staff pushes experimentation, being okay with failure, ideation, pivoting, and pitching constantly.  But I wanted to know are we missing something? What are some lessons that other technologies and entrepreneurs wish they would have learned in high school? So that give me an idea, fire-up the old twitter machine and ask new followers a few questions.

What did I ask?

Through DM on Twitter, I sent hundreds of technologists and developers this message:

“Random question, I work with 70+ high school entrepreneurs. Do you have any life lessons / business advice / things you wish you would have learned in high school? I am always trying to get better and pass on inspiration.”

What happened next was remarkable.

My DM campaign got roughly a 16.67 engagement rate and participants delivered crazy insights. Most importantly it gave way to a lot of wonderful discussions. During our talks, I started to notice a few trends. Responses could be clumped into six different categories:

  • Younger: The wish that they would have started learning at a younger age
  • Network: The wish they would have learned to come better networkers or have built a better network
  • Movement: The wish they would have learned how to persevere and to continue moving forward
  • Finances: The wish they would have learned the importance of personal finances
  • Fear/Failure: Learn to overcome the fear of failure. Embracing failure as a learning opportunity.
  • Other: Other meaningful responses

So what were the results?

  • 10.6% of the respondents wish high school taught them more about personal finances.
  • 12.76% wish they had better networks or started creating one sooner in life.
  • 12.76% would have liked to learn how to stay motivated and continue pushing through hard times.
  • 17% admit that they wish they would have started sooner in life be it programming, or business development.
  • 23.4% wish they would have been able to fail more, to overcome the fear of failure, and to learn that “failure” isn’t bad.
  • 23.4% of the responses don’t fall into a direct category.

Out of the 73 respondents:

  • 53% were identified as “Developers”
  • 25% were identified as “Technologists”
  • 19% were identified as “Front-end Developers”
  • 1% were identified as “Back-end Developers”
  • 1% were identified as “Other”

Some of the notable DMS.

Like this not so scientific study? Please share this infographic 🙂

 

How to Use Filezilla to Launch a HTML Website

Okay, so now you have written a basic HTML/CSS site, and you want to launch. But, there is only one problem, you have no freaking clue how. Well luckily for you here is a tutorial titled “How to use Filezilla” that shows you how to launch a basic HTML / CSS site onto the interwebs.

There are two ways you can upload your site: FTP and SSH. FTP, or more specifically sFTP, is easier to explain so let’s start there.

Before we begin there are a few basic things you need:

  1. A website domain name
  2. A website host provider
  3. Your host provider login

Your hosting provider will be where you get these items:

  1. FTP host
  2. FTP username
  3. FTP password

All sites need a domain name and host provider. Beginners sometimes think that when you buy your domain name for $9.99 a year at a company like GoDaddy that you are done. Well…. not quite.  You need a hosting package too.

What is hosting? Hosting provides access to a computer (server) that is working 24 hours a day 365 days a year. You “host,” place, your files on this computer (server). The server allows the public to view your files through your domain name.

How does that work? Well, your domain name points to an IP address. IP addresses are like street locations for the internet. For example, milessebesta.com’s IP address is 192.123.456.789 is nearly the same thing as saying Bitwise Industries is located at 700 Van Ness Ave, Fresno, CA 93721.

It gets more and more complicated with DNS and NameServers. Blah blah blah. But I will give you the basic version. When starting out, buy the hosting package first. Why should you purchase the hosting package first? Well, 90% of hosting packages online provide a domain name for free if you host with their company. Only small local businesses don’t usually offer this package deal. Technically you can purchase your domain from a company like Godaddy.com and host at 1and1.com, but don’t do this. As a beginner, it is just more complications and headaches. If you purchase the hosting package and get a domain name with it for free, they will setup the DNS and NameServers correctly for you.

Now hosting, which hosting packages should you use?

First thing, unless you have a developer writing a fancy ASP.net application GET LINUX HOSTING. Hosting companies usually offer two types of basic hosting, Windows or Linux.

You want to choose Linux. Odds are you will eventually migrate to a CMS (Content Management System). Most, CMS systems run off PHP and MYSQL. Yes, you can run PHP and MYSQL on a Windows machine. However, most Linux servers run Apache. And blah blah blah technical stuff… boring… sleep. Linux, technically Apache, allows mod_rewrite. Mod_rewrite allows for pretty URLs on WordPress, which is good. You are lost, just trust me. Get Linux, it is cheaper and allows you to run more.

Note* if you are hosting a simple HTML site, or basic WordPress site, generally you can get away with the cheapest option. You can always upgrade 😉

Here are some of my suggested host providers:

1and1.com (I use this provider)
Hostgator.com
Rackspace.com (Really expensive but insanely wonderful support)
Godaddy.com

I bought hosting, now what?

Having been a web developer for 7+ years, I can tell you the most typical mistake client’s make. When you ask for their FTP information or SSH, they nearly always send the username and password to their host account.

Your login for your host provider is not the same information as your FTP information. The login allows you to get into a place where you create the FTP username and password!

So this is where it get’s tricky. I don’t know what host provider you decided to purchase. There are like a billion out there. But what you need to do is login and figure out how to create an FTP username and password. Most will do this automatically for you. Check the signup email they send fir this info first.

I would suggest Googling “Setting up FTP accounts at [enter host name here]”.

Most decent host providers have support documents that will walk you through this process.

In the end, you need to find, or create, three items:

  1. FTP host (which is a URL or IP address)
  2. FTP username
  3. FTP password

Once you have these items, we can connect to your site.

Finally the real question “How to use Filezilla to launch your website”.

You have your FTP information now we need to connect. To connect we need to download an FTP client. There are lots of different ones out there, some cost money, and some are free. I prefer the free ones. Specifically, I prefer FileZilla, it is open source and stable. The only downside is that it seems like there is always a freaking update.

So to upload your site, there are four steps: Install, Connect, Upload, Check

How to use Filezilla, Step 1: Install FileZilla

How do you install FileZilla?

  1. Go to https://filezilla-project.org/
  2. Click on the button “Download FileZilla Client”
  3. Download and Install
  4. Open up FileZilla

How to use Filezilla, Step 2: Connect via FTP

Now that you have Filezilla open you should see a screen like the one below.

There are two ways to connect: “quick connect” or using the site manager.

Connecting through “Quick Connect”

On the top bar, you should see “Host:,” “Username:,” and “Password.” Place in your FTP information. Don’t worry about port. Add in your Host, Username and Password previously provided by your hosting company. Click the big “Quickconnect” button.

If you are lucky, you will see a bunch of magic happen in the box directly below “Quickconnect” and files appear on the right-hand side where it says “Remote Site.”

Connecting through “Site manager”

The button on the top left allows you to store hundreds of FTP accounts. If you are managing multiple websites, you would want to configure the FTP information using “Site Manager.” Why? “Quick connect” only saves the login credentials for the last 10 FTP accounts you have connected via FileZilla.

Common errors and their meaning

If you see this:

Filezilla Login Error

Then you have the wrong password 🙁

If it is stuck on “Connecting to” then you see this:

Filezilla Connection Error

Your internet is either bad. OR the website is behind a firewall, and the connection is being blocked (this won’t happen with a standard host package). Generally, firewalls issues like this occur with a more advanced host provider.

For a majority of the errors you just need to make sure you entered the information correctly. I would recommend typing in the credentials. NOT copy and paste? Why? Well sometimes when you copy, you accidently grab an empty space before or after an item. FileZilla sees this space and thinks it is a part of the password, username, or host entry. This will cause your site to error.

How to Use FileZilla, Step 3: Upload Your Files

We are almost done! Now we just need to upload your site’s files.

If everything connects, you should see something like the image below. Notice that files loaded under the “remote server” side. You should see “folder” icons. You want to find one that says public_html, or www, or something that sounds website-ish. Double-click on the file to open it.

how to use filezilla

Now find your web files on your desktop. Drag and Drop the files into the website-ish sounding folder. Once this happens, you should see a “Que” pop-up in the bottom of the screen.

Once everything is loaded there should be nothing left in the “Que”.

Final Step Test!

The final step is simple, just load your website page. If it works yay, if not, sorry?

 

Website vs Web Application. Let’s Settle It!

Website vs Web Application

Websites, mobile applications, web applications, native applications, so many different buzzwords. What do they all mean? It can all be so confusing. Do I need a website or a web application? Which leads to the question, what is a website and what is a web application? I wrote this article website vs web application to hopefully shed some light on these questions.

Website vs Web Application: The Website

Webster defines “website” as the following:

A group of World Wide Web pages usually containing hyperlinks to each other and made available online by an individual, company, educational institution, government, or organization

Okay, that is kinda bland. A website is basically any site accessible on the internet. The most common website types are brochure, e-commerce, social media, blog, etc… These are all sub-categories of a “website”. Yeah, I said it, basically all sites on the Internet are websites… start yelling. Here are the most common: brochure, e-commerce, news, and social.

A brochure website: Imagine a paper brochure in digital form. Brochure websites are often very small. They serve as marketing material for the company. A fancy digital pamphlet. Some of these sites are run off a web application called content management systems (CMS). All content management systems are web applications.

An E-commerce Website: An online shopping cart system. These sites are small to large and size. E-commerce stores are run off a CMS web application.

A News Website: These are sites where the primary function is to provide articles and recent information to the client. These sites are built on a CMS system, like a vast majority of the brochure sites.

Social Media / Social Website: Online communities and forums. These sites range in size and are run off web-based applications.

Website vs Web Application: The Applications

Today a vast majority of websites technically run on web applications. You might be interacting with a web application and not even know it. WordPress is technically a web application. Magento, Joomla, Drupal, the same. SugarCRM, webmail, those are web applications.

Web applications allow for users to interact with the content (even if it is just the admin who can edit content). These are the opposite of what we call a “static website”. A static website is not an application. A static website requires server-side access to edit the content and code, these are the old school HTML & CSS only websites where you can’t edit anything without FTP or SSH.

However, it gets a bit more complicated and people will complain that I said WordPress is a web application.

Website vs Web Application: The Complication

Developers might yell that basic sites which run on WordPress are websites. Yeah, a keyword that they forget to pay attention to is “on” which implies a platform. WordPress is built on a content management system. Systems sound more like an application to me. Despite all of this, they have a valid point: context.

When talking about websites and applications it is all about the context. In this sense, when talking to a developer, we must think about the end user’s perspective. Is the majority of users interacting with the site in a way that modifies the information? If yes, it is an application. If no, it is a website.

With context in mind, here are the definitions boiled down to user intent:

The primary function of a website is to be informational. With this definition, any news, blog, or brochure site is a “website”. However, I would rebuttal that all applications provide information, that is their primary function as well.

The primary function of a web application is for the users to perform specific, interactive action. With this definition e-commerce stores, social media sites, CRM (Customer Relationship Management).

That is best I can explain the website vs web application debate. Us developers like to make things really really complicated; job security you know?

If you disagree with me about my definitions then comment below! Let’s discuss!

Want that tech job? Dominate Your SERP.

As a developer, you probably love the interwebs, but I hope you recognize that recruiters are increasingly using it as a tool. A tool to determine if you are a right fit for their company. Some recruiters admit your resume is just one data point. It is becoming more of a practice to search candidates online. Why? They are looking at personality, are you who you say you are? Will you represent the brand? Work well with the other team members? Do you fit the culture? Will you be a brand advocate? All of these items are increasingly important. But most importantly, it is a quick way to see if there are any crazy red flags.

Should you worry about that picture you took in college? Ehhh depending on the company. Some HR specialists claim it is decreasingly less important. Why? Everyone has a past. People are posting so much now, do they really want to spend the time to go down that rabbit hole? Should you try to be semi-presentable? Yes. But, while working on your Klout, you should dominate your SERP too.

As monster.com reports, “A 2006 survey of 100 executive recruiters by job search and recruiting network ExecuNet found that 77 percent use search engines to learn about candidates. Of those researching candidates online, 35 percent eliminated a candidate from consideration based on information they uncovered online — up from 26 percent in 2005. ExecuNet predicts that the number of job seekers prejudged or eliminated due to this “digital dirt” will climb.”

What is SERP?

SERP means Search Engine Results page.  It’s the listings you see on Google or Bing when doing keyword research. It is a powerful, powerful tool. We all know that. But, you need to own it. Why? Because today, you are your brand.

I’m not a businessman; I’m a business, man! – Jay-Z

In the internet era, we are all famous, and the Google paparazzi is trying to document our next move. We need to start taking lessons from celebrities. We are our brand and it is becoming increasingly important to monitor your brand.

In incognito mode, if I search my name what comes up? Why should I care? Because, if recruiters are looking than it better be presentable. In incognito search your name, for example “First Name + Last Name + Location”. Or “First Name + Last Name + Current Company”. Think of different ways someone might find you online. What do you see? Is it good or bad?

Which leads to the question, “How do you own your SERP?”

The basic answer, be active, be a good person, be noteworthy, and contribute. I know that answer is pretty vague. If you are an SEO master you know what to do. For the rest of us, here are three methods that will hopefully help.

Contribute to Open Source

Find an open source group and help. Be it WordPress, a GitHub Repo, StackOverflow, find an community and start contributing. Often these profile links will show up on a SERP. Which is really really good. Why? Because contributing to open source enhances lots of great skills that companies are looking for in their candidates. But here is the kicker, your name full needs to be your profile OR your name needs to be in the profile signature.

AGAIN, you need your name someplace in the public profile. Why? Because the magic Google machine needs to know.

Not only could it help out when searching for your name it also has wonderful advantages for your personal growth. I would recommend contributing to open source communities revolving around the profession you want. Meaning, if I want to be a front end developer, writing some cool codepens or helping some JS libraries might be beneficial. If I want to be a WordPress developer, maybe you should spend some time helping out people on WordPress.org? I don’t think this is too crazy, others seem to agree:

For developers, juniors in particular, contributing to open source can give you the edge you need to land that first job. Why? again it will help you refine skills that are valuable to companies. Here are some potential benefits:

Forums – Dedicating time to an online forum shows that you care about people, are patient, and dedicated. It displays that you can communicate effectively online. Finally, that you know how to problem solve and troubleshoot dirty code. These are great qualities for remote work and online support teams.

Open Source projects found on GitHub – Spending time committing to a repo usually drastically increases your coding abilities. Why? You are under the scrutiny of others. It forces you to have very clean and well documented code. At the very least, these contributions display you know how to use git.

Another major component we need to remember is that the Internet is increasing becoming dependant on open source projects. Smart companies know that the survival of their company is also dependant on the health of these projects. Could you imagine how many dev shops would be in trouble if NPM, Linux, or WordPress decided to shut down tomorrow? Eeeeep…

As Bet Hannon elegantly puts:

Don’t be a leech, contribute to something.

Lead a local Meet-up or Talk at One

Meetup.com has some decent ranking and can show up when Googling your name.  I recommend finding a local meet-up you like. Something you are interested in or have expertise. Start a meet-up, attend one, and if you can guest speak at a few.

Why is this good? Again, it shows you care about a community and culture, you have knowledge in a field, you like trying new things, and that you might be somewhat social.

Write Articles

Again, contribute. Find a site that you enjoy that allows guest posting. Contribute. Write about items that matter to you. Contribute, contribute, contribute. But do it on an external site. Why from a site other than your own? Because generally Google will only show a few listings per source (unless you conduct a site: search). Meaning, not all of the listings will come from “yournamehere.com”. Having content with your name on it from another source is good, also good for SEO.

Bonus: Have a Personal Website

This one seems a bit obvious but I wanted to throw it in there. Have a personal website, if the domain name isn’t your name. Make sure your name appears on your about or contact pages. These pages should also have your name in the title tag.

Tips for the Classic Front End Developer Code Challenge

Lots of website development shops that focus on CMS development: WordPress, Drupal, Joomla, Magento, etc… offer a “classic” test for frontend developers. Even SASS companies will sometimes provide this test.

What is the test? Take a graphic file and “htmlize” it.

Whether or not code test provides a decent understanding of the candidate’s abilities is up to debate.  Personally, I believe hard-skills can be trained and perfected, soft skills and problem-solving abilities are harder to obtain. But, what do I know?

Good or bad, a vast majority of development shops give this test with various degrees of difference. So because of that, here are some tips to help you break through the first round and get that in person interview.

Tip 1: Find your workflow and then practice, practice, practice

As a junior developer, you might not be as fast as others, so you need to practice. It is just like sports, if you want to hit the baseball, you have to take lots and lots of cuts off the hitting tee. (For those who don’t sports ball, you can see what a baseball tee is by clicking here). So practice! Most companies give two test versions for front end junior developer positions:

Number 1: Take this PSD / Sketch/graphic file and htmlize it within an hour

Number 2: Take these PSD / Sketch files / graphic files and htmlize it as fast as you can

So how do you practice? Go to a site like this: http://freebiesbug.com/psd-freebies/website-template/ and download a PSD. Then set a timer for an hour and htmlize as quickly as you can.  Then the next day do it again, then the next day do it again, repeat over and over using different graphic files.

Helpful Reads.

But here is the secret. When your time is up, reflect and go over your code. What did you spend too much time on? Are there patterns that you can use? Can you recycle coding techniques/frameworks from project to project?  THINK ABOUT IT.
You also need to read and find resources. Research how to write clean code fast. Discover! Because if you keep practicing the wrong techniques you are going to form bad habits. Follow sites like smashing magazine. Read books likeWeb Design with HTML, CSS, JavaScript and jQuery Set by Jon Duckett.

Again, step one HTMLize. Step two think! Look for ways to speed up your workflow. Create a naming convention. Use tools like Avocode. Find an IDE you like. Read a lot. It is all practice.

Tip 2: Look at the Freaking Job Description

I feel like this is a no-brainer but look at the freaking job description. Then apply the skills they are looking for into your code tests, unless they tell you not to! What do I mean? If the description says “Has knowledge in LESS and SASS”.  Guess what, you better write some LESS or SASS.

If the front end development description has “GitHub”, then maybe you should… just maybe… you should make some commits.  Maybe… just maybe… you should give them the GitHub repo.

If the description has the word “bootstrap,” then maybe you should use bootstrap….

Get the idea?

Tip 3: Ask Clarifying Questions

If you need to ask questions, then do it! For example, if  you are afraid of just jumping into SASS or SCSS for the test. Ask them, “Can I use SCSS on this code test? I ask because SCSS is in my regular workflow, but I want to make sure it is okay.” They will probably be impressed if you ask.

Tip 4: Write Clean Code

Clean code is pretty evident and where the practice and reflection comes out. Write clean code. Use comments correctly. But, I encourage you to take this a step further! If it is a WordPress development shop, then look at the WordPress Codex.  Follow WordPress’s recommendations, same with other systems.  If you want to take it to an extreme, read some of the HTML/CSS where you are applying, try to model their naming convention.

Tip 5: Have a Naming Convention

Having a naming convention affirms the point “Write Clean Code.” Writing re-usable CSS is harder than it seems. CSS becomes bloated quickly. There are tons of articles about different methodologies for naming.  I prefer BEM (Block Element Modifier) or SMACSS.

Don’t just use a naming convention for CSS do it for image assets as well. Example, if you have multiple SVG icons don’t name them twitter.svg and facebook.svg (unless you decide to have a subfolder called icons) make it something like icon-twitter.svg and icon-facebook.svg.

Tip 6: Turn the Test in on Time, or Early.

Tip 6 is a no brainer, don’t miss your deadline! If you do, turn it in and apologize. You probably won’t get the job, but you should try to save your good name. Your name is your brand.

Tip 7: Don’t Stress

If you don’t get the second interview don’t stress, it wasn’t the job for you. You will get the next one!