Tuesday, October 2, 2018

How Entrepreneurs Can Stay Positive in the Face of Adversity

When Tobi Skovron landed in LA, he had a great idea, a start-up mentality, and the Global Financial Crisis awaiting his arrival. Luckily he doesn’t believe in negative thinking.

Tobi Skovron explains:

I’ve got this unbreakable spirit, I can’t explain where I got it from but it’s just deep inside. When something like the GFC presented itself, I just felt there was no alternative other than to keep going. To me, the glass is always half full and I never once looked at that situation with doom and gloom.

Skovron puts his positive attitude down to many things, the most significant being the death of his father when he was just 16.

It was a life-changing experience. My mom didn’t focus on the loss, she focused us on what we had, and so perhaps this played into the way that when things go sour I can just shake it off. It’s just who I am.

This relentlessly positive attitude is paired with an incredible ambition to succeed, which came in handy when Skovron first launched Pet Loo into the Australian market in 2003. It flew off the shelves, and so Skovron and his wife made the decision to expand their horizons and take Pet Loo to The United States.

He laughs when asked about his experience of starting, growing and selling a business in America.

It was horrible. We ate cereal for dinner for 4 years! I had no money and it was all hustle and very hard, but once someone gave me a chance, Pet Loo became really popular. When it came to the eventual success of the business, there were no tricks, it was all hard work. It sounds crazy to say, but something I did quickly learn was just how huge the US is. As the business took off, we quickly started to ship to a number of different states and cities and I think we went too quickly. If I could do it again, I would start with one city at a time instead of the whole country. It put pressure on everything. However, it was great, in hindsight, and I certainly learned a lot about my limits. Saying that, when it came to launching Creative Cubes, I ignored everything I learned!

The post How Entrepreneurs Can Stay Positive in the Face of Adversity appeared first on SitePoint.


by Nikki Stefanoff via SitePoint

Creating Layouts with CSS Grid

The following introduction to CSS Grid is an extract from Tiffany’s upcoming book, CSS Master, 2nd Edition, which will be available shortly.

CSS Grid is a relatively recent layout specification, shipping in most browsers as of October 2017. Grid allows us to create layouts that were previously impossible, or only possible with lots of DOM operations.

Keep in mind that the CSS Grid specification is dense, and introduces several new concepts that are quite complex. Consider this an overview rather than a comprehensive look at Grid. Don’t worry, we’ll point you to lots of resources for learning more.

The Grid Formatting Context

Adding display: grid to an element triggers a grid formatting context for that element and its children. In a grid formatting context, three things happen:

  1. The element becomes a block-level element that participates in the normal flow.
  2. Its children—whether elements or text nodes—create block-like, grid-level boxes that can be arranged into rows and columns. Immediate children of a grid container are grid items.
  3. In a horizontal writing mode, each member in a grid row will have the same height as its tallest element (as determined by content), unless an explicit height value is set. When the document uses a vertical writing mode, it takes on the same length as its longest element (as determined by content).
Using display: grid creates a block-level container, and block boxes for its childrenUsing display: grid creates a block-level container, and block boxes for its children

Using display: inline-grid works similarly. Children of inline-level grid containers create grid-level boxes, but the container itself participates in an inline formatting context.

Using display: inline-grid creates an inline-level box for the container, but block boxes for its childrenUsing display: inline-grid creates an inline-level box for the container, but block boxes for its children

By themselves, display: grid and display: inline-grid won’t automatically arrange these boxes into rows and columns. We also need to tell the browser where and how to place things.

Before creating your grid, determine whether you want a fixed number of columns and/or rows, whether you’d like the browser to calculate the number of columns and rows automatically, or whether you’d like a mix of the two. Knowing what kind of grid you want to create determines the approach you’ll take. Let’s look at a few techniques.

Defining a Grid Layout

After defining a grid container, we’ll need to tell the browser how many rows and columns our grid should contain. We can define the number of rows and columns using the grid-template-rows and grid-template-columns properties. They’re applied to the grid container.

Both grid-template-rows and grid-template-columns accept what’s known as a track list. The track list is a space-separated string that specifies grid line names and sizes of each position in the row or column.

Each value in a track list creates a new space—a track—within the row or column. You can use lengths, flexible length units (discussed later in this chapter), or percentages. You can also use sizing values such as auto, min-content and max-conent.

.grid {
    display: grid;
    grid-template-columns: 25rem 25rem 25rem;
    grid-template-rows: 10rem 10rem;
}

In the code above, we’ve defined a grid with three columns, each 25rem units wide and two rows, each 10rem units tall. Let’s apply it to the following HTML. Yes, this is all the markup required:

<div class="grid">
    <div>Grid item A</div>
    <div>Grid item B</div>
    <div>Grid item C</div>
    <div>Grid item D</div>
    <div>Grid item E</div>
</div>

Our grid items get organized into the columns and rows shown below.

Creating an explicit grid with grid-template-columns and grid-template-rowsCreating an explicit grid with grid-template-columns and grid-template-rows

Here, we’ve created a grid of evenly sized rows and columns, but that isn’t a requirement of Grid. Let’s tweak our CSS slightly. We’ll change the value of grid-template-columns to 25rem 15rem 25rem:

.grid {
    display: grid;
    grid-template-columns: 25rem 15rem 25rem;
    grid-template-rows: 10rem 10rem;
}

Now the second column in our grid is narrower than the first and third.

Grid columns and rows don’t have to be the same widthGrid columns and rows don’t have to be the same width

Explicit Grid versus Implicit Grids

In the previous section, we explicitly stated that this grid should have six available grid cells formed by three columns and two rows. This is what’s known as an explicit grid. Here, our grid container only has five children. The remaining position is empty. Let’s see what happens when we add more children to the container.

When grid items exceed the number of explicitly defined cells, the remaining items are arranged in an implicit gridWhen grid items exceed the number of explicitly defined cells, the remaining items are arranged in an implicit grid

Now we have three rows. Notice, however, that our third row is only as tall as its contents and padding. It’s part of the grid because these items are the children of a grid container. Yet the row isn’t explicitly defined by grid-template-rows. What we have instead is an implicit grid—an explicit grid with additional grid items that exceed the defined number of explicit grid cells.

Items within an implicit grid are auto sized by default. Grid items will expand to accommodate their contents, or fill the remaining vertical space in the container—whichever is taller. If, for example, we set the height property of our container to 50rem, our implicit grid track will expand to be 30rem tall.

Implicit grid rows expand to fill the available height of the containerImplicit grid rows expand to fill the available height of the container

If we add enough items to create a fourth row, the height of our implicit grid items will be distributed evenly across the remaining 30rem of vertical space in the container. Their computed height will be 15rem each.

The height of implicit grid rows will be evenly distributed based on the remaining space in the grid containerThe height of implicit grid rows will be evenly distributed based on the remaining space in the grid container

In our original example, we’ve explicitly defined only two rows with a height of 10rem each, so our third row defaults to auto sizing. Its height will adjust to the size of its contents and padding.

The post Creating Layouts with CSS Grid appeared first on SitePoint.


by Tiffany Brown via SitePoint

Facebook Messenger Bots to soon appear with multiple personas

The developers of Facebook Messenger recently announced a new update for the Messenger Platform. According to the latest development, the Messenger Bots will soon now express themselves through multiple personalities. During a press release on Friday, the developers of Messenger claimed to now...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Saima Salim via Digital Information World

Pinterest is Rising Slowly and Steadily into an ad Giant

Although Pinterest was launched in March 2010, it remained far behind in the race of the Social Networks. Now there are reports that Pinterest is about to rise soon and we may see a new social media influencer. According to a report provided by eMarketer, the advertising revenue of Pinterest is...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Sahir via Digital Information World

Top 10 Tips to Fix Most Common WordPress Security Issues

This article was originally published by Torque Magazine, and is reproduced here with permission.

Three out of every four WordPress websites are vulnerable to attacks. If your site is hacked, it will not only cost you in terms of restoring the system back to a safe level, but it will also damage your reputation and affect your search engine ranking.

But if you follow some best practices you can tighten the security and protect the website from malicious attacks. Here are some tips to fix WordPress security issues.

Tip #1: Two-factor authentication

An effective method of protecting your WordPress website from brute force attacks is to secure your site’s login. By implementing two-factor authentication you can have an extra layer of security during login.

Apart from a username and password, you will need to enter a one-time passcode sent via an SMS to your phone to log in to the site. Several plugins like Duo Two-factor authentication, Google Authenticator are available to implement this feature effectively.

Tip #2: Strong password

An effective way of dealing with WordPress security issues is to have a strong password with a minimum of 10 characters. It should be a combination of lowercase letters, uppercase letters, and numbers along with special characters.

Passwords should be hard to guess and they should be changed often. Preferably keep different passwords for different websites. One can use tools like “Strong password generator” to generate passwords that are hard to crack.

Get Ultimate WordPress Security Guide

Tip #3: Limit login attempts

Hackers use tactics like trying to login to the website again and again until they crack the password. If you limit the number of times a person can attempt to log in within a specific period one can save the WordPress website from brute-force attacks.

There are plugins available that have a locking mechanism to restrict the number of login attempts. They block the IP addresses of users that cross the threshold limit of failed login attempts.

Tip #4: Choose a good hosting provider

You can make use of the latest security hacks but your efforts will be in vain if the security of your host itself is vulnerable to attacks. Choose a good hosting provider that specializes in WordPress and includes WP firewall, Malware scanning, up-to-date PHP, and MySQL to ensure a secured hosting.

Tip #5: Scheduled Backups

As a part of an effective security and crisis management strategy, one must have a scheduled backup plan. If something goes wrong, one can rely on the backup solution to restore to the version prior to the damage and get back on track in the least possible time. Plugins like Vaultpress, Backup Buddy help in taking regular backups and provide restore options.

The post Top 10 Tips to Fix Most Common WordPress Security Issues appeared first on SitePoint.


by Mark Wilson via SitePoint

Security Breach: Facebook Issued Instructions to Avoid Further Damage

Facebook encircled in problems from the past few days, trying to recover it from the damage as soon as possible. This scandal does not only bring the bad name to the company reputation (for which they are struggling hard to recover) but this time they have to suffer financial losses as well. It is...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Amjad Khan via Digital Information World

Pinterest, Spotify, and YouTube are Considered to be the most Affected Apps after Massive Facebook Hacking

Facebook is still feeling the aftershocks. The consequences of Facebook 50mn data breach has been extended far beyond from the Facebook platform. In recent conference call by the Guy Rosen who warned that “The access token enables someone to use the account as if they were the account holder...

[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Amjad Khan via Digital Information World