$99 Websites + Website Design 5505 Sun Harbor Road Panama City, Florida 32401 850-329-3425 http://website99.us https://www.google.com/maps/place/$99+Websites+%2B+Website+Design/@30.1842909,-85.7322502,15z/data=!4m5!3m4!1s0x0:0x61b35c1bb4fa6eac!8m2!3d30.1842909!4d-85.7322502
Sunday, September 30, 2018
Reevaluate How You Engage at Conferences
These Tunes Were Written By Artificial Intelligence. Can You Hear the Difference?
How to Make Any Job Interview (Instantly) Less Awkward on the Phone
20 Inspiring Quotes to Help You Rise Above Failure and Fulfill Your Dreams
These Three Indicators May Be Projecting The Next Financial Collapse
3 Apps to Help You Avoid a Major Twitter Fail (They Could Have Even Helped Elon Musk)
Want To Make Faster Decisions Like Amazon? Jeff Bezos Asks One Simple Question.
20 Inspiring Quotes From the Most Successful People
This Startup Is Using AI to Help Nonprofits Raise More Money
This Fortune 500 Exec Thinks We Should Stop Trying to Convince Everyone Diversity Matters
Tim Ferriss Says This Simple 12-Word Phrase is the Best Advice He Ever Got
5 Ways To Fall In Love With Your Job
American Airlines CEO: More Crowded Planes are 'Much More Comfortable'
Why Multi-localism Matters and How It Impacts Your Business
4 Principles Of Digital Transformation
Want to Manage Your Energy Better and Avoid Burnout? Do These 3 Things
5 Steps Every Marketing Team Should Take to Drive Sales
Delta Air Lines Just Made a Stunning Announcement That Passengers Will Love (American Says It Won't Match It)
18 True Tales of Ridiculous Performance Appraisals
Southwest Just Made a Surprising New Announcement (Are They Just Trolling American Airlines?)
Want to Experience More Happiness? Try Any of These 33 Habits of Happy and Successful People
Best Office Perk Yet? Startup Gives Employees $200 a Month to Go Out on Dates
Don't Let Guilt Stop You: How to Successfully Take Time Off From Work
In a Bittersweet Week, Tesla Meets Production Goals Just as Elon Musk Must Step Down as Chair
The 3 Skills Leaders Need to Succeed in the Age of Artificial Intelligence
In SEC Deal, Elon Musk Steps Down as Tesla Chair for 3 Years. If He'd Faced Reality, It Could Have Been 2
The Shocking Truth That HR Groups Never Admit
United Airlines CEO Say Customers Don't Get That Higher Baggage Fees Are For Their Own Good
Saturday, September 29, 2018
6 Lessons I Learned Giving Away A Tesla In An Incentive Competition
7 Reasons to Attend Startup Weekend, Even If Your Business Isn't a Startup
Here's the Stunning New Change JetBlue Says It Has Planned (Passengers on Delta, American and United Already Hate It)
Why the CEO of $5 Billion Unicorn Wix Embraces Startup Culture
7 Compelling Reasons to Make Friends With Your Competitors
Get Over Your Fear of Self-Promotion With Advice From These Three Impact-Driven Entrepreneurs
1 Powerful But Simple Technique That Ray Dalio Uses To Make Better Decisions
What's Next for Steve Blank and the Lean Startup?
4 Steps You Need to Take Before You Quit Your Job to Start a Company
5 Things to Consider Before Taking the Plunge Into Freelancing
American Airlines Just Announced It's Changing One of Its Most Popular Perks (Oh, Why This?)
5 Useful Ways to Reduce Your Workplace Stress and Anxiety, According to a Mental Health Expert
Honda and Acura Recall 1.6 Million Cars Over Faulty Airbags and Backup Cameras
Ever Notice All Apple Product in Photos Show 9:41 AM? Turns Out There's a Really Good Reason
Friday, September 28, 2018
Kevin Hart Didn't Find Success Until People Started Stealing His Work. Here's Why
This App Will Sell Your Products, Just Ask GaryVee
Why Woz Believes Blockchain Will Grow Innovation
This Hot New Source of Talent Could Solve Your People Woes, Says a New LinkedIn Study of 76 Million Jobs
5 Indispensable Tools for Successful Cold Emailing
These 3 Employee Habits Are Hurting Your Company's Growth
Want to Become a Better Leader? Adopt These 5 Traits
This 1 Thing Is Stopping You From Making Great Decisions
These 5 Marketing Books Changed How I Do Business
Want to Motivate Someone? Reward Them Immediately, Says New Research From Cornell
You May Not Need It Now, But You Need to Build Your Communications Team. Here Is Why.
4 Tips for Building a Team You Can Trust
Flying Cars Won't Ever Be Mainstream. Don't Waste Your Money Trying to Create a Startup Around Them
6 Reasons Your Business Hasn't Grown in Months and How to Fix It
How to Use Data Analytics to Understand Your Customers and Make More Money
How to Use Your Myers-Briggs Personality Type to Your Advantage
Facebook Hack Exposed 50 Million Users' Accounts
According to Ray Dalio, Jeff Bezos, and the Dalai Lama, This One Thing Is the Foundation of Trust
Slack Is Planning for a 2019 IPO at a $7 Billion Valuation
3 Things I Learned From Working in My Family's Small Business
Apple Asks This Simple Interview Question That Gives Them a Glimpse Into Your Soul
10 Myths of the Secret Neighborhood Millionaire
The SEC's Lawsuit Is Just One of Many Legal Battles Elon Musk Is Fighting
Almost 50 Percent of Hires Are Failures. Here's How to Bounce Back After Letting a Bad Hire Go
Why Did Bezos Do It? An Inside Look at Whole Foods and Amazon
8 Ways to be More Efficient, Get More Done and Have an Awesome Day
Want to Be a Great On-the-Spot Communicator? Learn to Self-Edit.
3 Things We Get Seriously Wrong About Toxic People in the Office
New App-Only Banks Are Here. Here's How to Know If They're a Good Fit for Your Small Business
4 Words That Significantly Boost the Odds of Getting the Support You Need From Others
Elon Musk, the SEC, National Coffee Day, and Everything Else You Want to Know Today
5 Mindfulness Habits of the Happiest People
4 Reasons Why Podcasting Is a Strong, Authentic Platform for Your Business
3 Seemingly Easy Things That Are Difficult for Small-Business Employees
Joining Another Company's Board Is a Major Decision. Here's What to Consider Beforehand
How to Ensure You're Getting the Most Out of Your Influencer Marketing Strategy
5 Tips for Building a Startup Culture within an Established Company
How to Thrive During a Tough News Cycle
Want to Become a Self-Made Millionaire? Do This for 30 Minutes Every Day
Here's Why Venture Capitalists Are Pouring a Record $1 Billion Into Coffee Startups This Year
This Blood-Sucking Startup Is Coming for You, Millennials
5 Signs That Will Instantly Identify Someone With Terrible Leadership Skills
What Do Creative Geniuses Have That Others Don't? Surprisingly, Not Much
How This Classic Miles Davis Complement (or Insult!) is the Perfect Gauge for Your Business
50 Habits That Will Make You a Millionaire
Why This Founder Decided to Scrap Years of Work to Radically Reinvent His Product
The CEO of Boxed Uses This Simple Job Interview Question to Instantly Rule Out Jerks and Idiots
Will Smith Bungee Jumped From a Helicopter. What Have You Done to Face Your Fears?
4 Crucial Things You Must Do to Stay on Good Terms With Your Investors
Sick of Spammy Robocalls? Here's the Truly Surprising Thing the FCC Just Did to Fight Them
7 Weird and Entirely Useless Facts About Coffee
Thursday, September 27, 2018
So You've Found Some Success! Here's How to Make It a Trend, Not a Fluke.
What's Real and What's Fake? The Questions You Need to Start Asking
Burger King Skewers AI Mania in Hilarious Ads though Hits One Tone-Deaf Note
The 5 Biggest Bombshells From the SEC's Lawsuit Against Elon Musk
The SEC Is Suing Tesla CEO Elon Musk and Wants to Ban Him From Running a Public Company
5 Ways to Make a Small Team More Efficient
Ten Years Ago I Published My First Major Book. Here Are the Secrets I Learned After Having Best-Sellers
4 Strategies to Prepare for a Lateral Career Move
Hiring Unpaid Interns? 3 Things You May Not Have Considered...but really should
Do You Budget Like a Millennial, a Gen-Xer, or Both? Here's How to Know
Here's Exactly How Brands and Influencers Should Disclose Sponsored Content
Microsoft Just Announced Four New Reasons Why It's Already 2028
What New York City's 'Typewriter Boom' Can Tell You About Connecting With Your Audience
It's Official: Kids' Most Valuable Learning Is Happening Outside the Classroom
Stanford Professor: How Great Leaders Give Their Teams 'Hierarchical Agility'
Knowing When it's Time for You and (Your Business) to Get Out There and Network
How to Negotiate a Better Salary in Just 2 Simple Sentences
Online Payment Company Stripe Just Raised a $245 Million Funding Round Valuing the Startup at $20 Billion
Amazon Knows You Like Online Reviews. But Will You Like Them Offline, Too?
A New NAFTA Is Coming. Here's What You Need to Know
5 Fears That Sabotage Your Success (and How to Stop Them)
How This Company Grew by 30% with Fewer Salespeople
Is Two-Factor Authentication a Silver Bullet or Lead Balloon for Cybersecurity?
A Round-Up of the Best Health and Wellness Apps to Keep You Fit and Calm
4 Simple Things You Can Do To Lead With Integrity
A United Airlines Flight Attendant Told a Mom Babies Are Only Allowed to Cry For 5 Minutes (In Business Class, That Is)
Powerful Career and Startup Advice from 6 Highly Successful Leaders
Tips to Optimize Your Business for Voice Search
10 Ways You Bring The Spirit Of Halloween To Your Business
1 Crucial Thing You Need to Know Before Buying a New Business
Court: In-N-Out Doesn't Have the Right to Control Employee Uniforms
4 Lessons You Can Learn From Author Elizabeth Gilbert About Creativity in Business
Amazon Just Donated $1 Million to Wikipedia. Here's Why It Matters
3 Tips to Picking the Best Swag for Your Business (Hint: It isn't Stickers)
Squarespace Describes Their Pivotal, Make-or-Break Marketing Move
How Anthony Casalena Built Squarespace From a Dorm Room (Thanks to $30,000 from His Parents)
Two Women Just Made History As the First Female Duo Announcing NFL Games (Reactions Aren't As Inspiring)
17 Quotes About the Remarkable Power of Reading
These 4 Traits Determine Whether a Company Will Dominate Its Industry
How Can You Tell When a Leader Truly Walks the Talk? You'll See 5 Inspiring Things Happen Daily
3 Ways to Make Contacting Your Customer Support Department a Delightful Experience
Google Did Some Internal Research and Found Its Top-Performing Teams All Had These 5 Traits
There Is Actually a Startup in New York City That Only Employs Grandmas to Hand-Knit Beanies
Dunkin' Donuts Is Changing Its Name and It's Just Confusing
Here's Why Warren Buffett Recommend Prioritizing The Process Not The Result
Wednesday, September 26, 2018
This 1 Simple Approach Makes Negative Feedback More Appealing
Follow These 6 Essential Steps to Turn Leads Into Paying Customers
Airbnb Wants to Give Equity to Its Hosts. Here's What That Means for the Gig Economy
The CEO of LinkedIn Says This Is the No. 1 Reason Why Most Employees Quit
Elon Musk Thinks One of His Companies Is Going to Fail. Here's Why He's Building It Anyway
Why You Should Never Hire a Publicist
Will Smith Jumping Out of a Helicopter Over the Grand Canyon, Shows the Perfect Way to Produce Remarkable Customer Experiences
4 Ways to Stay Calm Under Intense Pressure
Obama Says These 3 Things Are Crucial for a Successful Business
Why Work-Life Balance Is a Lie, and What Should Take Its Place
Didn't Get Promoted? Here Are 5 Ways to Recuperate
College Students Can Now Study This NFL Team's Business
How This Novelty Gift Company Gets Open Innovation Right
The Anatomy of an Authentic Apology: Here's What to Say When You Mess Up
Strangely, the First Apple Computer and Apple's Stock Have Increased in Value by Nearly the Same Colossal Amount
6 Things Entrepreneurial College Seniors Must Do During Their Final Year
4 Ways to Make Your Content Marketing Successful in 2019
Why Some Tesla Owners Are Volunteering to Work for Elon Musk
Why Baby Boomers and Millennials Are Driving Each Other Crazy at Work (and How to Fix It)
Ikea Rolls Out Self-Driving Car Concepts. There's Absolutely Nothing Car-Like About Them
This Most Important Lesson Parents Teach Successful Kids
Whatsapp Founder Brian Acton Finally Speaks Publicly About His Difficult Relationship With Mark Zuckerberg and Facebook
Want to Be More Likable? Try This Simple Technique, Say Cornell and Yale Researchers
Bonobos' Departing CEO Shared 1 Truth All Entrepreneurs Need to Know
Any HR Professional Should Consider Brett Kavanaugh's Approach a Nightmare. Here's Why
13 Tips to Keep Up with the Speed of Change (Without Sacrificing Team Morale)
8 Things That Every Entrepreneur Is Tired of Hearing
Anxiety Is Common Among Entrepreneurs. Here Are 4 Tips to Help Soothe Your Nerves
6 Formal Policies Every Startup Should Put in Writing
The Best Job Interview Question Most Interviewers Never Ask
1 Tiny Thing That Highly Successful Leaders Do Differently
Do CEOs Really Want to Learn?
This Weird Way We Could All Go to Space is Getting Its First Test in Orbit
What Exactly Should You Do to Improve Your Happiness? Science Has Some Unique Suggestions You Should Try Out
How to Master the Art of Adherence
Hackathons Aren't Just for Engineers. Here's How to Use Them to Inspire Your Whole Team
Don't Make The Mistake Of Thinking You Can Do Your Boss's Job Better Than He Or She Can. Here's Why.
7 Valuable Life Skills You Are Teach Your Children, Just by Being an Entrepreneur
Every Entrepreneur Should Hear This Message Warren Buffett Gave His Pilot About Setting Goals
This is the Most Emotionally Stunted Email Reply From a Famous CEO You'll Read This Week (Or Maybe Even This Year)
Millennials Are Setting an Example in This 1 Crucial Area and the Rest of You Just Aren't Listening
Wish Flying Cars Were Real? Uber Just Announced a Real Timeline to Make It Happen
Want to Improve Your Family Life? Do This Counterintuitive Thing with Your Email Right Now
Hate Giving Negative Feedback? Next Time, Try This Simple 4-Step Method
3 Ways Drawing More Will Make You Smarter (Even If You're Terrible at It)
Facebook's 7,500 Moderators Protect You From the Internet's Most Horrifying Content. But Who's Protecting Them?
This Company Made $4.5 Million, Thanks to the Most Comfortable Mouthguard Ever
How Do You Know Someone Has True Leadership Qualities? In the End, It Really Boils Down to 1 Word
Google to Say It 'Made Mistakes' at Senate Hearing on Privacy
Instagram's Co-Founder is Resigning to Rediscover His Creative Power. Here's Where He's Looking
7 Easy Ways to Boost Your Immune System, According to Harvard Health
How to Write an Attention-Grabbing Article on LinkedIn
How This Body Armor Business Grew From One Man in a Garage to $5.4 Million
Almost 40,000 People Applied for This 'Dream Job' on a Greek Island Paradise. Now Meet the Woman Who Got Hired
Two Words That Will Help Your Team Perform Better, According to LinkedIn CEO Jeff Weiner
5 Ways to Beef Up Your Cybersecurity Right Now
Bird is Planning on a New York Opening
Tuesday, September 25, 2018
Is Your Company Built on Cold Calling? Here Are 5 Things You Can Do to Close More Deals
3 Counterintuitive Ways to Build Buzz for Your Personal Brand
My Work Laptop Was Stolen in San Francisco. Here's What I Wish I'd Known
If You Haven't Started Your Holiday Marketing, You're Already Late
3 Brilliant Marketing Tools Google, HBO, and Starbucks Are Using Urge People to Vote
How to Create High-Quality Marketing Videos for Cheap
Beleaguered But Not Out, Snap Forms Shopping Union With Amazon
6 Things the World's Best Bosses Have in Common
5 Key Practices For A Diverse and Inclusive Company
5 FinTech Trends You Need to Know About in 2018
4 Things You Can Do to Make Your Team More Productive
If You're Over 50 and Want to Change Careers, You'll Need To Do This 1 Thing Well
3 Ways to Become a Better Communicator, According to an FBI Hostage Negotiator
5 Fun and Free Ways to Keep Your Employees Happy
Apple and Salesforce Are Teaming Up to Enable Siri for Enterprise Business Use
Columbus Isn't the Next Business Destination, It's Already Happening
The Daily To-Do That Inspires Team-Wide Trust, Engagement and Respect
7 Ways to Keep Your Business Practices Competitive
Technology Companies Are Leaving Silicon Valley in Droves: Here's Where They're Going
How to Stay Mentally Strong When Your Career Isn't Advancing As Fast as You'd Like
A Dash of Dosh How This Cash Back Marketplace is Getting You Paid
Why Partnering With Competitors Is Often the Best Move for Your Company
How to Start Your Own Restaurant: 10 Tips From a Successful Restaurantrepreneur
What We All Can Learn From Israeli Entrepreneurs
If Employees Aren't Reading (or Even Opening) Emails, Here Are 5 Things to Do Differently
How Your Business Benefits From Creating a Culture of Accountability
The Post-It Note System To Achieve Your Dreams
Jeff Bezos Says It's Always Day 1 at Amazon. Here's the Big Problem With That Philosophy
Avoid the Perils of Overpromising
How to Declutter Your Workspace in 5 Minutes or Less
This Is Millennials' Number 1 Life Goal
These 4 Girl Bosses Are Investing Millions in Female Entrepreneurs--Here's How to Get Funded.
3 Ways Leaders Can Become Outstanding Advocates for Their Team
This No. 1 Employee Perk Beats Out On-Site Cafeterias and On-Site Fitness Centers
Are You Working on Your Business While Commuting? You Should Be--Here's How
Entrepreneurs From Other Countries Get These 4 Things Right. You Should Try Them, Too
How Will Google Shopping Compete With Amazon? With Sci-Fi Warehouses Run With Almost No Humans
It's Mickey Mouse's 90th Birthday -- Here Are 17 Wise Walt Disney Quotes to Inspire Your Success and Happiness
Want to Lead Like a Navy SEAL? These Former Navy SEALs Reveal the Surprising Secret
Nike Sinks Its Great Colin Kaepernick Ad with Conservative Campaign Contributions
Spanx Founder Sara Blakely Just Identified the No. 1 Reason Why People Don't Succeed (and It's Quite Brilliant)
8 Mantras to Live More Confidently
Making a Business Decision? Science Says Go With Your Gut
This Is the Number 1 Sign of High Intelligence, According to Jeff Bezos
Instagram Founders Are Latest to Depart Facebook Amid Rumors of Conflict With Mark Zuckerberg
New Research on How Leaders Make Decisions Differently Than Everyone Else
Mark Cuban Would Save This One Thing If His House Was Burning Down
Here Are the 10 Fastest-Growing Companies in Boston
Here's the Psychology That Explains Why We Keep Trying Longer Than We Should
Neuroscience Says Power Naps Work. Why Aren't We Taking Them?
These Are the 1,000 Most Iconic Large Private Companies in the U.S.: Warby Parker, Levi Strauss, In-N-Out Burger and More
What do you get when you combine innovation with cost-cutting? Costovation.
Monday, September 24, 2018
Captain Sully Sullenberger Warns That the Push to Smaller Seats by American, JetBlue, and Other Airlines Raises Serious Safety Concerns
5 Ways Night Owls Can Flourish in Their 9 to 5 Workday
Weight Watchers Changes Its Name to Something So Stupid It Will Remind You of New Coke
Employers Can Now Receive Tax Credits for Giving Their Workers Paid Time Off
Want to Be a Better Leader? Add These 5 Questions to Your Weekly Meetings
4 Things Every Business Owner Should Do at the End of the Year
3 Things You Can Do to Boost Your Company's Growth
A Navy Seal Outlines 4 Ways Your Team Is Dysfunctional and You Don't Know it Yet
Lyft, Patagonia Gear Up Effort to Make It Easier for Workers to Vote
Love Them or Boycott Them, Nike's Leading in One Critical Way. What Is It?
Want Your Employees to Like Their Jobs More? This 1 Technique Could Help
Why Your Next Business Will Be Funded by a Digital Coin
Why Gig Workers Are Now Looking for More Traditional Jobs
6 Ways to Choose the Right Colors for Your Marketing Campaign
In 6 Words, Tiger Woods Reveals How a Champion's Mind Works
The Case for Women's Spaces and the Rights of Trans Folks to Work
Is Your Best Employee Burning Out? Here Are 7 Ways to Reignite Their Spark
Flight Attendants Wanted This Small Change for 20+ Years. Then Congress Gave Them a Big Surprise at 3 A.M
4 Great Ways Entrepreneurs Improve Public Speaking Skills
Meet the Company Tackling the Tragic Aftermath of the Fentanyl Epidemic
This Is What It Was Like to Be the Youngest Employee at Google
Your Company Doesn't Have to Be the First to Market to Be Successful
Ask Your Salespeople to Do This Surprising Thing If You Really Want to Jumpstart Your Revenues
Adobe Unveils AI Assistant So Marketers Can Use 100 Percent of Their Data, Not 1 to 3 Percent
Here's How Outgoing PepsiCo CEO Indra Nooyi Summed Up Her Career (and Why Small Business Owners Should Relate)
The Great, Glorious, and Profound Key to All Leadership and Management
Amazon Set to Become 3rd Largest Online Ad Seller in US
This Travel Writer Who Doesn't Fly Will Demolish Your Beliefs About Adventure
Tell Your High School Senior Not to Apply to that Stretch School
Build a Team of Leaders in 3 Easy Steps
Running on Empty? Here's a Simple Way to Harness Some Excess Energy
Is Your Heart in the Right Place as a Leader? Here's How You'll Know
No Matter Your Game, Ultimately This 1 Thing Separates You From The Pack
When Jeff Bezos Made His Grandmother Cry, His Grandfather Stopped the Car to Teach Him a Powerful Lesson About Kindness
Is Lazy Marketing Hurting Your Business? Here's How You'll Know
How to Attract and Retain Talent According to a 13-Time "Best Company to Work For”
This Is What a Great Book Does to Your Brain
New Survey Shows How Tragically Busy Workers Are (and It Doesn't Look Good for Innovation)
8 Apps to Help You Deliver Killer Speeches and Presentations
Jeff Bezos Just Shared His 3-Step Formula for Solving Problems--and It's Absolutely Brilliant
This Company Put Microchips in Employees. Now They've Made a Controversial App So Parents Can Track Their Kids
Expanding Your Org Chart? These 5 Steps Will Help You Build a System That Delivers Results.
Poor Sleep is Making You Feel Lonely and May Shorten Your Life -- Here's Why
Want to Improve Your Life Instantaneously? Try These 7 Simple Habits (1 Habit Per Day for 1 Week)
Don't Build a New Employee Onboarding Program Without Accounting for These 3 Things
5 Tips For Pitching Reporters -- From Someone Who Used to Be One
4 Steps Companies Must Take to Encourage Data-Driven Thinking
This Decades-Old Toy Company Is the Last of Its Kind. Here's How It Survived
This Is the Biggest Reason People Aren't Saving Enough for Retirement
The Most Innovative Companies of the 2018 Inc. 5000
Can't Afford Free Food in the Office Anymore? Here's How to Cut Work Perks Tactfully
This Company Offered All of Its Employees $200 To Ask for a Raise
The 1 Brutal Question Every Leader Should Be Able to Answer, According to Steve Jobs
After What Congress Did at 2:52 A.M. Saturday, Life Will Change Radically for Airline Passengers and Flight Attendants. Here Are the Details
Sunday, September 23, 2018
Olive Garden Is Doing Very Well Again. Here's an Astonishing Reason Why
With a Single Sentence, Walmart Just Turned an Amazing Idea Into an Epic Fail
This Delta Flight Attendant Was Assaulted By a Passenger, Police Say. Here's the Other Thing That's Disturbing
Sad at Work? Good!
The Secret Behind Amazon's Uncanny Ability to Out Innovate Just About Every Other Company on the Planet
3 Ways to Find the Leaders Within Your Company
Reports Said the Wind Blew This Plane Dramatically Sideways. Oh, No, It Was Better Than That
American Airlines Wants Customers to Know It Will Never, Ever Be Like Southwest (You Know, Reasonable)
4 Ways You May be Alienating People With These Annoying (and Common) Habits
The 3 Lessons Every Founder Should Learn From Elon Musk's Bad Example
Delta Air Lines, United Airlines, and American Airlines Just Won a Staggering Victory Worth Billions of Dollars (And Most of Us Didn't Even Notice)
This CEO's Sunday Ritual Helps Keep Employees Engaged. You Should Try It Too
Saturday, September 22, 2018
7 AI Tools You Can Use to Increase Online Sales
The Data Shows Your Self-Esteem Peaks At This Surprising Age
This Guy Works From Home and Makes Big Money On iTunes, Spotify and Amazon. (Here's His Brilliant Trick)
The Cleveland Browns Prove You Should Never Give Up. These 18 Quotes Will Inspire You To Keep Going.
Trump Considers Antitrust Look at Google and Facebook Over Political 'Bias' Claims
How To Prepare Your Organization For Innovation
How to Motivate Employees Without Bossing Them Around
All This Baggage Handler Had to Do Was Get the Luggage on the Trolley. Instead, He Did This
American Airlines Said They'd Offer This Free Perk Last Year. Want to Guess If They Actually Followed Through?
Think You Just Can't Win? These 60 Seconds Brilliantly Prove That You're Wrong
Experts Say Millennials are Changing the Face of This Multi-Million Dollar Travel Trend
Stay In-The-Know About The NCAA Tournament With These Apps
7 Things Introverts Wish Extraverts Knew
6 Strategies to Help You Beat Imposter Syndrome
Friday, September 21, 2018
Jeff Bezos Just Revealed How the 'Smartest Guy at Princeton' Radically Changed His Life 34 Years Ago. (He Never Knew Until Now)
Just How Much Trouble Is Elon Musk In?
This Successful Entrepreneur and Mother Points Out 6 Ways You're Wasting Time and Don't Even Realize It
Battle of the Sneakerhead Startups
This Simple Technique Will Make You a Much More Successful Negotiator
Why Some App Developers Can Still Read Your Gmail
Leaders Should Never Do These 3 Things to Someone Coming Forward With Sexual Assult Claims
5 Ways You Can Use Personality Tests to Boost Your Leadership Skills
New NAFTA Terms Could Boost Your E-Commerce Business. Here's How to Take Advantage
3 Traps New Entrepreneurs Fall Into That You Can Avoid
Here's How I Make Every Single Second Count After a Business Conference
Why Every Founder Needs a Community. Here's How to Build One
Amazon Is in the Crosshairs of EU's Top Antitrust Regulator. Why That Matters for You
Secrets to Healthy Growth from the CEO of a Seven-Time Inc. 5000 List Company
17 Wise Mister Rogers Quotes That Will Inspire Your Success and Happiness
Most Employees at Amazon, eBay and Other Major Tech Companies Don't Trust HR. Here's Why That's Dangerous
On the Shores of Lake Erie, these Innovators are Remaking Springsteen Country
Securing Communications on Android
With all the recent data breaches, privacy has become an important topic. Almost every app communicates over the network, so it's important to consider the security of user information. In this post, you'll learn the current best practices for securing the communications of your Android app.
Use HTTPS
As you are developing your app, it's best practice to limit your network requests to ones that are essential. For the essential ones, make sure that they're made over HTTPS instead of HTTP. HTTPS is a protocol that encrypts traffic so that it can't easily be intercepted by eavesdroppers. The good thing about Android is that migrating is as simple as changing the URL from http to https.
URL url = new URL("https://example.com"); HttpsURLConnection httpsURLConnection = (HttpsURLConnection)url.openConnection(); httpsURLConnection.connect();
In fact, Android N and higher versions can enforce HTTPS using Android’s Network Security Configuration.
In Android Studio, select the app/res/xml directory for your project. Create the xml directory if it doesn't already exist. Select it and click File > New File. Call it network_security_config.xml. The format for the file is as follows:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">example.com</domain> </domain-config> </network-security-config>
To tell Android to use this file, add the name of the file to the application tag in the AndroidManifest.xml file:
<application android:networkSecurityConfig="@xml/network_security_config"
Update Crypto Providers
The HTTPS protocol has been exploited several times over the years. When security researchers report vulnerabilities, the defects are often patched. Applying the patches ensures that your app's network connections are using the most updated industry standard protocols. The most recent versions of the protocols contain fewer weaknesses than the previous ones.
To update the crypto providers, you will need to include Google Play Services. In your module file of build.gradle, add the following line to the dependencies section:
implementation 'com.google.android.gms:play-services-safetynet:15.0.1'
The SafetyNet services API has many more features, including the Safe Browsing API that checks URLs to see if they have been marked as a known threat, and a reCAPTCHA API to protect your app from spammers and other malicious traffic.
After you sync Gradle, you can call the ProviderInstaller
's installIfNeededAsync
method:
public class MainActivity extends Activity implements ProviderInstaller.ProviderInstallListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ProviderInstaller.installIfNeededAsync(this, this); } }
The onProviderInstalled()
method is called when the provider is successfully updated, or already up to date. Otherwise, onProviderInstallFailed(int errorCode, Intent recoveryIntent)
is called.
Certificate and Public Key Pinning
When you make an HTTPS connection to a server, a digital certificate is presented by the server and validated by Android to make sure the connection is secure. The certificate may be signed with a certificate from an intermediate certificate authority. This certificate used by the intermediate authority might in turn be signed by another intermediate authority, and so on, which is trustworthy as long as the last certificate is signed by a root certificate authority that is already trusted by Android OS.
If any of the certificates in the chain of trust are not valid, then the connection is not secure. While this is a good system, it's not foolproof. It's possible for an attacker to instruct Android OS to accept custom certificates. Interception proxies can possess a certificate that is trusted, and if the device is controlled by a company, the company may have configured the device to accept its own certificate. These scenarios allow for a “man in the middle” attack, allowing the HTTPS traffic to be decrypted and read.
Certificate pinning comes to the rescue by checking the server's certificate that is presented against a copy of the expected certificate. This prevents connections from being made when the certificate is different from the expected one.
In order to implement pinning on Android N and higher, you need to add a hash (called pins) of the certificate into the network_security_config.xml file. Here is an example implementation:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">duckduckgo.com</domain> <pin-set> <pin digest="SHA-256">lFL47+i9MZkLqDTjnbPTx2GZbGmRfvF3GkEh+J+1F3g=</pin> <pin digest="SHA-256">w9MWhhnFZDSPWTFBjaoeGuClsrCs7Z70lG7YNlo8t+s=</pin> </pin-set> </domain-config> </network-security-config>
To find the pins for a specific site, you can go to SSL Labs, enter the site, and click Submit. Or, if you're developing an app for a company, you can ask the company for it.
Note: If you need to support devices running an OS version older than Android N, you can use the TrustKit library. It utilizes the Network Security Configuration file in exactly the same way.
Sanitization and Validation
With all of the protections so far, your connections should be quite secure. Even so, don't forget about regular programming validation. Blindly trusting data received from the network is not safe. A good programming practice is “design by contract”, where the inputs and outputs of your methods satisfy a contract that defines specific interface expectations.
For example, if your server is expecting a string of 48 characters or less, make sure that the interface will only return up to and including 48 characters.
if (editText.getText().toString().length() <= 48) { ; //return something... } else { ; //return default or error }
If you're only expecting numbers from the server, your inputs should check for this. While this helps to prevent innocent errors, it also reduces the likelihood of injection and memory corruption attacks. This is especially true when that data gets passed to NDK or JNI—native C and C++ code.
The same is true for sending data to the server. Don't blindly send out data, especially if it's user-generated. For example, it's good practice to limit the length of user input, especially if it will be executed by an SQL server or any technology that will run code.
While securing a server against attacks is beyond the scope of this article, as a mobile developer, you can do your part by removing characters for the language that the server is using. That way, the input is not susceptible to injection attacks. Some examples are stripping quotes, semicolons and slashes when they're not essential for the user input:
string = string.replace("\\", "").replace(";", "").replace("\"", "").replace("\'", "");
If you know exactly the format that is expected, you should check for this. A good example is email validation:
private final String emailRegexString = "^[A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z]{2,4}$"; private boolean isValidEmailString(String emailString) { return emailString != null && Pattern.compile(emailRegexString).matcher(emailString).matches(); }
Files can be checked as well. If you're sending a photo to your server, you can check it's a valid photo. The first two bytes and last two bytes are always FF D8
and FF D9
for the JPEG format.
private static boolean isValidJPEGAtPath(String pathString) throws IOException { RandomAccessFile randomAccessFile = null; try { randomAccessFile = new RandomAccessFile(pathString, "r"); long length = randomAccessFile.length(); if (length < 10L) { return false; } byte[] start = new byte[2]; randomAccessFile.readFully(start); randomAccessFile.seek(length - 2); byte[] end = new byte[2]; randomAccessFile.readFully(end); return start[0] == -1 && start[1] == -40 && end[0] == -1 && end[1] == -39; } finally { if (randomAccessFile != null) { randomAccessFile.close(); } } }
Be careful when displaying an error alert that directly shows a message from the server. Error messages could disclose private debugging or security-related information. The solution is to have the server send an error code that the client looks up to show a predefined message.
Communication With Other Apps
While you're protecting communication to and from the device, it's important to protect IPC as well. There have been cases where developers have left shared files or have implemented sockets to exchange sensitive information. This is not secure. It is better to use Intents. You can send data using an Intent by providing the package name like this:
Intent intent = new Intent(); intent.setComponent(new ComponentName("com.example.app","com.example.app.TheActivity")); intent.putExtra("UserInfo", "Example string"); startActivity(intent);
To broadcast data to more than one app, you should enforce that only apps signed with your signing key will get the data. Otherwise, the information you send can be read by any app that registers to receive the broadcast. Likewise, a malicious app can send a broadcast to your app if you have registered to receive the broadcast. You can use a permission when sending and receiving broadcasts where signature is used as the protectionLevel. You can define a custom permission in the manifest file like this:
<permission android:name="com.example.mypermission" android:protectionLevel="signature"/>
Then you can grant the permission like this:
<uses-permission android:name="com.example.mypermission"/>
Both apps need to have the permissions in the manifest file for it to work. To send the broadcast:
Intent intent = new Intent(); intent.putExtra("UserInfo", "Example string"); intent.setAction("com.example.SOME_NOTIFICATION"); sendBroadcast(intent, "com.example.mypermission");
Alternatively, you can use setPackage(String)
when sending a broadcast to restrict it to a set of apps matching the specified package. Setting android:exported
to false
in the manifest file will exclude broadcasts that are received from outside of your app.
End-to-End Encryption
It's important to understand the limits of HTTPS for protecting network communications. In most HTTPS implementations, the encryption is terminated at the server. For example, your connection to a corporation's server may be over HTTPS, but once that traffic hits the server, it is unencrypted. It may then be forwarded to other servers, either by establishing another HTTPS session or by sending it unencrypted. The corporation is able to see the information that has been sent, and in most cases that's a requirement for business operations. However, it also means that the company could pass the information out to third parties unencrypted.
There is a recent trend called "end-to-end encryption" where only the two end communicating devices can read the traffic. A good example is an encrypted chat app where two mobile devices are communicating with each other through a server; only the sender and receiver can read each other's messages.
An analogy to help you understand end-to-end encryption is to imagine that you want someone to send you a message that only you can read. To do this, you provide them with a box with an open padlock on it (the public key) while you keep the padlock key (private key). The user writes a message, puts it in the box, locks the padlock, and sends it back to you. Only you can read the message because you're the only one with the key to unlock the padlock.
With end-to-end encryption, both users send each other their keys. The server only provides a service for communication, but it can't read the content of the communication. While the implementation details are beyond the scope of this article, it's a powerful technology. If you want to learn more about this approach, a great place to start is the GitHub repo for the open-sourced Signal project.
Conclusion
With all the new privacy laws such as GDPR, security is ever more important. It's often a neglected aspect of mobile app development.
In this tutorial, you've covered the security best practices, including using HTTPS, certificate pinning, data sanitization and end-to-end encryption. These best practices should serve as a foundation for security when developing your mobile app. If you have any questions, feel free to leave them below, and while you're here, check out some of my other tutorials about Android app security!
10 Ways to Increase Your Emotional Intelligence
8 Ways to Significantly Improve Your Writing
What Serena Williams' U.S. Open Match Can Teach Women in Business
Want to Improve Company Engagement and Morale? Start By Addressing This 1 Huge Issue
Airbnb Just Revealed 3 Statistics That Will Change the Way You Lead
Want to Boost Your Career This Fall? These 9 New Books Will Help
How to Make Your Small Business Supply Chain Socially Conscious?
Psychologists Have Finally Discovered 4 Research-Backed Personality Types
Here's How Highly Successful People Generate Their Own Good Luck
9 Things Likable People Do Differently Than Most People
How to Create Urgency Without Ruining Your Culture
A #MeToo Scandal Rocked the Dallas Mavericks. Mark Cuban's Response Was Perfect
How to Be a Freelancer and Not End Up Homeless
Here's the Truly Surprising Thing American Airlines Just Told an Angry Passenger (It All Came Down to 1 Word)
This Company Had the No. 1 Product on Amazon. So Why Is Their Follow-Up Exclusively at Walmart?
American Airlines Just Raised Its Baggage Fee and Offered an Incredible, Maddening Explanation
Thursday, September 20, 2018
Female Candidates Dominated the Primaries--Demonstrating 2 Leadership Skills Every Entrepreneur Should Know
This Crazily Enjoyable Ad Takes Political Advertising In a Whole New (and Really Quite Good) Direction
Smart Leaders Are Continuously Learning. Here's How to Get in the Habit
New Survey of 17,140 People Reveals the Top 3 Reasons Why Employees Are Unhappy at Work
IBM's Discrimination Lawsuit: Here's One Huge Issue That's Being Overlooked
The Top 7 Messenger Apps in the World
Free Credit Freezes Start Now: Here's How to Avoid the Frustration that Comes With Them
My Co-Founder Had to Leave Unexpectedly to Deal With a Personal Crisis. Here's How I Handled It
4 Things Newly Promoted Leaders Need to Do Right Away
Yes You Can Use Reddit to Sell Your Products. Here's How to Get Started
5 Things All Businesses Should Know About Disaster Recovery
Marc Benioff Just Joined the Ranks of Silicon Valley's Press Barons. Here's What We Know About How He'll Use His Power
Jack Ma Said Trump's Trade War With China Nulls Alibaba's Plans to Create 1 Million U.S. Jobs
Want to Be Happier Right Away? Science Says to Start With These Changes to Your Living Space
Eventbrite Is Set to Go Public at $23 a Share
These Free Marketing Hacks Will Help You Grow When Cash is Tight
After Slapping Google and Apple With Major Fines, the EU Is Now Investigating Amazon
As a College Professor and a Psychotherapist, I've Seen The Damage Lawnmower Parents Can Do To Kids
New York Startups Already Have Raised More Than $9 Billion This Year
Don't Let Neediness Lead to Bad Paying Customers
Looking Back, Michael Phelps Wouldn't Change a Thing (But He Does Want You To Make 1 Small Change)
How to Recruit People Who Want to Be a Part of Your Startup Dream
Follow Through On Follow Up
How To Make Pipelines and Sales Funnels Work For You
Amazon May Open 3,000 Cashier-Less Stores by 2021
Sales isn't about Emotional Intelligence Anymore
Over-Simplify Your Operations Can Actually Hurt Your Business, Says Netflix Founder Reed Hastings
1 Powerful But Simple Rule That Jeff Bezos Uses To Think and Perform Better
10 Reasons Why You Aren't Growing As a Leader (and Why You Should Still Try)
What No One Tells You About Perseverance That Will Bring You Peace
Are You a Tech Dinosaur or Pioneer? Four Industry Experts Share What's Hot
One Thing That Will Make You More Persuasive (But That You Might Not Like So Much)
Appreciate Friendship More With These 17 Wise Quotes
Quick Tip: 10 Audio Mastering Tips Every Engineer Should Know
Mastering is considered to be a dark art. A dark art that's seen an increasing number of mastering engineers enter the fray.
In this tutorial, I'll shed light on how you can become a better mastering engineer with ten straightforward tips.
1. Room Treatment
Room treatment is vital. I'd choose budget monitors in a well treated room over high end monitors in a gymnasium.
However you treat the room, the goal is always the same—to have a listening environment that is neutral, that results in even frequencies.
2. Multiple Monitors
One pair of monitors isn't enough. Monitors present their own individual view of a master.
You should invest in a good pair of monitors, but also a budget pair like the Avantone MixCubes, found in both home and pro studios. These are an excellent substitute for checking in the car, due to their limited bandwidth.
You should also check the master on a laptop, on headphones and even whilst wearing earbuds.
3. References
Listen to a lot of well mastered music from various genres and engineers. Create a collection of diverse references and put them into a playlist. My rock/pop playlist includes:
- Dance-Pop: Don't Stop the Music by Rihanna
- Bass Heavy Pop: Drunk in Love by Beyoncé and Jay Z
- High Fidelity Pop Rock: Sledgehammer by Peter Gabriel
- Classic Rock: Back in Black by AC/DC
- Acoustic Rock: Back on Your Side by Chris Isaak
- Alternative Light Rock: Here It Comes by Doves
- Alternative Heavy Rock: Drunken Butterfly by Sonic Youth
You may want follow the complete playlist to use as your own reference material.
4. Know the Gear
Know every aspect of the equipment you use and how it interacts with other equipment.
If you're just starting out, try working with software before moving to hardware. The reason for this is that it is quicker to experiment and to check A/B comparisons using software.
5. Know the Sequence
It helps if you know your track order before you begin. This can help with consistency in sound, ensuring the songs sit side by side sonically and dynamically. That doesn't mean that you should start work on track one first.
My preference is to start work on the track that sounds the best sonically to me. This will become the benchmark track, the one that the remaining tracks will be judged against.
6. Work in the Present and the Future
Consider the formats that it might get converted to and platforms it might get uploaded to. Consider the effect of converting from 24-bit to mp3 may have on the audio.
Consider the uploading of music to iTunes, YouTube and SoundCloud and how each affects the sound.
7. Less is More
The general rule of thumb for mastering is that you shouldn't boost or attenuate no-more than 3dB at any given frequency. This might seem very little, however when you do the math, it really isn't.
For example, attenuating 3dB on a complete mix in the low mids is the same as attenuating 3dB on each individual instrument that lives in that frequency range.
This might include the kick drum, snare drum, electric guitar, bass guitar and whatever else that often resides in the low-mids.
8. Trust Through Respect
For me, trust is vital, more so then the equipment or skills an engineer might possess.
Trusting the mastering engineer to do his research into the artist and to be honest about the mix and to feedback to the mix engineer if there are any problems. If a mastering engineer says to themselves, "This is the way they have sent it, so this is the way they must want it", then work should not proceed without communication about the mix or whatever aspect is making the mastering engineer feel that it's not ready for mastering.
9. Don't Master Your Own Mixes
If budget allows, don't master your own mixes. Even if you're a mastering engineer.
It would go against one of the principles of what makes a great master, that is 'fresh ears' in a different environment to the one in which it was mixed.
10. Sleep on it
This isn't one thats employed by all mastering engineers.
Whenever a mastering session feels complete, I would listen the next day with fresh ears and a fresh mind.
Bear in mind that, when a listener hears it, they most likely haven't played it at least five times that day. I feel you need to hear it, in the same way a new listener would before approving the final master.
Conclusion
In this Quick Tip Tutorial, I've given you ten tips improve your craft as a mastering engineer and in addition, encourage you to seek more information.
LinkedIn's CEO Just Identified the Single Biggest Email Mistake You Can Make (and We're All Guilty)
A Delta Customer Asked an Airline Employee For Her Manager's Name. The Employee Asked For Police To Be Called
You Might Be Encouraging a Toxic Workplace Without Realizing It. Here's How to Tell
Onboarding a New Employee? Make Sure You Address These 4 Emotional Needs, Or They'll Leave
Want to Be a Better Public Speaker? Stop Talking and Do This Instead
7 Ways to Embrace Discomfort and Face Your Fears
Data Science and Analytics for Business: Challenges and Solutions
As more companies discover the importance of data science and advanced analytics for their bottom line, a clash of cultures has begun. How can these quickly growing fields become part of a company’s ecosystem, especially for established companies that have been around for a decade or longer?
Data scientists and IT professionals have vastly different needs when it comes to infrastructure. Here, I’ll lay out some of those requirements and discuss how to move beyond them—and evolve together.
Department Perspectives
When starting up data science programs within companies, the biggest issues often arise not from the technology itself, but from simple miscommunication. Interdepartmental misconceptions can result in a lot of grudge-holding between fledgling data science teams and IT departments.
To combat this, we’ll examine both perspectives and take each of their needs into account. We'll start by defining what an IT professional requires to maintain a successful workflow, and then we'll look at what a data scientist needs for maximum efficiency. Finally, we'll find the common ground: how to use it to implement a healthy infrastructure for both to flourish.
IT Needs
Let’s start by taking a look at a typical data infrastructure for IT and Software Development.
Regarding data, there are three essential prerequisites that any IT department will focus on:
- data that is secure
- data that is efficient
- data that is consistent
Because of this, much of IT utilizes table-based schemas, and often uses SQL (Structured Query Language) or one of its variants.
This setup means that there are a large number of tables for every purpose. Each of these tables is separate from one another, with foreign keys connecting them. Because of this setup, queries can be executed quickly, efficiently, and with security in mind. This is important for software development, where data needs to remain intact and reliable.
With this structure, the required hardware is often minimal when compared to the needs of data science. The stored data is well defined, and it evolves at a predictable pace. Little of the data repeats, and the querying process reduces the amount of processing resources required.
Let’s see how data science differs.
Data Science Needs
On the other end, data science has a different set of needs. Data scientists need freedom of movement with their data—and flexibility to modify their data quickly. They need to be able to move data in non-standard ways and process large amounts at a time.
These needs are hard to implement using highly structured databases. Data science requires a different infrastructure, relying instead upon unstructured data and table-less schemas.
When referring to unstructured data, we’re talking about data with no intrinsic definition. It’s nebulous until given form by a data scientist. For most development, each field needs to be of a defined type—such as an integer or a string. For data science, however, it’s about supporting data points that are ill defined.
Table-less schemas add more versatility to this quasi-chaotic setup, allowing all the information to live in one place. It’s especially useful for data scientists who regularly need to merge data in creative and unstructured ways. Popular choices include NoSQL variants or structures that allow several dimensions, such as OLAP cubes.
As a result, the hardware required for data science is often more substantial. It will need to hold the entirety of the data used, as well as subsets of that data (though this is often spread out among multiple structures or services). The hardware can also require considerable processing resources as large amounts of data are moved and aggregated.
Distilling Needs Into Action
With these two sets of needs in mind, we can now see how miscommunication can occur. Let’s take these perspectives and use them to define what changes we’re looking for and how. What problems need to be solved when bringing data science into a traditional IT setting?
Ease of Data Manipulation
In a traditional IT setting, any given business’s databases likely follow a rigid structure, with tables divided to fit specific needs, an appropriate schema to define each piece of data, and foreign keys to tie it all together. This makes for an efficient system of querying data. The exploratory nature of some data science methods can push this to its limits.
When a common task might require joining a dozen or more tables, the benefits of table-based structures become less apparent. A popular method to handle this is to implement a secondary NoSQL or multi-dimensional database. This secondary database uses regular ETLs (Extract, Transform, Load) to keep its information fresh. This adds the cost of additional hardware or cloud service usage, but minimizes any other drawbacks.
Keep in mind that in some cases, adding a separate database for data science can be more affordable than using the same database (especially when complicated licensing issues come into play).
Ease of Data Scaling
This specific problem covers two mentioned mismatches:
- regular increases in data from procedures
- a need for unstructured data types
In traditional IT, the size of your database is well defined, either staying the same size or growing at a modest pace. When using a database for data science, that growth can be exponential. It is common to add gigabytes of data each day (or more). With the sheer size of this kind of data, a business will need to incorporate a plan for scaling internal architecture or use an appropriate cloud solution.
As for unstructured data, it can take up a lot of resources in terms of storage and processing power, depending on your specific uses. Because of this, it's often inefficient to keep it all in a database that might be used for other purposes. The solution is similar to scaling in general. We’ll either need a plan for scaling our internal architecture to meet these needs or we'll have to find an appropriate cloud solution.
Resource Usage
The last major difference we’ll talk about is the use of resources. For IT, the usage of resources is typically efficient, well defined, and consistent. If a database powers an eCommerce site, there are known constraints. An IT professional will know roughly how many users there will be over a given period of time, so they can plan their hardware provisioning based on how much information is needed for each user.
With traditional IT infrastructure, there won’t be any problems encountered if a project uses only a few hundred rows from a handful of tables. But a project that requires every row from two dozen tables can quickly become a problem. In data science, the needs in terms of processing and storage change from project to project—and that kind of unpredictability can be difficult to support.
In traditional IT, resources may be shared with other parties, which might be a live production site or an internal dev team. The risk here is that running a large-scale data science project could potentially lock those other users out for a period of time. Another risk is that the servers holding a database may not be able to handle the sheer amount of processing necessary. Calling 200,000 rows from 15 tables, and asking for data aggregation on top, becomes a problem. This magnitude of queries can be extremely taxing on a server that might normally handle a thousand or so simultaneous users.
The ideal solution comes down to cloud processing. This addresses two key factors. The first is that it allows query performance away from any important databases. The second is that it provides scaling resources that can fit each project.
So What’s the Final List of Requirements for Both?
Now that we’ve talked about the needs in depth, let’s sum them up. An IT and data science department will need the following for long-term success:
- a separate database to reduce the impact on other stakeholders
- a scaling storage solution to accommodate changes in data
- a scaling processing solution to accommodate varying project types
- an unstructured database to provide efficient retrieval and storage of highly varying data
Building a Case for Data Science
Let’s break everything down into specifications so we can put together a mutually beneficial solution. Now we’ll take a look at how to define the specific resources needed for an organization:
Researching Specifications
From the IT side, there are three main definitions needed to create the necessary infrastructure. These are:
- the amount of data
- to what extent it needs processing
- how the data will get to the storage solution
Here’s how you can determine each.
Data Storage Needs
It all starts with the initial data size needed and the estimated ongoing data additions.
For your initial data needs, take the defined size of your current database. Now subtract any columns or tables that you won't need in your data science projects. Take this number and add in the data size of any new sources that you’ll be introducing. New sources might include Google Analytics data or information from your Point of Sale system. This total will be the data storage we’ll be looking to attain upfront.
While the initial storage needs are useful upfront, you’ll still have to consider ongoing data needs—as you’ll likely be adding more information to the database over time. To find this information out, you can calculate your daily added data from your currently available data. Take a look at the amount of information that has been added to your database in the last 30 days, and then divide that by 30. Then repeat that for each information source that you’ll be using, and add them together.
While this isn’t precise, there’s an old development mantra that you should double your estimate, and we’re going to use that here. Why? We want to account for unpredictable changes that might affect your data storage needs—like company growth, per-project needs, or just general areas.
With that number now defined, multiply it by 365. This is now your projected data growth for one year, which, when added to your initial amount, will determine how much storage you should look at obtaining.
Processing Resource Needs
Unlike data storage needs, processing needs are a lot more difficult to calculate exactly. The main goal here is to decide whether you want to put the heavy lifting on queries or on a local machine (or cloud instance). Keep in mind here that when I talk about a local machine, I don’t mean just the computer you normally use—you’ll likely need some kind of optimized workstation for the more intensive calculations.
To make this choice, it helps to think about the biggest data science project that you might run within the next year. Can your data solution handle a query of that size without becoming inaccessible to all other stakeholders? If it can, then you’re good to go with no additional resources needed. If not, then you’ll need to plan on getting an appropriately sized workstation or scaling cloud instances.
ETL (Extract, Transform, Load) Processes
After deciding where to store and process your data, the next decision is how. Creating an ETL process will keep your data science database orderly and updated and prevent it from using unnecessary resources from elsewhere.
Here’s what you should have in your ETL documentation:
- any backup procedures that should take place
- where data will be coming from and where it will be going
- the exact dimensions that should be moved
- how often the transfer should occur
- whether the transfer needs to be complete (rewrite the whole database) or can be additive (only move over new things)
Preparing a Solution
With all the data points in hand, it’s time to pick out a solution. This part will take a bit of research and will rely heavily on your specific needs, as on the surface they tend to have a lot of similarities.
Three of the biggest cloud solutions—Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure—offer some of the best prices and features. All three have relatively similar costs, though AWS is notably more difficult to calculate costs for (due to its a la carte pricing structure).
Beyond price, each offers scalable data storage and the ability to add processing instances, though each calls its ‘instances’ by a different name. When researching which to use for your own infrastructure, take into account which types of projects you’ll be utilizing the most, as that can shift the value of each one’s pricing and feature set.
However, many companies simply select whichever aligns with their existing technology stack.
You may also want to set up your own infrastructure in-house, although this is significantly more complex and not for the faint of heart.
Extra Tips for Smooth Implementation
With all of your ducks in a row, you can start implementation! To help out, here are some hard-earned tips on making your project easier—from pitch to execution.
Test Your ETL Process
When you first put together your ETL process, don’t test the entire thing all at once! This can put some serious strain on your resources and increase your cloud costs drastically if there’s a mistake, or if you have to attempt the process several times.
Instead, it’s a good idea to run your process using just the first 100 rows or so of your origin tables at first. Then run the full transfer once you know it will work.
Test Your Queries Too
The same goes for any large query you run on a cloud instance. Making a mistake that pulls in millions of pieces of data is much harder on a system than one that only pulls in a few—especially when you’re paying per GB.
Create a Warehousing Backup Strategy
Most cloud operators offer this as a feature, so you may not have to worry about it. Your team should still discuss whether they would like to create their own regular backups of the data, though, or if it might be more effective to reconstruct the data should the need arise.
Security and Privacy Concerns
When moving customer data to the cloud, make sure that everyone involved is aware of your company’s data governance policies in order to prevent problems down the road. This can also help you save some money on the amount of data being stored in the cloud.
Dimension Naming During ETL
When performing your ETL from a table-based database to an unstructured one, be careful about naming procedures. If names are just wholesale transferred over, you’ll likely have a lot of fields from different tables sharing the same name. An easy way to overcome this at first is to name your new dimensions in the unstructured database as {oldtablename}_{columnname}
and then rename them from there.
Get Your Motor Running!
Now you can plan the basics of your analytics and data science infrastructure. With many of the key questions and answers defined, the process of implementation and getting managerial buy-in should go much more smoothly.
Having difficulty coming up with answers for your own company? Did I gloss over something important? Let me know in the comments!