Digital Marketing, Gaming, and Hacking
Brought to you by:
Matrix Tools
(57 / 57 Articles)
View Categories
TODO //jeb next make this more matrix toolsy. maybe even a reason to use it and migrate our data to azure? # Gotchas 1. Data flow Variables * First drill into the Data flow block, general Parameters, and declare a variable. * Then go back out to the Data flow block and click on it, now you should be able to set the declared Parameter(s). 2. Data Flow: Cloud VS On-Prem * Pipelines -> Asn -> Refresh WMS Data -> Settings * Cannot use "on-prem" pipelines in Data Flow. Because of this I needed to pull the data from WMS into our system, which takes extra time, additionally I am getting this message: You will be charged # of used DIUs * copy duration * $0.25/DIU-hour. Local currency and separate discounting may apply per subscription type. * https://stackoverflow.com/questions/56640577/azure-data-factory-data-flow-task-cannot-take-on-prem-as-source * https://feedback.azure.com/forums/270578-data-factory/suggestions/37472797-data-flows-add-support-to-access-on-premise-sql-a 2.5. Performance Issues with On-Prem Copy * https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-performance#copy-performance-and-scalability-achievable-using-adf 3. Partitioning * I believe the actual Azure Data Factory is run in "Partitions", while the Debug / Preview mode always runs on 1 Partition, which can lead to unexpected results when running in the real world. * I specifically had issues with sorting and numbering rows. * It appears that my output data set was partitioned (grouped) on the first column (by default, I never set this up, nor did I ever see this in preview mode so it very was unexpected). * Solution: * To resolve this issue, what I came up with was to "force" the natural sort order (where in preview mode I did not need any sort). * I was forced to come up with a way to sort the results back into their "natural order", luckily this "natural order" had a pattern I could take advantage of. * When that also did NOT help in the actual Data Factory run, I was finally able to have success by using this "Single partition" option on my new sort task. * Finally, ensure that any logic that depends on the sort order (like row numbering / filtering) takes place after your sort task. ![image.png](/.attachments/image-022d85f7-fe25-44f3-9b30-1fd5f88eb479.png) 4. The contains function requires a #item expression: contains($FileNames, #item == filename) 5. Weird errors 1. "store is not defined" * Apparently, using string[] variables doesn't seem to be supported, even though it is in the selection dropdown, or maybe it requires a weird format? Finally find an article on it: * "There seems to be parsing problems having multiple items in the variable each encapsuled in single-quotes, or potentially with the comma separating them. This often causes errors executing the data flow with messages like "store is not defined" * "DanielPerlovsky-MSFT While array types are not supported as data flow parameters, passing in a comma-separated string can work" 2. "shaded.databricks.org.apache.hadoop.fs.azure.AzureException: com.microsoft.azure.storage.StorageException: Bad Request" * Can occur if you have checked "List of Files" on the source but did not provide a pattern. @{activity('ASN Load Numbers').output.value[0].LoadNumber} Use parameter like this: 'ASN_' + replace(toString(currentTimestamp()), ':', '') + '_' + $LoadNumber + '_TEST.txt' # Resources https://techcommunity.microsoft.com/t5/azure-data-factory/adf-data-flow-expressions-tips-and-tricks/ba-p/1157577 https://docs.microsoft.com/en-us/azure/data-factory/tutorial-data-flow https://docs.microsoft.com/en-us/azure/data-factory/format-delimited-text https://docs.microsoft.com/en-us/azure/data-factory/data-flow-derived-column https://marlonribunal.com/azure-data-factory-data-flow/ https://www.sqlservercentral.com/articles/azure-data-factory-your-first-data-pipeline https://medium.com/@adilsonbna/using-azure-data-lake-to-copy-data-from-csv-file-to-a-sql-database-712c243db658

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Prospecting Audiences and Outreach Campaigns


Category
Small Business
Sub Category
Workflows
Last Updated
10/16/2020

This article will summarize a marketing workflow for prospecting new leads!

There are 3 main phases for this workflow: Prospecting, Campaigning, and Lead Tracking.

  1. Prospecting an Audience
    • This is the process of finding new potential leads and building an audience.
      EX:
      • Manually adding contact info to an audience.
      • Opt-in forms so people can add themselves to the an audience.
      • Using prospecting tools to export audiences.
    • Main Tool: FindThatLead
    • Secondary Tool: Postaga
    • Other Tools: ???
  2. Outreach Campaigns
    • This is the process of managing audiences and creating email templates in order to reach out to prospects/leads/clients/etc.

      For tips on importing audiences into Mailchimp from other tools, please check out our Mailchimp blog.


      EX:
      • Email Sequence to New Prospects
      • Monthly Newsletter to Existing Clients and Opt-ins
      • Outreach to friends/family with value offer if they "know anyone that needs a website"
      • Email Template for New Leads asking for Project Requirements
    • Main Tool: Mailchimp
    • Secondary Tool: Postaga

    Email templates should be Branded and as Personalized as possible!
    It it helpful to group all of your prospects into 1 audience for tracking. We can then break up our audience by groups, segments, and tags (in Mailchimp).
    This means a couple of things for our workflow:

    1. Create 2 Audiences: 1 real audience and 1 test audience made up of your marketing team.
    2. This will provide some safety/separation between your test runs and your live runs.
    3. Additionally, this should provide separation between your test and live statistics.
    4. *Ignore the previous steps and use Tags if you're on the free Mailchimp as it only allows 1 audience.
    5. Every audience imported into Mailchimp should be "Tagged" with 1) the name of the Prospecting tool that it was exported from and 2) the industry (or search term) that was used to create the audience.
    6. Every audience member imported into Mailchimp should belong to a "Segment". 1) Segment A or Segment B (for A/B Testing) 2) In order to be random, I setup Segment A (Last Name A - L) and Segment B (Last Name M - Z)
    7. I also recommend using "Groups" when you import your "Clients" contacts and "Staff" contacts (for testing).

  3. Lead Tracking
    • This is the process of monitoring responses, following-up, and tracking possible leads within a Customer Relationship Management (CRM) system.
    • Main Tool: Bitrix

    Bitrix can be used to track all external communications, leads, quotes, deals, clients, and more!
    It has a built in Sales Funnel and a ton of other awesome business tools.
    The prospects and audiences will be managed in the previous steps and systems,
    however when we get a positive response from a prospect they should then become a "lead" and then entered and tracked in the Bitrix CRM system.


Please click on any of the Tool links above to see more information on how we use these amazing tools!
What tools and workflows do you use at your company?
Thanks for reading!

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Postaga


Category
Digital Marketing
Sub Category
Best Free Marketing Tools
Last Updated
10/15/2020

Postaga Outreach Campaigns

Expectations for a Campaign: Open Rate / Reply Rate / Funnel Higher Quantity = More Responses Personalization = More Responses EX: Can you update your blog with my new link? Skyscraper: Find top ranked article on a topic. We want to OUT-RANK this article. (Ahref or Ubersuggest to get list of their backlinks, export the links and reach out, "I think my article is better") Don't reach out to everyone - audience matters. Make sure your recipients are relevant or you'll waste your opportunity in case that recipoient evenutally is relevant. Personalization / be specific Research + Merge Fields are Key Due diligence POSTAGA - Merge Field - Hi {First Name} - Prospecting (linkedin? website?) blog article on OUTREACH / AUDIENCE / LEAD process -not specific to a tool but for M.T. training -the entire process, how to find an email, add to audience, add to campaign, reach out, add to bitrix, ALL of that. postaga -> mailchimp -> bitrix ORRRRR are these 3 separate articles linked to each other ORRRRR 3 separate artciesl with same subtopic "outreach campaign" PROVIDE VALUE OFFER SOMETHING IN YOUR EMAIL RECIPROCITY "we have x followers and blah blah and we can help you" send a "Follow up" "sequence of emails" 3 - 5 POSTAGA WORKFLOW! Postaga blog -> New Campaign -> Resources ->give it a blog post url ->merge fields into templates!? ->resource opportunity search ->click one to preview (do they have a lot of links) ->select all to pitch to them ->analyze links ->this will find people ->you can manually 'prospect' and enter email if it didnt find one ->you want to fill out all the fields for MAIL MERGE ->postaga has a 'deliverability / verified tag' ->go thru list for best email contacts ->you can also find twitter and linkedin ->export data to csv (if we want to use mailchimp) ->or go to next step sending emails in postaga ->pick resources campaign ->did does have follow up sequences and you can set custom rules too ->if going to go out on weekends, go to next work day ->3 follw up email templates to preview and edit ->check the merge fields as much as possible ->specific personalize ->you can create your own merge fields in templates ->preview the merges and see warnings on missing fields ->go back and add fields ->send test if wanted ->https://postaga.com/demo grab a personal demo Try to do a podcast? Podcast campaign? prospecting -> audience building -> outreach -> lead tracking canspam requirements 1. way to opt out 2. mailing address personalization 'snippets' i guess override emails?

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Mailchimp


Category
Digital Marketing
Sub Category
Best Free Marketing Tools
Last Updated
10/14/2020

Mailchimp

Setup

  1. Sign up for a FREE Mailchimp account.
  2. Set up your Merge Fields:
    Audience Dashboard -> Settings -> Audience fields and *|MERGE|* tags
  3. You should configure this page so that it matches up with the columns in the audience files that you will be importing.
  4. THe Merge Fields should be in the same order as columns in the imported file(s).
  5. You can also add any useful fields that are present in the imported file(s) and remove unused fields.
  6. Use the Data Type of "Website" if you're adding a field that contains a link (URL).
  7. This screen also ties with Tag names that you will be able to use in your email campaign templates.
  8. If you do the above prior to importing, then when you perform your audience imports (Audience -> Add Contacts -> Merge -> File) the Merge Field mapping will be streamlined / automatic.
  9. Remember to tag your imports with the Tool and Industry used to prospect the audience!
1 audience use segments, tags, groups to separate tags = label (matrix tools added) Platform / Industry groups = preference center (user picks in a form) segments = data you already have, use to send more targeted marketing setup a "tag" of matrix tools test users? and then a segment for us? to send test emails to? run a test campaign "PREVIEW SEGMENT" "INTEGRETATION" "AUDIENCE AND ADD SEGMENT" BRAND AND PERSONALIZATION AS MUCH AS POSSIBLE ADD VALUE with PITCH TAGS = THE INDUSTRY (OR THE LIST IT CAME FROM MAYBE A TAG FOR WHAT PLATFORM) ===========2=========== notes on mailchimp INTRO audience - marketing crm, audience dashboard, tags/segments/groups (CAN ADD NOTES FROM BLOG HERE) -- 1 audience with tags/segments/groups -> start with a test tag? OR test audience?? -- audience dashboard setup a test audience. -- email/ad/postcard? -- Manage Audience -> Settings -> Audience name and defaults -- -- Form settings / Email settings / reCAPTCHA -- -- embedded signup forms for opt-ins for our newsletter / mailing list -> auto add to audience! -- -- GDPR (missed that) -- All contacts -> audience. subscribed and unsubscribed brand - template and studio -- name, logo, font colors, identity, image, emotional connection -- email templates -- -- select a LAYOUT for your template -- -- template gets all the good brand things -- -- every [month] create an edit of the template to turn it into a 'campaign' -- -- content studio - store logos and assets -- -- -- products - INTEGRATES WITH E-COMM!! COOL!! -- -- -- giphy and instagram! to pull your images from social media campaigns - automation features !? -- each campaign has stats, opens / clicks / revenue -- automated campaigns -- website (create a new one) not helpful? -- create campaign options -- -- automated emails -> like welcome emails -- -- other cool options and screenshots? -- -- multivariate - A/B Testing. COOL!! (test 2 different subject lines see what gets opened)! insights -- IMPORT CONTACTS -> checkout options here -> from csv??!! studio, site??? settings -> domain authentication -> verify and authenticate -> contact@matrix.tools hidden costs in mailchimp?? billing tab?? integrations -> facebook, ecwid, bitrix, slack !!!

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


semrush, ubersuggest, SEMrush Summary: STEP 1 Go to Market Explorer https://www.semrush.com/market-explorer/overview/?mindbox-click-id=64cb3615-8e6c-4bc3-b987-07ee362c0c8e&utm_source=mindbox&utm_medium=Email&utm_campaign=en_NewWelcome2&utm_content=Welcome STEP 2 Enter a competitor’s URL. STEP 3 Choose between Industry competitors (all the websites fighting for the audience with the same interests) and Organic competitors. STEP 4 Find Leaders in the Growth Quadrant. These websites grow faster and have a larger online presence than other players. What do they do differently in their marketing? STEP 5 Explore the Leaders’ traffic generation strategies. In our example, sunandski.com focuses on Google Ads more than other competitors. However, their search performance is lower than the market average. STEP 6 Analyze the key Leader’s online strategy in depth. Go to Traffic Journey in Traffic Analytics. https://www.semrush.com/analytics/traffic/ Links: SEMrush Quick Blog https://www.semrush.com/blog/6-competitor-insights-you-can-get-in-30-minutes-1/?mindbox-click-id=18c895d1-baa7-4b33-a588-d9ce91229055&utm_campaign=en_NewWelcome1&utm_content=Welcome&utm_medium=Email&utm_source=mindbox SEMrush Complete Blog https://www.semrush.com/blog/how-to-do-competitor-analysis-in-digital-marketing/?mindbox-click-id=168b6c5d-68ed-42e9-a3ff-4418bf7f1b51&utm_source=mindbox&utm_medium=Email&utm_campaign=en_2020Welcome1&utm_content=Welcome SEMrush Course https://www.semrush.com/academy/courses/competitive-analysis-and-keyword-research-course/getting-the-big-picture Neil Patel (ubersuggest video) https://www.youtube.com/watch?v=CaPRbcxUGeE&pp=wgIECgIIAQ%3D%3D&feature=push-fr&attr_tag=f0Mp3Nj-PdgAoNHL%3A6


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Power BI


Category
Digital Marketing
Sub Category
Best Free Business Tools
Last Updated
9/14/2020

Intro to Power Business Intelligence

Definitions: Power Platform

  • "Business Intelligence" comprises the strategies and technologies used by enterprises for the data analysis of business information. BI technologies provide historical, current, and predictive views of business operations.
    • Structured
    • ETL (Extract, Transform, Load
    • Database / Data warehouse / Data lake
  • "Data Analysis" is an approach to data that seeks to find insights and indentify patters or trends (Nuggets of Insight).
  • "Data Mining" = Analyzing large amounts of data.
  • "Big Data" = High-volume, unstructured, real-world generated data.
    • Volume
    • Variety
    • Velocity
    • Variability
    • Veracity (How reliable?)

5 Stages of BI

  1. Collect and store data
  2. Transform "Big" data into "BI" data
  3. Present Key Metrics
  4. Evaluate data to discover patterns, trends, and insights
  5. Sharing reports and findings to empower others (Visualizations and Presentations)

Pricing

  1. Free (just hit X on logins)
  2. $9.99/month/person for sharing
  3. Enterprise Level

Row-Level Security

  1. Need a subscription (because it's useless without sharing)
  2. Service Admin

Import Apps

  • Mailchimp
  • Twilio (SMS)
  • Marketo
  • Insightly

Data Analysis Expressions

  • Related
  • Switch
  • SelectedValue
  • IsBlank
  • and &&
  • concat &

Power BI Data Analysis Expressions
Power BI Dax Relationships
(RELATE is Based off Model) Power BI Drag and Drop Relationships
Power BI Dax Switch

Direct Connectivity

  • [clustername].azurehdinsight.net
  • Power Platform

Importing Data

  • Manual Refresh
  • Schedule Refresh
  • Direct Query (never stale)

Direct Query

  • Instead of Importing data into the file, you are connected to a Data Source.
  • File -> Options -> Data source settings (also in Transform data dropdown)
  • Get Data -> Azure Sql Database
  • Options for Authentication (not available on Importing data)
  • Creates a Composite Model based on the link to the data (keeps relationships)
  • Never goes stale because it updates as you click
  • However you do have some control over this if performance on the Database is an issue
  • File -> Options -> Options -> Current File -> Query Reduction
  • On-prem (non-cloud) data sources require a Gateway (Power Bi -> Download -> Data Gateway)

Visuals / Report Builder
Power BI Cards
Power BI Tables
Power BI Maps
Power BI Filled Map
Power BI Tree Map

Natural Query Language
Power BI QNA
Power BI QNA NQL as Map

Data
Power BI Data Tab
Power BI Get Data
Power BI Service Settings
Power BI Embed Options

Conditional Formatting
Power BI Condidtional Formatting
Power BI Dynamic Title

Marketplace / Gallery / Links


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Web Scraping / Archive.org


Category
Website Development
Sub Category
Best Free Development Tools
Last Updated
9/13/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Cyotek WebCopy and Archive.org Internet Archive: Wayback Machine


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Mobile Apps


Category
Digital Marketing
Sub Category
Best Free Business Tools
Last Updated
9/12/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- screen shot of phone - business apps - server monitor - apps - ifttt?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Backups and Disaster Recovery


Category
Automation
Sub Category
DevOps
Last Updated
9/11/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- Restore Points | Recovery Drive -> E: (flash) | System Image -> D: -- sql backup to dropbox -- command line to switch applicationhost to dropbox


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

IFTTT


Category
Automation
Sub Category
Best Free Automation Tools
Last Updated
9/10/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- ifttt - wyze security, location, slack, email. better than zapier? --- favorite triggers, change phone background. voice controls


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Chrome


Category
Website Development
Sub Category
Best Free Development Tools
Last Updated
9/9/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


new Link { Title = "chrome://about", Description = "Chrome Secrets - Only works on a Chrome browser" }, -- chrome -> extensions -> seo, honey, buffer, scrum for trello https://chrome.google.com/webstore/detail/scrum-for-trello/jdbcdblgjdpmfninkoogcfpnkjmndgje ------------- email tracker https://chrome.google.com/webstore/detail/email-tracker/bnompdfnhdbgdaoanapncknhmckenfog


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Bitrix


Category
Digital Marketing
Sub Category
Best Free Business Tools
Last Updated
9/8/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


super best tool: Bitrix -- crm funnels - company tracking -- online store (how to setup free e-commerce?) -- employee org chart


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

SEMrush


Category
Digital Marketing
Sub Category
Best Free Business Tools
Last Updated
9/7/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


super best tool: SEMrush all the screens you can get for free. -- how to setup a "campaign" -- real life examples on what we find on our sites


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Slack


Category
Digital Marketing
Sub Category
Best Free Business Tools
Last Updated
9/6/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- all the slack channels that we use and for what? -- slack C# code integration webhooks -- #bots github / azure -- #alerts errors / downtime -- IFTTT/Zapier -- our 10 app integrations


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [3]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Deployment Bot (using SSH)


Category
Automation
Sub Category
Bots
Last Updated
9/5/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Deployment Bot. SSH. Code example and SSH example.


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


All bookmarks in Matrix Tools by categery. start with top 3 from each?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- w3c automate validation -- HOW TO SHOW RESULTS?? -- ? https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml -- ideal ultimate Digital Marketing / SEO pipeline 0- build, test, database updates, monkeytestit (can do via slack?), automate an seo audit, SLACK/EMAIL updates, -- unit/connectivity/integration test the api, update sitemap, submit new sitemap to google with sitemap api, anything else with google?, bing submit, slack notify with link to update! -- automate your entire job!!! send out the audits? notifify if worse? -- BONUS. Voice activate it? (link to IFTTT BLOG?) -- https://medium.com/@vnqmai.hcmue/deploy-asp-net-core-to-heroku-for-free-using-docker-bd6d6fc161ae -- https://www.bing.com/webmasters/url-submission-api#APIs honorable mention: docker, heroku, netlify, bitbucket, travis-ci, buddy, GitHub Actions https://dev.to/alrobilliard/deploying-net-core-to-heroku-1lfe?utm_campaign=dotNET%20Weekly&utm_medium=email&utm_source=week-36_year-2020 i wonder which article is better? this one or the medium.com article above. because WE ONLY NEED 1!!


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


-- argos + matrix tools monthly charts -- Api Request to Google with OAuth Security (A.R.G.O.S.) ----------- https://console.developers.google.com/apis/library?project=matrixtools-argos ----------- https://console.developers.google.com/apis/credentials?project=matrixtools-argos api creds for argos ----------- https://developers.google.com/webmaster-tools/search-console-api-original/v3/searchanalytics/query?apix=true ----------- https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth the others are actually to auth with your account / see SERVICE ACCOUNT example ----------- https://search.google.com/search-console/users?resource_id=sc-domain%3Amatrix.tools (remember to add SERVICE ACCOUNT to each property) say something about the www.matrix.tools/portal dashboard and how we have custom dashboards! and a matrix tools monthly share the code from google controller!! sc-domain:property and other gotchas. - there are so many google auths, one is for public, oauth, this one, and single-sign-on google stuff too for sites (CONFUSING)


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Creating our first Chat Bot


Category
Automation
Sub Category
Bots
Last Updated
9/1/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Chat Bot. First, add all GOOD AI / ChatBot articles from our spreadsheet Mobile Monkey? Virtual Assisstants


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Matrix Tools ~ Social Media Marketing

Matrix Tools Implements 3+ Social Media Marketing Campaigns for each Platform!

  1. Daily - Client Images - (Scheduled via Buffer or Manually Posted)
  2. Weekly - A.I. Generated Content - (Scheduled with Approval => Auto-pilot via Quuu)
  3. Monthly - Promotional Posts - (Manually Posted)


Setup

Matrix Tools "Social Media Strategists" will be given logins to 2 main applications:

  1. Buffer = our scheduler
  2. Quuu = our A.I. Content Generator

We also recommend using a "Website Copy" tool in order to pull down all of a website's images.
I prefer Cyotek on Windows and Wget on Mac and Linux.
Pro Tips: You can install and run Wget via the command line via

sudo apt install wget
wget --recursive --convert-links https://nashvilleinktattoo.com



To Do for each Client

  1. We will need Admin access or Credentials for each of the Client's Social Media platforms (these Credentials can usually be found in Bitrix).
  2. Create a new local folder, something like /Desktop/MatrixTools/SocialMedia/{client-name}.
  3. Now you can use your "Website Copy" tool to copy their website down into your new folder structure.
  4. If you would like, you can delete everything except for the IMAGES!
  5. Log into Buffer.
  6. Add any new Social Media platforms to Buffer.
    How to add Social Accounts to the Buffer scheduler
  7. Now if you would like, you can log into Buffer and manually post an image to each platform every day.
  8. If you do not want to do this every day, you can schedule the "Daily - Client Images" in advance via Buffer's scheduler.
    How to add Posts to the Buffer scheduler
  9. Within the Image Posts, remember to add a link to the Client's Website and/or a friendly message.
    How to create and view posts in Buffer
  10. You might want to move or delete each image after you've uploaded it to Buffer. This should ensure that you do not post duplicates.


A.I. Generated Content

  1. Log into Quuu.
  2. Add the new Social Media account to Quuu (you can do this by Refreshing the Buffer connection).
    How to use A.I. to generate content with Quuu
  3. Pro Tips: Initially, set this to Manual so we can approve the content for the first couple of days. If all of the A.I. content is relevant and positive to the client, then we can come back and toggle this setting to put it on Auto-pilot!
    How to setup A.I. to generate content with Quuu
  4. This will auto generate content that will then be shared (thru Buffer) to Social Media platforms.


Costs

  1. Quuu = $100 (for Life!)
    • This gives us 6 Social Media Accounts for 1 LIFETIME payment!
    • Matrix Tools, LLC was provided with a very special offer: the Quuu Ultra Plan for Life!!
    • This is the reason we can offer A.I. Generated Content to our Clients for such a great price!
    • It's such a great deal that it's a competitive advantage for Matrix Tools
    • The next level would support up to 10 Social Media Accounts but would cost $228 per year!
  2. Buffer = $0 or $144 per year
    • The FREE Buffer plan supports 3 Social Media Accounts.
    • The next level would be the Pro Plan for $144 per year, which supports 8 Social Media Accounts.

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

The Best Tools for Small Businesses


Best Small Business Systems



What Slack integrations do you use?

What websites do you use to run your business?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

AWS Certification Notes (Chapter 2: EBS and EFS)

NOTES:


Availablity Zone = Different Data Centers broken out by Region (AZ for short and they always end with a LETTER, Regions end with a NUMBER)
IAM = Identity Management / Users and Roles at a Global Level
IAM Foundation = For Company Integration like Active Directory (SAML)
EC2 = Virtual Machine (default is Linux with a Firewalled / Dynamic / Public IP, if you need a Static IP create an "Elastic IP")
SSH into an EC2 = ssh -i {path.pem} ec2-user@{ip}
Security Groups = Control traffic rules to the EC2 (Firewall)
Time outs = Security Group configuration issue / Connect Refused = Application issue
Security Groups can reference other Security Groups, multiple instances, etc. (They are locked down to a Region)

Practice: Install Apache on an EC2

  1. SSH into the EC2 (Linux) with user "root"
  2. sudo yum update
  3. sudo yum install -y httpd.x86_64
  4. sudo systemctl start httpd.service
  5. sudo systemctl enable httpd.service (restart the service on reboot)
  6. Open Port 80 via Security Group
  7. echo "Hello World from MatrixTools-EC2-01 - $(hostname -f)" > /var/www/html/index.html

Practice: Let's Automate That!

  1. EC2 User Data can run scripts at first boot (bootstrapping)
  2. EC2 - Launch Instance - Amazon Linux 2 AMI
  3. Configure Instance Details - Advanced Details - User data
  4. Paste in the "script" from above
  5. It must start with the following line, preceeding any script:
  6. #!/bin/bash

EC2 Instances - Launch Types

  1. On-Demand
    • Pay for what you use
    • Highest cost but no upfront payment
    • No long-term commitment
    • Recommendation: for auto-scaling or short-term and un-interrupted workloads, wehre you can't predict how the application will behave
  2. Reserved
    • Up to 75% discount compared to On-demand
    • Pay upfront for what you use with long-term commitment
    • Reservation period can be 1 or 3 years
    • Reserve a specific instance type
    • Recommendation: for steady state usage applications (think database)
  3. Convertible Reserved
    • Up to 54% discount compared to On-demand
    • Can change the EC2 instance type
  4. Scheduled Reserved
    • Only launch within time window you reserve
  5. Spot
    • Best Discount: up to 90% compared to On-demand
    • You bid a price and get the instance as long as its under the price
    • Price varies based on offer and demand
    • Spot instances are reclaimed with a 2 minute notification warning when the spot price goes above your bid
    • Recommendation: for batch jobs, Big Data analysis, or workloads that are resilient to failures. NOT for critical jobs or databases
  6. Dedicated Hosts
    • Physical dedicated EC2 server / Full control and visibility
    • You bid a price and get the instance as long as its under the price
    • Allocated for your account for a 3-year period reservation
    • More expensive
    • Recommendation: for complicated licensing / regulatory or compliance needs (must keep software and data on separate machine)
  7. Dedicated Instances
    • Instances running on hardware that's dedicate to you
    • May share hardware with other instances in same account
    • No control over placement

EC2 Instances Types

  • R = applications that need a lot of RAM
  • C = applications that need a lot of CPU (databases)
  • M = applications that need balance (middle / medium)
  • I = applications that need good local I/O (databases)
  • G = applications that need good GPU (video rendering / machine learning)
  • T2/T3 = Burstable Instances ("burst credits")
  • T2/T3 Unlimited = Unlimited Bursts

EC2 AMIs (custom base images)

  • Pre-installed packages, settings, etc
  • AMI Storage lives on S3 (inexpensive, just remove old ones)
  • Public and sharable ones in the marketplace
  • Just right click on your service instance - Image - Create Image
  • Images - AMIs - right click - Launch (AMIs are region specific / cannot use same ID across regions)
  • FAQ: You can copy and share AMIs and make them public by changing the permissions. If you cannot copy an AMI a lot of times you can still Launch an instance of it and create your own AMI from that instance (billingProduct code issues)

EC2 Placement Group Strategies

  • Cluster - a low-latency group in a single Availability Zone (high performance / high risk)
  • Spread - across hardware and AZ (critical applications / low risk / limit 7 instances)
  • Partition - across partitions (hardware within a single AZ / compromise)

EC2 for Solution Architects

  • Billed by the second, t2.micro is free tier
  • Lock down port 22 except for needed SSH (chmod 0400)
  • Timeout issues - Security groups issues
  • Security Groups can reference other Security Groups

ELB (Load Balancer for EC2)

  • Classic / Application / Network
  • Built-in Health Check
  • Use the static hostname NOT the underlying IP
  • Cannot scale instantaneously - contact AWS for a "warm-up"
  • 4xx errors are client, 5xx are application, 503 means no capacity or no targets
  • If LB cannot connect to application, check security groups
  • Application (Layer 7)
    • Load balancing to multiple machines (target groups)
    • Load balancing to multiple applications on same machine (containers)
    • Load balancing based on route in URL
    • Load balancing based on hostname in URL
    • Port Mapping feature to redirect to a Dynamic Port
    • Stickiness can be enabled at the target group level by cookies
    • Supports HTTP, HTTPS, and Websockets
    • The application servers don't see the IP of the client directly, but it is placed in a header (X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto)
  • Network (Layer 4)
    • Load balancing for TCP
    • High performance ~ millions of requests per seconds
    • Support for static IP or elastic IP (1 per AZ)
    • Less latency ~ 100 ms (vs 400 ms for ALB)
    • Use if Extreme Performance is required
    • Can see the client IP directly
    • Public facing = must attach Elastic IP – can help whitelist by clients

More Load Balancer Notes

  • App LB provide a Static DNS name
  • Network Load Balancers expose a public static IP (and can work witih TCP)
  • Use STICKINESS if Session Data is important (client gets same instance via cookie)
  • 0.0.0.0/0 means allow anyone from anywhere
  • Can also use a (LB) security group, so that traffic has to come from load balancer

Auto Scaling

  • Cooldown = period between each scale action
  • ASG = Auto Scaling Group
  • Default Termination Policy = AZ with most instances and then oldest config
  • ASG are free and also have auto-restart to KEEP running X number of instances!
  • Scale based on CloudWatch alarms (Custom Metrics with PutMetric API)
  • Automatically Register new instances to a load balancer
  • SNI = to specify SSL hostname they reach
  • ACM = AWS Certificate Manager (X.509 SSL/TLS server certificate)

Chapter 1: Servers and Load Balancers

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

This article will walk through upgrading to .NET Core 3.0.
Overall, it was pretty smooth, but I did run into 3 big things...
  1. Newtonsoft is depreciated.
    First, have a plan ready for replacing Newtonsoft as it's been replaced. The new recommendation is System.Text.Json.
  2. Second, if you want to continue to use MVC routing you need to add this to the Startup.cs => ConfigureServices function.
    services.AddMvc(option => option.EnableEndpointRouting = false);
  3. Webconfig => hostingModel="inprocess"
    <aspNetCore processPath="dotnet" arguments=".\Website.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    Finally, I lost a lot of time on this good one. After building and deploying, I was having issues on my production server. For some reason, this inprocess hosting model was added and seemed to screw everything up, I still want to see why that isn't working, but for now I've switched it using a setting in the csproj file:
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Email Response Bot


Category
Automation
Sub Category
Bots
Last Updated
2/2/2020
If you would like to setup a custom email alias for you or your company, please check out this link first: Custom Email Aliases

This article will go over how to setup SMTP for an automatic email generator.
If I am doing this for a client company, I will first setup their Custom Email Alias (with the link above).
I will setup a wildcard for their domain pointing all emails to their inbox...
However, I will also create a "contact" alias pointing to my own inbox, that way I can setup the Email Alias myself and attach it to my own account.
I will verify this new "contact" email on my Gmail account and set it as NOT an alias.
I will also hardcode all "to" values to my email address.
I will then test their SMTP, test my code to generate an email from their domain, and test their contact form, before finally deleting the "contact" alias which will switch everything back over to the client's inbox, and finally changing any "to" values in the code from my email address to their inbox.

That is really the main point of the article, however, I will also include some sample C# code on how I do this:
using (var SmtpServer = new SmtpClient("smtp.gmail.com")) { var mail = new MailMessage { From = from, Subject = subject, IsBodyHtml = true, Body = htmlBody, }; mail.To.Add(to); // Adjust the Reply To mail.ReplyToList.Clear(); mail.ReplyToList.Add(replyTo); SmtpServer.Port = 587; SmtpServer.UseDefaultCredentials = false; SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network; SmtpServer.Credentials = new NetworkCredential("your-email@gmail.com", Password); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); EmailRetryAttempts = 0; return true; }

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Machine Learning and Artificial Intelligence


Category
Automation
Sub Category
AI
Last Updated
2/2/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


General info AI and ML


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Website Generation Bot


Category
Automation
Sub Category
Bots
Last Updated
2/1/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Free website generator. Link to Matrix Tools. -> at first this should just go to contact form? Link to jessebooth.info for an example. any code from documentservice? api call for file upload. use this code for resume generator?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Setting up an Agile Sprint Burndown with Trello


Category
Small Business
Sub Category
Workflows
Last Updated
1/26/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Being Agile and Predictable Things you cannot allow to happen: Throttling the funnel Go over our Matrix Tools simple Agile/Scrum process. 1 Month Sprints 1 Point = 1 Day = 1 Hour


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Project Management Study PMBOK


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Learning Vue.js


Category
Website Development
Sub Category
JavaScript Frameworks
Last Updated
1/9/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Website Development with Vue.js... Compare Angular vs React vs Vue... Thinking an easy example would be a Black Jack best practice app. Put in 3 cards as fast as possible and it tells you the correct play. Another good feature would be to go down the list of possible hands and QUIZ the user on what the best play would be. Then give the correct move and at the end of like 10 or so random hands so a score. The bonus here is that it is related to the card app that I made on React for practice.


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Mobile Apps with Push Notifications


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Intro to Ionic and cheatsheet and how to deploy. (Copy cheatsheet here)


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Intro to Websites with Webcam Integrations


Category
Website Development
Sub Category
Video
Last Updated
1/2/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Live Facetime / Webcam Application.. Record yourself to mp4..


Coding with Webcams and Videos

Using React and HTML5

#1, using HTML5 we can easily play any mp4 file type, with code like this:

<video controls="controls"> <source src="~/videos/MatrixTools.mp4" type="video/mp4" /> </video>



#2, Webcam Integration:

<video controls="controls"> <source src="~/videos/MatrixTools.mp4" type="video/mp4" /> </video>


var video = document.getElementById('video'); if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) { video.src = window.URL.createObjectURL(stream); video.play(); }); }

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Learning React


Category
Website Development
Sub Category
JavaScript Frameworks
Last Updated
1/2/2020

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Website Development with React .jsx immutable Show off the React card app Also add the feature so it can toggle the MODE. Add a link to it somewhere / deploy it Also add react-cli cheatsheets! Add to Mario-Shell!! npx create-react-app deck-of-cards (i think) Maybe a vue vs react vs angular blog!?!?!?! Or relate it to the Vue app if Vue app ends up being card related for sure. Create a VIDEO app in React???


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

AWS Certification Notes (Chapter 1: Servers and Load Balancers)

NOTES:


Availablity Zone = Different Data Centers broken out by Region (AZ for short and they always end with a LETTER, Regions end with a NUMBER)
IAM = Identity Management / Users and Roles at a Global Level
IAM Foundation = For Company Integration like Active Directory (SAML)
EC2 = Virtual Machine (default is Linux with a Firewalled / Dynamic / Public IP, if you need a Static IP create an "Elastic IP")
SSH into an EC2 = ssh -i {path.pem} ec2-user@{ip}
Security Groups = Control traffic rules to the EC2 (Firewall)
Time outs = Security Group configuration issue / Connect Refused = Application issue
Security Groups can reference other Security Groups, multiple instances, etc. (They are locked down to a Region)

Practice: Install Apache on an EC2

  1. SSH into the EC2 (Linux) with user "root"
  2. sudo yum update
  3. sudo yum install -y httpd.x86_64
  4. sudo systemctl start httpd.service
  5. sudo systemctl enable httpd.service (restart the service on reboot)
  6. Open Port 80 via Security Group
  7. echo "Hello World from MatrixTools-EC2-01 - $(hostname -f)" > /var/www/html/index.html

Practice: Let's Automate That!

  1. EC2 User Data can run scripts at first boot (bootstrapping)
  2. EC2 - Launch Instance - Amazon Linux 2 AMI
  3. Configure Instance Details - Advanced Details - User data
  4. Paste in the "script" from above
  5. It must start with the following line, preceeding any script:
  6. #!/bin/bash

EC2 Instances - Launch Types

  1. On-Demand
    • Pay for what you use
    • Highest cost but no upfront payment
    • No long-term commitment
    • Recommendation: for auto-scaling or short-term and un-interrupted workloads, wehre you can't predict how the application will behave
  2. Reserved
    • Up to 75% discount compared to On-demand
    • Pay upfront for what you use with long-term commitment
    • Reservation period can be 1 or 3 years
    • Reserve a specific instance type
    • Recommendation: for steady state usage applications (think database)
  3. Convertible Reserved
    • Up to 54% discount compared to On-demand
    • Can change the EC2 instance type
  4. Scheduled Reserved
    • Only launch within time window you reserve
  5. Spot
    • Best Discount: up to 90% compared to On-demand
    • You bid a price and get the instance as long as its under the price
    • Price varies based on offer and demand
    • Spot instances are reclaimed with a 2 minute notification warning when the spot price goes above your bid
    • Recommendation: for batch jobs, Big Data analysis, or workloads that are resilient to failures. NOT for critical jobs or databases
  6. Dedicated Hosts
    • Physical dedicated EC2 server / Full control and visibility
    • You bid a price and get the instance as long as its under the price
    • Allocated for your account for a 3-year period reservation
    • More expensive
    • Recommendation: for complicated licensing / regulatory or compliance needs (must keep software and data on separate machine)
  7. Dedicated Instances
    • Instances running on hardware that's dedicate to you
    • May share hardware with other instances in same account
    • No control over placement

EC2 Instances Types

  • R = applications that need a lot of RAM
  • C = applications that need a lot of CPU (databases)
  • M = applications that need balance (middle / medium)
  • I = applications that need good local I/O (databases)
  • G = applications that need good GPU (video rendering / machine learning)
  • T2/T3 = Burstable Instances ("burst credits")
  • T2/T3 Unlimited = Unlimited Bursts

EC2 AMIs (custom base images)

  • Pre-installed packages, settings, etc
  • AMI Storage lives on S3 (inexpensive, just remove old ones)
  • Public and sharable ones in the marketplace
  • Just right click on your service instance - Image - Create Image
  • Images - AMIs - right click - Launch (AMIs are region specific / cannot use same ID across regions)
  • FAQ: You can copy and share AMIs and make them public by changing the permissions. If you cannot copy an AMI a lot of times you can still Launch an instance of it and create your own AMI from that instance (billingProduct code issues)

EC2 Placement Group Strategies

  • Cluster - a low-latency group in a single Availability Zone (high performance / high risk)
  • Spread - across hardware and AZ (critical applications / low risk / limit 7 instances)
  • Partition - across partitions (hardware within a single AZ / compromise)

EC2 for Solution Architects

  • Billed by the second, t2.micro is free tier
  • Lock down port 22 except for needed SSH (chmod 0400)
  • Timeout issues - Security groups issues
  • Security Groups can reference other Security Groups

ELB (Load Balancer for EC2)

  • Classic / Application / Network
  • Built-in Health Check
  • Use the static hostname NOT the underlying IP
  • Cannot scale instantaneously - contact AWS for a "warm-up"
  • 4xx errors are client, 5xx are application, 503 means no capacity or no targets
  • If LB cannot connect to application, check security groups
  • Application (Layer 7)
    • Load balancing to multiple machines (target groups)
    • Load balancing to multiple applications on same machine (containers)
    • Load balancing based on route in URL
    • Load balancing based on hostname in URL
    • Port Mapping feature to redirect to a Dynamic Port
    • Stickiness can be enabled at the target group level by cookies
    • Supports HTTP, HTTPS, and Websockets
    • The application servers don't see the IP of the client directly, but it is placed in a header (X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto)
  • Network (Layer 4)
    • Load balancing for TCP
    • High performance ~ millions of requests per seconds
    • Support for static IP or elastic IP (1 per AZ)
    • Less latency ~ 100 ms (vs 400 ms for ALB)
    • Use if Extreme Performance is required
    • Can see the client IP directly
    • Public facing = must attach Elastic IP – can help whitelist by clients

More Load Balancer Notes

  • App LB provide a Static DNS name
  • Network Load Balancers expose a public static IP (and can work witih TCP)
  • Use STICKINESS if Session Data is important (client gets same instance via cookie)
  • 0.0.0.0/0 means allow anyone from anywhere
  • Can also use a (LB) security group, so that traffic has to come from load balancer

Auto Scaling

  • Cooldown = period between each scale action
  • ASG = Auto Scaling Group
  • Default Termination Policy = AZ with most instances and then oldest config
  • ASG are free and also have auto-restart to KEEP running X number of instances!
  • Scale based on CloudWatch alarms (Custom Metrics with PutMetric API)
  • Automatically Register new instances to a load balancer
  • SNI = to specify SSL hostname they reach
  • ACM = AWS Certificate Manager (X.509 SSL/TLS server certificate)

Chapter 2: EBS and EFS

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

SEO Case Study: Advanced SEO Boosting to the Top Spot!

Nashville Ink Tattoos

Difficulty Level: Very Hard


Easy Keyword (downtown nashville tattoo)

Effect in Ranking After 1 Month: 4 => N/A


Medium Keyword (nashville tattoo)

Effect in Ranking After 1 Month: 6 => N/A


Difficult Keyword (nashville tattoo shop)

Effect in Ranking After 1 Month: 11 => N/A


1.2k Monthly Visitors

Hello Everyone,
I'm super excited for the opportunity to work with such a well-known shop as Nashville Ink!
These posts will track the progress we make with this client, given they already have strong position on Google (and 1.2k visitors a month), we will aim to improve upon their numbers!
Wish me luck!
-Jesse Booth


  1. Coming Soon!

Nashville Ink has been featured on Ink Master and has also been visited by Gale! (grab images and pictures!)

Getting to work with Nashville Ink is a huge honor for us!


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Free Sega Online - NOW INCLUDING 2-PLAYER MODE!


Category
Video Games
Sub Category
Emulators
Last Updated
12/11/2019

Play Sega Online

Play Sega Online for Free! Any & All Sega Games! You can even play 2-Player Mode games with a friend across the world!

First, download the emulator from this link:

Sega Online
To play 1-Player, you can skip to Section C.

Section A: Hamachi Setup
  1. Unless you've already done this, Download the zip package from the link above and extract the files.
  2. Run the InstallHamachi.msi installer.
  3. Sign up for a free LogMeIn Hamachi account. (There should be instructions for this at the end of said installer.)
  4. Sign in and join an existing network. (The Network ID is: KupoKupoKupo) (The Password is not required, but it is: kupo)
  5. If you have Hamachi setup correctly you should see something like this (Make sure there are no errors or warnings on KupoKupoKupo):
    2-Player Sega Online

Section B: Network Setup
  1. Test that both you and another player are correctly inside of the KupoKupoKupo Network. (You should be able to Chat and Ping, there is also a built in Diagnostics.)
  2. If you're still having problems here, try disabling your computer's Firewall.

Section C: Fusion Sega Setup
  1. Unless you've already done this, Download the zip package from the link above and extract the files.
  2. Go into the Sega folder and run Fusion.exe.
  3. Players must load a game file from File => Load *Game*
  4. That should bring up a search box to find the chosen game, there is a Games folder inside of the Sega folder.
  5. For 2-Player: File - Netplay - Join Netplay Game - Join on the name of the computer shown on Hamachi (Section A, in my example the computer is R2D2).

Section D: More Games
  1. Click Here after you have it working to download any & all additional Sega games.
  2. Save any downloaded games from the above website into your same Sega => Games folder and play them via your Fusion.exe.

Free Sega Online 2-Player

Enjoy! Thanks for reading!


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Reasons I Love Google:

Google.com / SEO / Chrome / Android / Angular-CLI / Angular CDK / Angular Material / Gmail / YouTube / Google Home / Chromecast



The Best Angular Development Websites



What sites are your favorite?

Why do you love/hate Google?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

I love the Nintendo Switch and BOTW!


Category
Video Games
Sub Category
Nintendo Switch
Last Updated
11/1/2019

I love the Nintendo Switch!

Games So Far:

  1. Zelda: Breath of the Wild + DLC Bundle
  2. Untitled Goose Game

What game should I get next?
What is your favorite game?

My Switch user nickname is Zero.


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Type up my 3 page cheatsheets from Joe Eames.

Unit Testing with Angular



What Unit Testing tools are your favorite?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


how to setup debug messges dotnet core production error page etc usually missing .well-known doesnt get deployed?, link to the other blog how can i fix this? add stdout in the webconfig

// Debug // Error Messages!!! env.EnvironmentName = EnvironmentName.Development; //if (env.IsDevelopment()) //{ app.UseDeveloperExceptionPage(); app.UseBrowserLink(); //} //else //{ // app.UseExceptionHandler("/Error"); //}
// Debug // Error Messages!!! var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseSetting("detailedErrors", "true")

What problems are you having today??
Maybe I can help.

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Azure DevOps and Automation


Category
Cloud Computing Services
Sub Category
Azure
Last Updated
6/26/2019

Azure DevOps and Automation

How I setup a FREE Automated Pipeline with Smoke Tests!

Applications Used: GitHub, Azure Pipelines, Slack and Monkey Test It for the Smoke Test.

First of all, here are the application integrations (you really only need the first integration and then any Slack notifications you would want.)
GitHub -> Azure Pipelines
GitHub -> Slack
Azure Pipelines -> Slack
MonkeyTest.it -> Slack

With all of those integrations you should be able to get feedback on every step into a Slack channel.
You will also notice that the GitHub -> Azure Pipelines integration will add an azure-pipelines.yml to the root folder of the project. This is the file that I will use to wire up Monkey Test It.

  1. Log into your Monkey Test It dashboard.
  2. Get your API key and an example of how to use it.
  3. Log into Azure.
  4. Here you can use the Pipeline Editor to update your yml file.
  5. You can use this or a Post Deployment Script to kick off the Monkey Test It API.

There are now also settings on the Website Deployment page in Visual Studio to configure a Continuous Delivery pipeline!

Other Azure DevOps and Automation Links


Do you prefer Azure or AWS?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Windows VS macOS VS Linux (Free)


Category
Website Development
Sub Category
Operating Systems
Last Updated
5/26/2019

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Apple Vs Linux Vs Windows Linux is Awesome Bash Ubuntu sudo Mint Updates Free / Easy install and partitioning


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Mario Shell: Custom PowerShell Console


Category
Automation
Sub Category
PowerShell
Last Updated
5/26/2019

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


https://github.com/JBoothUA/mario-shell Mario Shell CLI Cheatsheet Git Angular React Dotnet PowerShell


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

I wanted to share a simple and free method to add SSL to your website, so that it runs under HTTPS (HTTP Secure). This is done for security reasons and will also give your site a boost on search engines. First, you will go to SSL for Free. This is a great site to create and manage your SSL certificates.
To verify your site, you can go to Manual Verification and download a text file to a .well-known/acme-challenge folder on your site.
SSL for Free After clicking the new file to verify the site, it will allow you to download a trusted SSL certificate for free and you will also get a private.key. SSL Files
  • If you're having problems hitting the verification file, you might have to adjust the permissions on the .well-known folder or files.
  • If you're using .NET Core and still having problems, try this code in Startup.cs in the void Configure function:
// SSL app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot/.well-known")), RequestPath = new PathString("/.well-known"), ServeUnknownFileTypes = true // serve extensionless file });

Another helpful trick I learned is to add a web.config file into the "acme-challenge" folder with the following contents:

<?xml version="1.0" encoding="UTF-8" ?> <configuration> <system.webServer> <staticContent> <clear /> <mimeMap fileExtension="." mimeType="*/*" /> </staticContent> </system.webServer> </configuration>

Finally, with .NET Core deployments, I have found that there can be an issue deploying the .well-known directory, so I found some additional code for the .csproj file to help with those issues:

<ItemGroup> <Content Include="wwwroot\.well-known\**" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes)" /> </ItemGroup>

If you're running on IIS, there is one additional step in order to convert these files to a .pfx file. For this I recommend using this SSL converter site. SSL Converter
Now you will have a .pfx file with a private key. On Windows, you can just double click the file to add it to your local machine's certificate store. Now in IIS, when you bind your site to port 443, your new certificate will appear in the SSL certificate drop down list!

You can read more about my IIS bindings strategy here.

I'd like to look into a way to automate renewing of certificates!
What sites and tools do you use?

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Intro to using Git and GitHub for Development


Category
Website Development
Sub Category
GitHub
Last Updated
2/28/2019
This article will walk through making your first coding changes to a GitHub project.
  • As a prerequisite you must be invited to the Matrix Tools, LLC organization on GitHub.com.
  • You will sign up to GitHub using your @matrix.tools email address.
  • After you create a user, you must ask for permissions to be a Collaborator to the GitHub project.
Git is an incredibly popular technology for keeping up with code projects or "repositories" and is a great skill to have on a resume. GitHub is the public website for Git repositories, that was recently acquired by Microsoft.
There are many ways to access a Git repository, I prefer using the command line, I even have a custom Mario Shell command line, but for brand new developers I would recommend downloading Git (from here) as well as downloading Visual Studio Code. Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop, and it also automatically integrates with Git.

After downloading Visual Studio Code, run the following commands (with your user information) from your command prompt to authenticate Git on your machine:
git config --global user.name "John-Doe" git config --global user.email john@matrix.tools

Then, copy this GitHub web URL that points to the Matrix Tools, LLC "new-developers" project.

https://github.com/MatrixToolsLLC/new-developers.git

Now open up Visual Studio Code and press Shift + Ctrl + P to open up the Command Palette.
Here you will run the Git Clone command.
Visual Studio Code
And then paste in the GitHub web URL.
Git Clone
It will then ask you to select a folder on your computer to add the code files, I usually use something like C:\Dev
It should then prompt you to open the project: Repo Prompt

Now we have everything we need to be able to code and commit changes to the project!!


Use the Visual Studio Code Explorer to go to the /website/index.html file to find your first small assignment.
HTML Assignment

Notice after you make changes to the index.html file, you should see a (1) over the Source Control icon, on the far left side of Visual Studio Code.

This indicates that you have modified 1 file. Now click on the Source Control icon.


Then you will click on the "Commit" checkmark button in order to update the file to GitHub.

It will then ask you to commit the files and add a commit message.

After that, there is just one more button to press to do the "Push" to GitHub.

On the very bottom left of Visual Studio Code you should now see a 1 next to an Up Arrow.

It will then prompt you for your GitHub username and password, and then you're done!


  • If you see the error: "Permission to MatrixToolsLLC/new-developers.git denied" you will need to remind me to add you as a Collaborator to the GitHub project.

You should now verify / test that everything worked as expected.

  1. The "1 next to an Up Arrow" should now have disappeared from the the bottom left of Visual Studio Code.
  2. Go to the index.html file on GitHub here, and verify your changes were pushed.
  3. Open index.html in a browser on your machine and verify it looks correct.
    • On my machine this is: C:\Dev\new-developers\website\index.html
  4. Now you're ready to roll and start contributing to coding projects!!
  5. Going forward you should be able to make changes, commit, and push all from within Visual Studio Code
  6. Let me know that you're completed or if you have any issues!
Thanks!

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

This is an easy tutorial explaining how to create a custom email address or alias.
First, you will need an existing Gmail account and you will need a method of forwarding emails to that address.
For example, I use a great site called Namesilo.com to register domains.
It has an Email Forwarding feature that allows me to chose any email for my domain and forward it to any Gmail account.
(In other words, the redyoshi.com account can forward any email *@redyoshi.com to my current Gmail inbox, or any other existing inbox.)
Namesilo.com
After your domain manager sets this up you should run a test by sending an email to your new address and verify that it shows up in your inbox.

Now you can receive emails from that address, but that's only half of the battle, we still need to be able to send emails from that address.

To do this in Gmail, as a pre-requirement, setup an extra security feature called 2-step authentication.
Click here to enroll in Google 2-Step Verification
2-step Authentication
  • First, you'll need to create and copy/save an "App password" from this link.
  • Then you'll go to your Gmail settings - Accounts and Import - Send mail as - Add another email address.
  • For the SMTP server use: smtp.gmail.com
  • The Username is your Gmail email address, but instead of your Gmail password, use the new "App password" that you saved.
  • If you're still having problems logging into your Gmail account on this step, you probably need to make sure 2-step authentication is activated.

And you're done! Now you should be able to send and receive emails from your new address.
Just for a reference, I got this information from this support answer. I will also show the answer below, however, the support answer fails to mention the very important trick about the "App password".
Google Alias You can also reach out to Matrix Tools and they can do all of this for you, or if you have any questions just contact them at contact@matrix.tools

Finally, by going to Gmail's settings, I recommed adding a custom signature for any new alias.
At Matrix Tools, we use the following template to ensure a consistent signature:

-------
{Name}, {Position}
Matrix Tools, LLC
www.matrix.tools
[IMAGE - https://www.matrix.tools/iamge/seo.gif]

(Using Bold Text and Small Image)
Gmail Custom Signature


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

SEO Breakdown

  • 19% Content relevance
  • 18% Backlinks and linking domains
  • 14% Link authority
  • 12% Mobile friendliness
  • 11% Click-through rate
  • 9% Link anchor text and its diversity
  • 7% Social signals
  • 7% Page speed
  • 3% Content length


The Best SEO Tools



The Best SEO Audit Sites



What SEO Tools are your favorite?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

https://www.matrix.tools check them out they are great! Competive Advantages. Mission statement, core values Tracking statistics on page hits and google tracking / google webmasters SEO + SSL + SSM packages available. //jeb 1) START A SMALL BUSINESS!!!!!!! GET YOUR LLC! Our LLC cost $344 Matrix Tools used Swyft Filings.

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Microsoft: The Best Tools and Resources


Category
Website Development
Sub Category
.NET
Last Updated
1/26/2019

Reasons I Love Microsoft:

Windows / Azure / .NET Core / C# / Visual Studio / GitHub / SQL Server



The Best Microsoft Development Websites



What sites are your favorite?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

The following is my strategy for Website IIS bindings.

There are basically 4 different addresses that all point to your website. You have an http and an https, as well as a www. and a non-www. version. You should be using https for security and SEO reasons (you can read more about how to setup SSL for free here), and then you will have to pick if you prefer the www. or non-www. version as your main address. I use "https://www." for all my sites, which means that the other 3 addresses should all point to that one. This is accomplished via IIS (Internet Information Services) bindings.

IIS bindings are used to bind a URL address to a website folder that exists on the machine. This is how the machine knows what files to serve to the user when they visit your URL.

Below you will see IIS Site Bindings that enure all traffic to "https://www.redyoshi.com" is served the correct files for the RED Yoshi site.

IIS Site Bindings
"Require Server Name Indication" if you have multiple sites using SSL on your server.

The "Basic Settings" dialog box controls the location of those files.

IIS Site Settings

Now we need to setup another IIS binding for the other 3 addresses and have it redirect to our https version.

Example:
IIS Site Bindings 301

Right click on Sites in IIS and click Add Website...

I will call this one "RedYoshiHttp301", and instead of pointing to the actual files, I will point to any other location. This location will be used to store the configuration.

(I like to create an 301 folder in the website for this.)

IIS Add Website

Now that RedYoshiHttp301 exists we will setup 301 Redirects for it, in order to redirect to the https version.

Click on the "HTTP Redirect" feature in IIS and setup a 301 like this:

IIS HTTP Redirect

Now click on the "URL Rewrite" for this new site and add 3 rules to improve SEO.

The 3 rules keep everything consistent https address, lowercase, and without the trailing / in the URL.

IIS URL Rewrite

That's it, you're done!

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

TODO!!!!!

The Best Marketing and Design Tools and Links


The Best Marketing and Design Tools and Links



What Marketing and Design Links and Tools are your favorite?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

SEO Case Study: SEO Rankings Jumps

Advanced SEO Tricks for Matrix Tools

Difficulty Level: Hard


Easy Keyword ()

Effect in Ranking After 1 Week: N/A => N/A


Difficult Keyword ()

Effect in Ranking After 1 Week: N/A => N/A


Hello Everyone,
In hopes to master/improve my processes, I plan on real-time documenting the exact steps it takes to reach the #1 Ranking on Google!
Wish me luck!
-Jesse Booth



Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

SEO Case Study: From #20 To #1

Advanced On-Page SEO

Difficulty Level: Hard


Easy Keyword (Home Reapirs in Huntsville, AL)

Effect in Ranking After 1 Week: 15 => N/A


Difficult Keyword (painters in Huntsville, AL)

Effect in Ranking After 1 Week: 47 => N/A

New Requested Keywords

Kitchens, Bathrooms, Paint, Flooring, Design


Hello Everyone,
In hopes to master/improve my processes, I plan on real-time documenting the exact steps it takes to reach the #1 Ranking on Google!
Wish me luck!
-Jesse Booth


This will be an advanced case study for an awesome Home Repair / Home Painting / Home Flooring company based in Huntsville, Alabama: Patnaik & Co.


  • Ubersuggest - Traffic Analyzer
    • 7 keywords rank from 11 - 50
    • Home Repairs in Huntsville, AL - 50 searches/month - Position = 15
    • Painters in Huntsville, AL - 260 searches/month - Position = 47
  • Ubersuggest - Site Audit
    • On-Page SEO Score = 84 (Great)
    • Backlinks = 99 (Great)
    • Crawled Pages with Issues = 3
    • Critical Errors = 2 (The Photo Gallery and Contact page have low word counts.)
    • Warnings = 4 (Work on URLs https://www.patnaikco.com/homepainthuntsville/homerepair)
  • Nibbler
    • Overall = 8.0
    • Update it more to add "freshness"
    • Set a unique open graph URL on every page so that each page can collect its own like count.
    • Click Here link has a title, doesn't need one.
    • Link Building and Social Media

Steps Taken:

  1. Added SSL certificate
  2. Added

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

COMING SOON! Hit the Heart Button if you want me to finish this blog next!


Google Webmaster 101 How to submit a new site or updates Google Console Google Analytics


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [0]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

The Best Development Blogs



What sites are your favorite?


Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)

Introducing RED Yoshi by Matrix Tools


Category
Digital Marketing
Sub Category
Matrix Tools
Last Updated
1/7/2016
Hello,
Jesse Booth here (jesse@matrix.tools)

I hope this blog will serve as a way to share some of the BEST/FREE Business and Digital Marketing tools and strategies, most of which you've probably never even heard of!



What topics are you interested in talking about?
What are you currently working on?

Thanks for stopping by!
Check out my portfolio site:
Jesse Booth Info

Or the company that I Co-Founded:
Matrix Tools, LLC

Permanent Link
If this article helped you, or you have any thoughts on how to do this better, please click the Like button and/or leave a comment below.

Likes: [1]

Comments: [0]






(if you'd like us to reply and/or show your gravatar image)