Rambles or Sage advice – you decide.

Market Prediction for 2020

My prediction for 2020 is 2.7% GDP, Dow 30,000
There, I’ve made my prediction.

Now some folks are calling for a recession based on history. Stating that no way can the market keep going up.

  • when looking over any 40yr period you can expect a 7-8% return
  • longest bull market prior to our current one was 7yr (we are in an 11yr bull market)
  • history assumes you are operating in the same model going forward – we are not

What’s different?

  1. Innovation speed has muted inflation keeping prices at bay longer
  2. Fundamental reduction in red-tape to create and run businesses
  3. Dramatic tax reduction for businesses has fostered massive reinvestment
  4. New trade deals with our top 3 trading partners

Companies are now operating with far less overhead in the USA and more speed.  It’s a fundamental change that has spurred over 1 Trillion in investments brought back from abroad by US companies and 11 Trillion in wealth appreciation with massive non-US company’s investments as well.  Simply put we are the best game in town and operating at a new level.

The fundamental change is not a cyclical one.  Its permanent as long as the 4 points stay in effect.

So bottom line history is not a predictor when there is fundamental change – you need to factor in the 4 fundamental changes to that cyclical pattern. 

Watch out for pundits

Watch out for mainstream media or folks who discount these changes as temporary. Many mainstream media called for a temporary “sugar high” from the tax cuts that would “wear off in 1-2yrs after which we get a recession. Many mainstream media called for a recession in Nov, Dec 2018 based on yield curve inversions.

Its not a game – they want a recession, a correction, an economic failure so that can get back into power and push big govt initiatives.

“Repeat a lie often enough and it will believed?”
The quote is generally attributed to Dr. Paul Joseph Goebbels, who was Adolf Hitler’s Propaganda Minister in Nazi Germany.

There is a proven psychology behind this.  In general it takes 7 recitals to lay a permanent memory trace. Your brain physically wires itself for this “memory” and over time it seeps into long term. After a while you can’t help but believe it as you have a deep seated rut – very much like an addiction to these fake stories.

Lie 1 – Trump is a racist. 
Media spews this as a basis for everything knowing full well that everyone knows this.  Trump is not a racist.  He never has been one and his history proves it, however many people have been wired to believe this.

Lie 2 – If Trump got elected the Market would tank. 
The market tanked on the night Trump was elected because a lot of folks believed in Hillary and the pundits that a Trump win would be bad for the country.
Dow futures plummeted nearly 900 points at one point as investors expressed fear but recovered and went up the next day.

Lie 3 – Yield curve inversion
2018 Christmas the media went apoplectic over the yield curve inversion.
The market tanked again.  As the media spewed a recession is coming. 
This happened because the Fed raised lending rates too fast and too much in comparison to the world’s economy that was going negative. Massive cash flows into US Bonds caused a yield inversion that had nothing to do with our economy other than we were the only good safe haven.

This technique is being employed by our mainstream media (including Fox) to discredit Trump or credit Trump on the economy. 

Why the economy? #1 reason why people vote for someone is how well they believe they will do under the various candidates.

You have a choice in the next election
Socialist free stuff that bankrupts our already bankrupt country or
Capitalist work you ass off to better your lot in life while we still are bankrupt due to social programs

Capitalism has improved peoples lot in life throughout history. Socialism has and continues to destroy it. Why? The simple fact is that government reallocation of wealth has no vested interest except corruption on being efficient or effective.

The simple fact is that government reallocation of wealth has no vested interest except corruption on being efficient or effective.

Reposted from https://valoremreply.com/post/creatingapowershellmodule/

PowerShell is a great tool for managing your Azure environment via script. This article walks you step-by-step to create PowerShell Modules from a simple script to moving VMs, creating Azure Custom Roles, installing your Module and then sharing it on the PowerShell Gallery (PSGallery).

For managing your Azure environment via script, PowerShell is simply the best tool for several reasons. It gets updates and new commandlets for new Azure features very quickly, typically first. Its cross platform running on Linux, Windows, Azure’s Cloud Shell and macOS. It’s easy to learn. It supports a full programming model and it has a large community of support.

One of the advanced concepts of PowerShell is the ability to create a PowerShell module. PowerShell modules allow you to package and distribute commandlets easily. You can even make them globally available via the PowerShell Gallery which has an extensive library baked into PowerShell for finding new modules.

This article will help you in understanding how and why to create a PowerShell module.

Finding Your Why

As is the case with most new initiatives, it is important to ask why. What are your goals and potential outcomes? Do you really need it? PowerShell scripts (*.ps1) can be loaded as modules by “dot sourcing” them. If you are the only user of the commandlets or the commandlets are only useful for a specific use case, you may not need to go through the process of learning how to create modules.

The subsequent stages in this article describe a typical journey when creating your first PowerShell Module.

Create a Simple Script

Let’s take a scenario where you just need a script that will spin down all the virtual machines in a specified resource group. You heard PowerShell was a great language for managing Azure, so you start researching how to do this in PowerShell. Very quickly via search or tutorials you find out PowerShell has a lot of commandlets that make this task easier as follows:

Here is an example of a simple PowerShell script for spinning down VMs:

# Get a list of the virtual machines (VMs) in the resource group
$rg = 'YourResourceGroup-rg'
$vms = Get-AzResource -ResourceType 'Microsoft.Compute/virtualMachines' `
-ResourceGroupName $rg
# Loop through the list of VMs and shut them down
foreach ($vm in $vms) {
$vminfo = Get-AzVM -name $vm.ResourceName -Status;
Stop-AzVM -ResourceGroupName $rg -Name $vminfo.Name -confirm:$false `
-Force
}


Pretty cool. Very straight forward, only uses 3 commandlets – Get-AzResource, Get-AzVM and Stop-AzVM which can all be found in the Az module.

Move VMs to another region

Now let’s look at a complex scenario that comes up in Azure. A lot of companies start off moving a few non-critical systems to Azure across a couple of teams. They are successful but when they start the process of moving the company to Azure they realize they moved systems to different regions and need to consolidated the systems to one region for latency purposes.

Now you need to move a Virtual Machine (VM) from one region to another. It turns out this isn’t just an Azure portal task. In the Azure Portal you can move VMs across resource groups in a subscription but the VM is still in the same region. To move to another region, you need to deconstruct the VM, move the OS and Data disks then reconstruct the VM ensuring it will operate as before.

When you think of it – the VM is nothing but configuration meta-data, the key is the location of the disks and the host it runs on. Moving the disks to another region is a long running process so you need to organize your PowerShell into several functions and invoke those functions independently.

The outline of major steps is:

  1. Get a list of VMs
  2. Snapshot each VM’s disks
  3. Save each snapshot VM’s disks to a storage account
  4. Move the disks to the destination region’s storage account
  5. Create VMs from storage account disks

You have two choices: create a separate script for each function or create functions in one PowerShell script and use it like a module. It’s better to keep all these related steps in one script because they are all necessary to accomplish to overall task. Using a single PowerShell script with separate functions is the right way to factor this code.

PowerShell has a naming standard of using an approved verb following by an object. So when naming these functions, we will follow this rule. For the major steps of our script that we will name “Migrate-VMs.ps1” we create the following functions:

  1. Get-VMs – gets a list of VMs for a giving resource group
  2. Invoke-SnapshotVMs – Snapshot each VM’s disks
  3. Save-Snaps – Move Snapshot disks to a storage account
  4. Move-Snaps – Move Snapshot disks to a storage account in a different region
  5. New-VMs – Create VMs from storage account disks

By “dot-sourcing” the PowerShell script it will load the functions just like PowerShell modules and the functions will all execute in your current scope. For our migrate script we will enter the following:

. .\Migrate-VMs.ps1


The first “.” dot followed by a space is the “dot-sourcing” and the second dot is part of the file reference meaning current directory. You now have your commands working just like those wonderful PowerShell module commandlets and can call Get-VMs in your current scope. If you have also followed PowerShell comment based help, you can even use “Get-Help Get-VMs” to get descriptions and examples on the function.

Azure Custom Roles

Another advanced scenario that comes up in Azure is the creation of Custom Roles. As developers we are constantly challenged to deliver on the principle of least privilege access. To help solve this, Azure has a wealth of out-of-the-box roles, however, when you want to lock down specific tasks with a more fine grain authorization, Custom Roles in Azure comes to the rescue!

At the time of this article Azure doesn’t support creating and managing custom roles in the Azure portal except for a small subset of Azure Active Directory roles if you bought Azure Active Directory Premium.

PowerShell supports the ability to manage custom roles via the Az.Resources module and its role based commandlets. However, it takes a fair bit of knowledge to learn how to use them and if you go away from the subject for a while and come back you must relearn the subject and come up to speed again.

So we created a PowerShell script called “Manage-Roles.ps1” which wraps the Az.Resources making it easy to edit custom roles. To make it easy to share these functions (aka commandlets) we have wrapped them into a PowerShell module which allows easier sharing across our company for installing the commandlets. Installed modules also have the benefit of not having to “dot-source” load them every time.

Finally, by publishing our module to the PowerShell Gallery we allow everyone to benefit from the work we have done to make using custom roles easy.

The easiest way to create a PowerShell module is to:

  1. Rename Manage-Roles.ps1 to ManageRoles.psm1
  2. The use the PowerShell command “Import-Module .\ManageRoles.psm1 -verbose”

The Import-Module command works great loading the commandlets but it loads them only for your current session. If you restart the PowerShell session, POOF the commandlets are gone and you will have to reload them every time.

Module naming convention

Note: the naming convention difference between the PowerShell script using verb-hyphen-object and the PowerShell module using no hyphen. This is not a convention written in stone but it’s a good practice. When you write scripts, they typically are created to solve a specific task on an object much like PowerShell commandlets. Therefore, the naming convention verb-object makes sense. Modules do not execute a verb on an object. Modules are a container, a delivery mechanism, for a set of these commandlets that do. Therefore, the naming of PowerShell modules should not follow the commandlet naming convention.

Install-Module

If you enter Get-Help *-Module there is a commandlet called “Install-Module” which looks like it should permanently install the ManageRoles.psm1 file. However installing this will fail with no match. This is because Install-Module only installs NuGet package (*.nupkg) files that it finds in your list of PowerShell repositories. You need to use Publish-Module in order to generate the NuGet package. Here is a quick summary of what I learned creating my first PowerShell module:

Learnings:
  • Import-Module is session based
  • Install-Module makes it available to every session, but it only installs NuGet package files
  • You can install for everyone on the server or just for you
    • Scope AllUsers
      • This will install the module’s files for everyone to
        “C:\Program Files\WindowsPowerShell\Modules\<version>\*”
    • Scope CurrentUser (default)
      • This will install the module’s files just for you to
        “C:\Users\<username>\Documents\WindowsPowerShell\Modules\<version>\*”
  • Publish-Module will help you create a NuGet package file (You may be asking yourself: why didn’t they call it Package-Module? It’s because Package isn’t an approved verb! Publish is)
  • $env:PSModulePath will give you the search order where Install-Module will look for NuGet packages
  • *-PSRepository allows you to manage list of PSRepositories (default is just the PSGallery)

Steps to create a PowerShell module

These steps will register your local folder as a PSRepository and Package your PowerShell module so that Install-Module will find the package and install it. Be sure to replace <user> with your actual username directory.

  1. At the PowerShell prompt enter $env:PSModulePath , you are interested in is the 1st one:The $env:PSModulePath variable holds the locations where PowerShell looks for the installed modules. Example output:
    C:\Users\<user>\Documents\WindowsPowerShell\Modules;
    C:\Program Files\WindowsPowerShell\Modules;
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;
    c:\Users\<user>\.vscode\extensions\ms-vscode.powershell-2019.11.0\modules
  2. CD or Set-Location to this directory
    CD C:\Users\<user>\Documents\WindowsPowerShell\Modules
  3. Add your local folder as a PowerShell Gallery:
    Register-PSRepository -Name LocalModules -SourceLocation
    C:\Users\<user>\Documents\WindowsPowerShell\Modules
    Get-PSRepository # see the result of what you registered

These steps will create the module directory and manifest file:

  1. Mkdir <module name>
    It’s important that the directory name matches the module name (not including the extension “.psm1”).
  2. Copy the PSM1 file to the <module name> directory
  3. Create the manifest (.psd1) file, example:
    New-ModuleManifest -Path .\ManageVMs.psd1
  4. Edit the manifest psd1 file, uncomment and provide values for the following required properties:
    RootModule = ‘<module name>.psm1’ # This points to local PSM1 module
    Description = ‘Your module description should be succinct’
    FunctionsToExport = ‘*’ # This will export all functions as commandlets
  5. If you create new releases you should come back to this file to update the version property.

These steps will create the actual module (NuGet package)

  1. Publish-Module -Name <module name> -Repository LocalModules -Force -Verbose
    This command creates a new file in your directory using the format:
    <module name>.<version>.nupkg
    Example: ManageRoles.1.1.0.nupkg
  2. You have created your first module and are ready to install it with the following commands.
    Install-Module -Name <module name> -Repository LocalModules -Verbose `
    -requiredversion 1.0 -Force -AllowClobber -Scope AllUsers

    Get-Module

    Note: If your new module doesn’t show up – enter the command:
    Import-Module -Name <module name>

PowerShell Gallery (PSGallery)

Now that you have gone through the process of creating a PowerShell module that you can import. If you wish to share this with the world so that others may reuse what you have created, you can publish to the PSGallery. The PSGallery is the default PowerShell location that users find new modules, download them and receive updates.

To do this you will need to sign up for a free account and get your -NuGetApiKey

  1. Navigate to https://www.powershellgallery.com/ and sign-in.
  2. In the upper right click on your sign-in name dropdown and choose ‘API Keys’.
  3. Click ‘Create’, fill in the form and save your key someplace safe so you remember it.

Now that you have an apikey you may publish to the PSGallery just like you published to your LocalModules repository. Example:
Publish-Module -Name ManageRoles -NuGetApiKey ‘ab12cde3fgh45ijk67lmnopq8rs9tuvwxyzabcdefghij0’ -requiredversion 1.1.0 -verbose

This article is a primer for successfully creating PowerShell modules. We encourage you to leave your feedback and comments on any areas you feel are inaccurate or alternative approaches you’ve discovered.

Happy PowerShelling!

You all know the game that is going on … right? If not read some more …

Round 0 – A little history

  1. Obama administration has prosecuted nine cases of reporters who report unfavorable to him suppressing free speech and increasing his popularity. He targeted and illegally surveilled way more than that.
  2. Obama weaponized the IRS to squash all 401c status for any conservative non-profit
    1. Independent organization put this effect at 7% swing, enough for Obama to beat Romney
  3. Obama and the Cabal win re-election: Cabal =  CIA(Brennan), DIA(Clapper), FBI(Comey), IRS(Lerner) and more
    1. Note: DC is 100% Democrat in favor of BIG GOVERNMENT so they can wield more power over you
  4. Nowhere was this transformation under Obama more apparent than the EPA vs Farmer’s puddles which they declared puddles as federal navigable waterways so they could bend farmers to their will.  FYI – Farmers don’t like Democrats anymore.

Round 1 – Enter the Clintons

So now we have a Cabal of big government people with cushy power and the well funded and established global elite Clinton’s crime organization ready to ascend Hillary to the throne as the first Female President!

  1. Hillary and company strategically target Trump to win the Republican primary because he is the most beatable
  2. Hillary and DNC / deep state fund a fake Russian Dossier on Trump in order to win votes by smearing him
  3. Hillary looses to Trump and the deep state invokes the contingency plan
  4. Using the fake Dossier they appoint Robert Muller to head an investigation
    1. This investigation on a fake dossier is a ruse
    2. Purpose of this investigation is two fold
      1. Bring down the Trump network by investigating and subpoena anyone in his circle
      2. Dig into every orifice of Trump to find any incriminating evidence (its even written in the scope of the Muller appointment “anything that arises out of” )
  5. Muller testifies in Congress and apparently displays early onset of Alzheimer’s can’t recall anything in his report.  He doesn’t even know the source of the dossier is Fusion GPS.   The whole thing blows up, Democrats are pissed and 2.5years of Mainstream fake news reporting goes to hell and a hand-basket.

Round 2 – deep state to the rescue

  1. CIA change the whistle-blower requirements allowing hearsay (who did this?).
  2. The deep state and Clinton lawyers working with Schiff create the hearsay whistle-blower report and file it
  3. Report filed thru an IG who’s complicity gives it credence on pure hearsay (What? Hearsay isn’t admissible in court)
  4. House leader Nancy Pelosi commissions Schiff (not Nadler) to start a House Impeachment inquiry
    1. This violates precedence’s, the spirit of impeachment and due process clauses of the constitution

Article I § 2 of the United States Constitution gives the House of Representatives the sole power to impeach.
The House has the sole power, not Nancy Pelosi or Adam Schiff

Round 3..n – Nancy made a comment that she has a whole list of stuff they will keep using to impeach Trump

Did you know that there is a deep state EPA official following President Trump around with a methane meter to make sure his farts are within EPA guidelines?  Ok, I’m only kidding on that but this whole thing is as absurd as the statement I just made up.

With Bill Clinton we know what the charge was. Sexual Harassment based on evidence of a sperm soiled dress and an eye witness of the person who was sexually harassed.  Pretty cut and dry evidence vs. he bald face lying to the American people.
Simple Question: Don’t Google or research this, just answer it, if you have too search for this then you will have proved my point.

What is the criminal charge President Trump is being impeached on and what evidence is that based on?

Bottom Line: Ask Nancy Pelosi thru your representatives to pass USMCA and stop using it as collateral to get House Reps to vote yes on impeachment.

Lets get on with Making this Country Great.

I listened to Obama and fell in love with his message on the debt limit – his actions in the 1st term did not deliver at all. In fact we have gone from 9trillion in his speech to 19trillion. 900billion dollar wasteful infrastructure program that went to cronies as soon as he took office fly’s in the face of many stump speeches on govt waste. I drove thru the badlands where a recently paved road was being ripped up to put in another paved road with funds from Obama. Obama never ran a business, however he has run many businesses in the USA into the ground with over regulation, EPA gone wild (btw I love the environment), Won’t support the pipeline which will save the environment (train derailments flood rivers with oil) from a Warren Buffet owned rail line. Obama’s famous line tells the story – “If you’ve got a business, you didn’t build that”, this really cemented how out of touch he really is.

Obama’s oath to uphold the constitution and failure to do so by releasing Islamist extremist who have killed tens of thousands back to their countries so they can kill tens of thousands more puts American lives at risk which he swore to defend. Giving 150billion to a nuclear power that has sworn to destroy the USA puts American lives at risk. Giving the Muslim brotherhood a known terrorist organization $2billion puts American lives at risk.

Hillary is a liar, deceitful, corrupt, career establishment politician. She belongs in jail on many counts. Watch the movie 13hours and see our American patriots be left to die by our State department who didn’t lift a finger. Then they blame it on a video and tell the mother of a fallen soldier this lie? That to me is unforgivable.

Has Bernie Sanders every run a business?

I don’t want a politician in office. I don’t want rhetoric. I don’t want promises. I don’t want give-a-ways.

I want someone in office that will run the US govt like a business.
I want someone who will allow American companies to bring 3-4trillion into this country from overseas without taxing it. We will get taxes from the residual jobs it creates.
I want someone who will negotiate with Iran, Mexico, China and stand up for America and not be a politician pussy but rather a businessmen.
I want someone who balances the need for a clean environment with the need for a prosperous America that can afford to pay for a clean environment.

I don’t want a lawyer, a politician – I don’t want someone’s who’s brain is irrevocably fixated on what wins in the court of popular opinion but rather someone’s who’s brain works on the balance sheet of every American. Someone who will work to improve our lot in life thru good business, hard work not government give-a-ways like $2b worth of free cell phones.

Kennedy Democrat
I grew up a Kennedy democrat in Boston. In New England the Kennedy’s were heroes and the pride of Massachusetts. John Kennedy’s presidency brought prosperity to the Boston area with growth of University research, Tech and Military companies like MIT, Raytheon, Digital Equipment, Lotus Development, Wang, Xerox, Norden, Kodak, Kollsman.

I was Brainwashed
I severely disliked the evil money grubbing corporate beholding republicans. This was reaffirmed by my Schools, University, friends, TV etc. I was brainwashed. Since I was young and I didn’t know many of the principles I know today I can see some of the fallacies that clouded my view. However mostly is was character attacks on Republicans more so than Policies or stances on issues that triggered my outrage. Republicans were the bad guys period.

Democratic Falsehoods
These “beliefs” are all FAKE / LIES.
. Government is the solution (education, health, workers, pay equality, environment, military)
. Business is only in it for profit and to make the top echelon rich
. Unions fight for the little guy
. Killing babies late term is OK
. Income equality is solved by increasing minimum wage

My parents much to my surprise switched from Democrat to Republicans during either the Reagan or Bush era. For the next two decades we would fight over many issues and I would never give an inch. Finally Senator Obama came along. What a wonderful smooth talking youthful guy. I loved everything Senator Obama said and proudly voted for him vs. that evil John

We were sold the fact that Democrats care about us, when all they really care about is power. Nancy Peolsi’s fake 3yrs effort to impeach President Trump has proven this.

How the heck can you say that Tariffs are Awesome. I mean come on man, they are a tax on all the goods coming into USA which we all have to pay, right?

Wrong

A little History – The first 100 years of the United States our federal govt was funded by tariffs alone. No income tax, no sales tax, just tariffs. It spurred the creation of the greatest wealth in the history of the world.

What really happens – You have to think globally and put on the mindset of a corporation. Say you are sourcing jeans from China, adding sequences and embroidery to them and selling them for $100 markup. Total price $110. Now 25% tariffs hit and your $10 China jeans cost ??? $10. Wait you say … that math is totally wrong 10+25% = 12.50 right?

Supplier Pays – Well yes if your supplier keeps their price at $10. However if they drop the price by 20% to $8 + 25% = $10. Now you don’t have to second source. So in this scenario China absorbs the tariff. Why? Why would a Chinese supplier absorb the cost? Simple – they don’t want your business to go to Vietnam, India, Cambodia etc. Another reason – the Chinese govt decides the industry is strategic and subsidizes them.

Shared Costs – If the supplier has no real competition they may pass the cost on – you see this in specialized discrete manufacturing like with Apple iPhone. These companies don’t have commodities and second sourcing has a big switching cost. They may pass most if not all of the cost on. The more they pass the cost on the more incentive corporations have to develop that second source. In the case of the Jeans the cost may go from $10 to $11 making the jeans final cost got from $110 to $111 unless the company chooses to eat the $1 in lost profitability. Bottom line these costs in most cases do not translate into the same percentage of price increases to consumers.

more later

Wi-Fi bulbs can be expensive – $40/bulb for 80w color equivalent LED.  While shopping at Costco I saw FEIT color 60w equivilent LED wi-fi bulbs that are Alexa/Google compatible 2 for $30 or $15/bulb.  WOW

When I got home and tore into the package I found they were only 2.4GHz which I didn’t think would be an issue … I was wrong.  Wi-Fi bands have become passe and my two devices iPhone or iPad and ORBI tri-band router do not have a way to specify the band.  I figured … so what – lets try anyway.  If the bulb is on 2.4GHz and my phone is on 5GHz it should still see it since they are on the same router … right?  WRONG.  The FEIT electric app on the iPhone does not see the bulbs.  So how do you fix it? 

  1. Configure the ORBI 2.4GHz SSID to have a separate name – NOT POSSIBLE (dang)
  2. Configure the iPhone to only use the 2.4GHz radio – NOT POSSIBLE (double dang)
  3. Read tons of blogs/customer support sites and try something else

Solution =Drop the ORBI 5GHz radio power to 25%

Ok after reading a lot I decided to try setting the power on the 5GHz for ORBI to 25%.  Advanced tab, advanced setup, wireless settings, first section at bottom is a dropdown. I then went to the ORBI admin website http://192.168.1.1 and viewed the devices – found my iPhone and saw it was connected on 2.4GHz vs 5GHz.  This allowed me to configure the FEIT electric 2.4GHz wifi bulbs.  After I was done setting up all the bulbs I put the 5GHz back to full power 100%

FYI – I couldn’t find the bulbs on Costco.com web site but they were in the physical store.  Here is a link to the same bulb on amazon.