tag:blogger.com,1999:blog-54308662024-03-07T13:26:37.393-05:00Peter Bromberg's UnBlogPete's comments on .NET, politics, humor, and everything else wrong in the world.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.comBlogger730125tag:blogger.com,1999:blog-5430866.post-5962128323082781672023-09-29T12:23:00.000-05:002023-09-29T12:23:34.002-05:00<p> <span style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; white-space-collapse: preserve;">Honesty: The best policy</span></p><p data-sourcepos="3:1-3:273" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Honesty is the act of being truthful and sincere. It is a fundamental value that is essential for building and maintaining strong relationships, both personal and professional. When we are honest with others, we show them that we respect them and that we value their trust.</p><p data-sourcepos="5:1-5:215" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Honesty is also important for our own well-being. When we are honest with ourselves, we can live our lives with integrity and authenticity. We can also make better decisions, because we are not clouded by deception.</p><p data-sourcepos="7:1-7:263" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">There are many benefits to being honest. Honest people are more likely to be trusted and respected by others. They are also more likely to be successful in their careers and personal relationships. Honesty can also lead to a greater sense of peace and well-being.</p><p data-sourcepos="9:1-9:64" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Here are a few tips for being more honest in your everyday life:</p><ul data-sourcepos="11:1-16:0" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 4px 0px; padding-inline-start: 36px;"><li data-sourcepos="11:1-11:40" style="margin-bottom: 10px;">Be truthful in your words and actions.</li><li data-sourcepos="12:1-12:32" style="margin-bottom: 10px;">Be sincere in your intentions.</li><li data-sourcepos="13:1-13:59" style="margin-bottom: 10px;">Be honest with yourself about your thoughts and feelings.</li><li data-sourcepos="14:1-14:51" style="margin-bottom: 10px;">Be honest with others, even when it is difficult.</li><li data-sourcepos="15:1-16:0" style="margin-bottom: 10px;">Be honest even when it means admitting that you are wrong.</li></ul><p data-sourcepos="17:1-17:170" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Honesty is a virtue that is worth cultivating. It can make our lives better in many ways. So, strive to be honest with yourself and with others, even when it is not easy.</p><p data-sourcepos="19:1-19:55" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Here are some examples of honesty in everyday life:</p><ul data-sourcepos="21:1-26:0" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 4px 0px; padding-inline-start: 36px;"><li data-sourcepos="21:1-21:98" style="margin-bottom: 10px;">Telling the truth about your grades to your parents, even if you know they will be disappointed.</li><li data-sourcepos="22:1-22:85" style="margin-bottom: 10px;">Returning a lost wallet to its owner, even though there is a reward for finding it.</li><li data-sourcepos="23:1-23:96" style="margin-bottom: 10px;">Admitting to your boss that you made a mistake, even though you know you might get in trouble.</li><li data-sourcepos="24:1-24:111" style="margin-bottom: 10px;">Telling your friend that you don't like their new haircut, even though you know it might hurt their feelings.</li><li data-sourcepos="25:1-26:0" style="margin-bottom: 10px;">Standing up for what you believe in, even though it means going against the crowd.</li></ul><p data-sourcepos="27:1-27:67" style="background-color: white; color: #1f1f1f; font-family: "Google Sans", "Helvetica Neue", sans-serif; font-size: 16px; margin: 24px 0px; white-space-collapse: preserve; word-break: break-word;">Honesty is not always easy, but it is always the right thing to do.</p>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-71243531476906491252022-10-16T16:14:00.005-05:002022-10-16T16:19:45.335-05:00Visual Studio 2022 performance tips<p> </p><main data-bi-name="content" dir="ltr" id="main" lang="en-us" role="main" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; outline-color: inherit; position: relative;"><div class="content" style="box-sizing: inherit; outline-color: inherit;"><h1 id="visual-studio-performance-tips-and-tricks" style="box-sizing: inherit; font-size: max(1.875rem, min(22.1053px + 1.64474vw, 2.5rem)); line-height: 1.3; margin: -10px 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px; word-break: break-word;"><span style="font-size: 16px; font-weight: normal;">Visual Studio performance recommendations are intended for low memory situations, which may occur in rare cases. In these situations, you can optimize certain Visual Studio features that you may not be using. </span></h1><div class="alert is-info" style="background-color: var(--theme-info-background); border-radius: 0.375rem; border: 1px solid var(--theme-info-background-glow-high-contrast); box-sizing: inherit; color: var(--theme-text); font-size: 1rem; margin-top: 1rem; outline-color: var(--theme-text); overflow-wrap: break-word; padding: 1rem; position: relative; transition: height 0.5s ease-in 0s, opacity 0.5s ease-in 0s; word-break: break-word;"><p class="alert-title" style="box-sizing: inherit; color: var(--theme-info-dark); font-weight: 600; margin: 0px; max-width: 100%; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="font-size: max(1.59375rem, min(18.7895px + 1.39803vw, 2.125rem));">Use a 64-bit OS</span></p></div><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">If you upgrade your system from a 32-bit version of Windows to a 64-bit version, you expand the amount of virtual memory available to Visual Studio from 2 GB to 4 GB. This enables Visual Studio to handle significantly larger workloads, even though it is 32-bit process.</p><div class="alert is-success" style="background-color: var(--theme-success-background); border-radius: 0.375rem; border: 1px solid var(--theme-success-background-glow-high-contrast); box-sizing: inherit; color: var(--theme-text); font-size: 1rem; margin-top: 1rem; outline-color: var(--theme-text); overflow-wrap: break-word; padding: 1rem; position: relative; transition: height 0.5s ease-in 0s, opacity 0.5s ease-in 0s; word-break: break-word;"><p class="alert-title" style="box-sizing: inherit; color: var(--theme-success-dark); font-weight: 600; margin: 0px; max-width: 100%; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Tip</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; max-width: 100%; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio 2022 on Windows is now a 64-bit application. This means you can open, edit, run, and debug even the biggest and most complex solutions without running out of memory. </p></div><h2 class="heading-anchor" id="disable-automatic-file-restore" style="box-sizing: inherit; font-size: max(1.59375rem, min(18.7895px + 1.39803vw, 2.125rem)); line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="disable-automatic-file-restore" class="anchor-link docon docon-link" href="https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2022#disable-automatic-file-restore" style="-webkit-font-smoothing: antialiased; background-color: rgba(0, 0, 0, 0); border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.38125rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Disable automatic file restore</h2><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio automatically reopens documents that were left open in the previous session. This can prolong the times it takes to load a solution by up to 30% or more, depending on the project type and the documents being opened. Designers like Windows Forms and XAML, and some JavaScript and typescript files, can be slow to open.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio notifies you in a yellow bar when automatic document restore is causing a solution to load significantly slower. You can disable automatic file reopening by following these steps:</p><ol style="box-sizing: inherit; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: decimal; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> to open the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> dialog box.</p></li><li style="box-sizing: inherit; list-style: decimal; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">On the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Projects and Solution</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span> page, deselect <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Reopen documents on solution load</span>.</p></li></ol><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">If you disable automatic file restore, a quick way to navigate to files you want to open is by using one of the Go To commands:</p><ul style="box-sizing: inherit; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">For the general <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To</span> functionality, select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To All</span>, or press <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">T</span>.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Jump to the last edit location in a solution using <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To Last Edit Location</span>, or by pressing <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Shift</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Backspace</span>.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Use <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To Recent File</span> to see a list of recently visited files in a solution. Select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Go To Recent File</span>, or press <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">1</span>, <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">R</span>.</p></li></ul><h2 class="heading-anchor" id="configure-debugging-options" style="box-sizing: inherit; font-size: max(1.59375rem, min(18.7895px + 1.39803vw, 2.125rem)); line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="configure-debugging-options" class="anchor-link docon docon-link" href="https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2022#configure-debugging-options" style="-webkit-font-smoothing: antialiased; background-color: rgba(0, 0, 0, 0); border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.38125rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Configure debugging options</h2><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">If you are typically running low on memory during debugging sessions, you can optimize performance by making one or more configuration changes.</p><ul style="box-sizing: inherit; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Just My Code</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The simplest optimization is to enable the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Just My Code</span> feature, which only loads symbols for your project. Enabling this feature can result in significant memory saving for debugging managed applications (.NET). This option is already enabled by default in some project types.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To enable <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Just My Code</span>, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debugging</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and then select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Just My Code</span>.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Specify symbols to load</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">For native debugging, loading symbol files (<em style="box-sizing: inherit; outline-color: inherit;">.pdb</em>) is expensive in terms of memory resources. You can configure your debugger symbol settings to conserve memory. Typically, you configure the solution to only load modules from your project.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To specify symbol loading, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debugging</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Symbols</span>.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Set the options to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Only specified modules</span> instead of <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All modules</span> and then specify which modules you care to load. While debugging, you can also right-click specific modules in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Modules</span> window to explicitly include a module in the symbol load. (To open the window while debugging, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debug</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Windows</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Modules</span>.)</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="font-weight: 600;">Disable Diagnostic Tools</span></p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">It is recommended that you disable CPU profiling after use. This feature can consume large amounts of resources. Once CPU profiling is enabled, this state is persisted across subsequent debug sessions, so it’s worth explicitly turning it off when done. You may save some resources by disabling the diagnostic tools while debugging if you do not need the provided features.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Diagnostic Tools</span>, start a debugging session, select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debugging</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and then deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Diagnostic Tools while debugging</span> option.</p></li></ul><h2 class="heading-anchor" id="disable-tools-and-extensions" style="box-sizing: inherit; font-size: max(1.59375rem, min(18.7895px + 1.39803vw, 2.125rem)); line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="disable-tools-and-extensions" class="anchor-link docon docon-link" href="https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2022#disable-tools-and-extensions" style="-webkit-font-smoothing: antialiased; background-color: rgba(0, 0, 0, 0); border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.38125rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Disable tools and extensions</h2><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Some tools or extensions can be turned off to improve performance. <span color="var(--theme-text)" style="background-color: var(--theme-success-background); font-size: 1rem;">You can often isolate performance issues by turning off extensions one at a time and rechecking performance.</span></p><h3 class="heading-anchor" id="managed-language-service-roslyn" style="box-sizing: inherit; font-size: max(1.3125rem, min(15.4737px + 1.15132vw, 1.75rem)); line-height: 1.3; margin: 30px 0px 18px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="managed-language-service-roslyn" class="anchor-link docon docon-link" href="https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2022#managed-language-service-roslyn" style="-webkit-font-smoothing: antialiased; background-color: rgba(0, 0, 0, 0); border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.1375rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Managed language service (Roslyn)</h3><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">For information about .NET Compiler Platform ("Roslyn") performance considerations, </p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="font-weight: 600;">Disable CodeLens</span></p><ul style="box-sizing: inherit; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio performs a <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Find All References</span> task on each method as it is displayed. CodeLens provides features such as the inline display of the number of references. The work is performed in a separate process such as <em style="box-sizing: inherit; outline-color: inherit;">ServiceHub.RoslynCodeAnalysisService32</em>. In large solutions, or on resource-constrained systems, this feature can have a significant impact on performance. If you’re experiencing memory issues, for example, when loading a large solution on a 4-GB machine, or high CPU usage for this process, you can disable CodeLens to free up resources.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">CodeLens</span>, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">CodeLens</span>, and deselect the feature.</p><div class="alert is-info" style="background-color: var(--theme-info-background); border-radius: 0.375rem; border: 1px solid var(--theme-info-background-glow-high-contrast); box-sizing: inherit; color: var(--theme-text); font-size: 1rem; margin-top: 1rem; outline-color: var(--theme-text); overflow-wrap: break-word; padding: 1rem; position: relative; transition: height 0.5s ease-in 0s, opacity 0.5s ease-in 0s; word-break: break-word;"><p class="alert-title" style="box-sizing: inherit; color: var(--theme-info-dark); font-weight: 600; margin: 0px; max-width: 100%; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span aria-hidden="true" class="docon docon-status-error-outline" style="-webkit-font-smoothing: antialiased; box-sizing: inherit; direction: ltr; display: inline-block; font-family: docons; font-size: inherit; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; line-height: 16px; outline-color: inherit; speak: none; text-align: center;"></span> Note</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; max-width: 100%; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">CodeLens is available in the Professional and Enterprise editions of Visual Studio.</p></div></li></ul><h3 class="heading-anchor" id="other-tools-and-extensions" style="box-sizing: inherit; font-size: max(1.3125rem, min(15.4737px + 1.15132vw, 1.75rem)); line-height: 1.3; margin: 30px 0px 18px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="other-tools-and-extensions" class="anchor-link docon docon-link" href="https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2022#other-tools-and-extensions" style="-webkit-font-smoothing: antialiased; background-color: rgba(0, 0, 0, 0); border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.1375rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Other tools and extensions</h3><ul style="box-sizing: inherit; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable Extensions</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Extensions are additional software components added to Visual Studio that provide new functionality or extend existing functionality. Extensions can often be a source of memory resource issues. If you’re experiencing memory resource problems, try disabling extensions one at a time to see how it impacts the scenario or workflow.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable extensions, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Extensions</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Manage Extensions</span>, and disable a particular extension.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable map mode</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><b>Msp Mode</b> displays lines of code, in miniature, on the scroll bar. Map mode is enabled by default.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable map mode, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Scroll Bars</span>, and in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Behavior</span> section, deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Use map mode for vertical scroll bar</span> option.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable word wrap</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><b>Word Wrap</b> displays the portion of a long line of code that extends beyond the current width of the code editor window. Word wrap is on by default.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable word wrap for a project that you are currently working on, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Advanced</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Word Wrap</span>. (You can toggle this setting by using the same menu commands.)</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable word wrap for all projects, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Settings</span> section, deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Word wrap</span> option.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable XAML Designer</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The XAML designer is enabled by default, but only consumes resources if you open a <em style="box-sizing: inherit; outline-color: inherit;">.xaml</em> file. If you work with XAML files but do not wish to use the designer functionality, disable this feature to free up some memory.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable XAML Designer, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">XAML Designer</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable XAML Designer</span>, and deselect the option.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Remove workloads</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">You can use the Visual Studio Installer to remove workloads that are no longer used. This action can streamline the startup and runtime cost by skipping packages and assemblies that aren’t needed anymore.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Add untracked files to local .gitignore</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio runs the Git command <code style="background-color: var(--theme-inline-code); border-radius: 3px; box-sizing: inherit; direction: ltr; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; outline-color: inherit; overflow-wrap: break-word; padding: 0.1em 0.2em;">git status</code> with untracked files to provide a seamless experience when you add new files to a repository. When there are a large number of untracked files, <code style="background-color: var(--theme-inline-code); border-radius: 3px; box-sizing: inherit; direction: ltr; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; outline-color: inherit; overflow-wrap: break-word; padding: 0.1em 0.2em;">git status</code> can consume extra memory. To ignore these files and improve performance of <code style="background-color: var(--theme-inline-code); border-radius: 3px; box-sizing: inherit; direction: ltr; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; outline-color: inherit; overflow-wrap: break-word; padding: 0.1em 0.2em;">git status</code>, you can add these files or folders to your local .gitignore file. To access the file, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Git</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Settings</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Git Repository Settings</span>. Then, in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Git files</span> section, click <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Add</span> to create a .gitignore file, or click <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> if you already have one.</p></li><li style="box-sizing: inherit; list-style: disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable commit graph in Git tooling</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"> If you're experiencing delays when you view your Git repository or branch history in Visual Studio, Microsoft has integrated a "commit graph" feature that can help. </p></li></ul><h2 class="heading-anchor" id="force-a-garbage-collection" style="box-sizing: inherit; font-size: max(1.59375rem, min(18.7895px + 1.39803vw, 2.125rem)); line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;">Force a garbage collection</h2><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The CLR uses a garbage collection memory management system. In this system, sometimes memory is used by objects that are no longer needed. This state is temporary; the garbage collector will release this memory based on its performance and resource usage heuristics. You can force the CLR to collect any unused memory by using a hotkey in Visual Studio. If there is a significant amount of garbage waiting for collection and you force a garbage collection, you should see the memory usage of the <em style="box-sizing: inherit; outline-color: inherit;">devenv.exe</em> process drop in <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Task Manager</span>. It’s rarely necessary to use this method. However, after an expensive operation has been completed (such as a full build, debug session, or a solution open event), it can help you determine how much memory is really being used by the process. Because Visual Studio is mixed (managed & native), it’s occasionally possible for the native allocator and the garbage collector to compete for limited memory resources. Under conditions of high memory usage, it may help to force the garbage collector to run.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To force a garbage collection, use the hotkey: <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Alt</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Shift</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">F12</span>, <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Alt</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Shift</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">F12</span> (press it twice).</p></div></main><section class="feedback-section position-relative" data-bi-name="feedback-section" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; outline-color: inherit; position: relative;"></section>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0Altamonte Springs, FL, USA28.6611089 -81.36562420.35087506382115308 -116.5218742 56.97134273617884 -46.2093742tag:blogger.com,1999:blog-5430866.post-83100131867535675302022-09-21T12:14:00.002-05:002022-09-21T12:15:40.135-05:00Login Failed for user DomainName\machinename<p> <span face="-apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif" style="background-color: white; color: #232629; font-size: 15px;">NETWORK SERVICE and LocalSystem authenticate themselves always as the corresponding account locally (builtin\network service and builtin\system) but both will authenticate as the machine account remotely. This can cause login failures.</span></p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: var(--s-prose-spacing); margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; vertical-align: baseline;">If you see a failure like <code style="background-color: var(--black-075); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-800); font-family: var(--ff-mono); font-size: var(--fs-body1); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space: pre-wrap;">Login failed for user 'DOMAIN\MACHINENAME$'</code> it means that a process running as NETWORK SERVICE or as LocalSystem has accessed a remote resource, has authenticated itself as the machine account, and was denied authorization.</p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: var(--s-prose-spacing); margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; vertical-align: baseline;">A typical example would be an ASP application running in an app pool set to use NETWORK SERVICE credential and connecting to a remote SQL Server: the app pool will authenticate as the <em style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">machine</em> running the app pool and is this machine account that needs to be granted access.</p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: var(--s-prose-spacing); margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; vertical-align: baseline;">When access is denied to a machine account, then access must be granted to the machine account. If the server refuses to login 'DOMAIN\MACHINE$', then you must grant login rights to 'DOMAIN\MACHINE$' not to NETWORK SERVICE. Granting access to NETWORK SERVICE would allow a <strong style="border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">local</strong> process running as NETWORK SERVICE to connect, not a remote one, since the remote one will authenticate as, DOMAIN\MACHINE$.</p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><b>What you need to do to fix this is open IIS manager open up the advanced view for the particular app pool, and change it to run as yourdomain\yourusername, add the password, and restart the pool.</b></p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></p><p style="background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Obviously this isn't a perfect fix because when password changing time arrives, you may need to go back to IIS and change the password.</p>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-11704649215638462642021-10-07T12:20:00.003-05:002021-10-07T12:20:27.319-05:00 For decades, communism was the primary religion of the left<p><span style="font-family: "times new roman", times, serif; font-size: 18.64px;"> The fall of the Soviet Union and socio-economic failures of Cuba, Venezuela, and other communist dictatorships steered the left toward a new god, mother earth or, simply, the environment. This religion morphed from global cooling in the 1970s to global warming a decade later, now to climate change or extreme weather -- normal cyclic events that have been a part of life on Planet Earth since long before humans existed.</span></p>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-16910934153654385092021-03-30T10:34:00.003-05:002021-03-30T10:34:58.824-05:00Interesting statistics about working from Home<p style="text-align: left;"><span style="font-size: medium;"> Although surveys are underway for how Covid-19 will affect these statistics, Global Workplace Analytics estimates that 56% of the U.S. workforce holds a job that is at least partially compatible with remote work, and that 25-30% of the workforce will be working at home for more than one day a week over the next two years.</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">According to Buffer, 90% of remote workers plan on working remotely for the rest of their careers.</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">Old thinking believes that employees must be in the office to be productive, but this mentality disregards the distractions that an office environment comes with. Socializing, unnecessarily long meetings, and loud colleagues can slow down a productive employee.</span></p><p style="text-align: left;"><span style="font-size: medium;">Some facts:</span></p><p style="text-align: left;"><span style="font-size: medium;">65% of workers said they would be more productive in a home office than in a traditional office space. — FlexJobs</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">75% of people say they are more productive working remotely due to fewer distractions. — Flexjobs</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">77% of millennials report that flexible work would make them more productive. — Regus</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">Nearly 2 in 3 survey respondents who work remotely say they are more productive now than when they worked onsite at a company. — SHRM</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">62% of remote workers say they’re afraid that their onsite colleagues don’t think they are working as hard as them. — SHRM</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">Around 69% of workers believe technology has made them more productive, but nearly 25% believe technology will replace them in their jobs; and 83% of workers use technology to collaborate in real time, but 78% said technical problems disrupt the collaborative experience. — HR Dive</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">83% of employees feel they do not need an office to be productive. — Fuze</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">By 2020, organizations that support a “choose-your-own-work-style” culture will boost employee retention rates by more than 10%. — Gartner</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">According to a 2017 study by IT solutions company Softchoice, 74% of 1,000 office workers surveyed said they would leave their job for another that offered the option of more remote work. — Softchoice</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">76% of female tech professionals think businesses offering remote work would be more likely to retain top talent. — Huffington Post</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">Two-thirds of employers report increased productivity for remote workers compared to in-office workers. — TECLA</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">"There’s absolutely no difference. Whether you’re in-office or remote, total compensation is based on the position as well as performance." — Shannon at PricewaterhouseCoopers</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">According to MarketWatch, the average office space per employee costs $14,800 in New York, $6,702 in Los Angeles and $6,080 in Boston annually. No matter what city a company is based out of, office space will always cost more than no office space at all.</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">In the same vein, employees can save on costs when they work from home. Some experts say that it costs upwards of $2,600 on average per year for Americans to commute to work. Studies show that telecommuting saves on costs for both the employer and the employee.</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">Annually, Xerox teleworkers drive 92 million fewer miles, saving 4.6 million gallons of gas, reducing carbon dioxide emissions by nearly 41,000 metric tons and saving over $10 million. — SHRM</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">People who are working from home in the United States right now avoid emitting 3.6 million tons of commuting-related greenhouse gasses annually. — FlexJobs</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">People who are working from home in the United States right now avoid emitting 3.6 million tons of commuting-related greenhouse gasses annually. — Global Workforce Analytics</span></p><p style="text-align: left;"><span style="font-size: medium;"><br /></span></p><p style="text-align: left;"><span style="font-size: medium;">The Consumer Electronics Association (CEA) reports that telecommuting is part of a climate change solution since using electronics to telecommute saves 9 to 14 billion kilowatt-hours of energy each year. — Lifewire</span></p><div><br /></div>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-57372551217415350292021-03-02T13:53:00.003-05:002021-03-02T13:53:22.881-05:00<h1 style="text-align: left;"> Ways to Improve Visual Studio 2019 Performance</h1><h2 class="heading-anchor" id="use-a-64-bit-os" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2rem; line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;">Use a 64-bit OS</h2><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">If you upgrade your system from a 32-bit version of Windows to a 64-bit version, you expand the amount of virtual memory available to Visual Studio from 2 GB to 4 GB. This enables Visual Studio to handle significantly larger workloads, even though it is 32-bit process.</p><h2 class="heading-anchor" id="disable-automatic-file-restore" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2rem; line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="disable-automatic-file-restore" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#disable-automatic-file-restore" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.3rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Disable automatic file restore</h2><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio automatically reopens documents that were left open in the previous session. This can prolong the times it takes to load a solution by up to 30% or more, depending on the project type and the documents being opened. Designers like Windows Forms and XAML, and some JavaScript and typescript files, can be slow to open.</p><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio notifies you in a yellow bar when automatic document restore is causing a solution to load significantly slower. You can disable automatic file reopening by following these steps:</p><ol style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: outside none decimal; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> to open the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> dialog box.</p></li><li style="box-sizing: inherit; list-style: outside none decimal; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">On the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Projects and Solution</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span> page, deselect <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Reopen documents on solution load</span>.</p></li></ol><h2 class="heading-anchor" id="configure-debugging-options" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2rem; line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="configure-debugging-options" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#configure-debugging-options" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.3rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Configure debugging options</h2><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">If you are typically running low on memory during debugging sessions, you can optimize performance by making one or more configuration changes.</p><ul style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Just My Code</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The simplest optimization is to enable the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Just My Code</span> feature, which only loads symbols for your project. Enabling this feature can result in a significant memory saving for debugging managed applications (.NET). This option is already enabled by default in some project types.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To enable <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Just My Code</span>, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debugging</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and then select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Just My Code</span>.</p></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable Diagnostic Tools</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">It is recommended that you disable CPU profiling after use. This feature can consume large amounts of resources. Once CPU profiling is enabled, this state is persisted across subsequent debug sessions, so it’s worth explicitly turning it off when done. You may save some resources by disabling the diagnostic tools while debugging if you do not need the provided features.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Diagnostic Tools</span>, start a debugging session, select <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Debugging</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and then deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable Diagnostic Tools while debugging</span> option.</p></li></ul><h2 class="heading-anchor" id="disable-tools-and-extensions" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2rem; line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="disable-tools-and-extensions" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#disable-tools-and-extensions" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.3rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Disable tools and extensions</h2><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Some tools or extensions can be turned off to improve performance.</p><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="background-color: transparent; color: var(--theme-success-dark); font-weight: 600;"> </span><span style="background-color: transparent; color: var(--theme-success-dark);"><b>Tip<br /></b></span><span style="background-color: transparent;">You can often isolate performance issues by turning off extensions one at a time and rechecking performance.</span></p><h3 class="heading-anchor" id="managed-language-service-roslyn" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.75rem; line-height: 1.3; margin: 30px 0px 18px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="managed-language-service-roslyn" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#managed-language-service-roslyn" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.1375rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Managed language service (Roslyn)</h3><ul style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable full solution analysis</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio performs analysis on your entire solution in order to provide a rich experience about errors before invoking a build. This feature is useful to identify errors as soon as possible. However, for large solutions, this feature can consume significant memory resources. If you’re experiencing memory pressure or similar issues, you can disable this experience to free up these resources. By default, this option is enabled for Visual Basic and disabled for C#.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Full Solution Analysis</span>, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span>, then select either <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Visual Basic</span> or <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">C#</span>. Choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Advanced</span> and deselect <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable full solution analysis</span>.</p></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable CodeLens</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Visual Studio performs a <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Find All References</span> task on each method as it is displayed. CodeLens provides features such as the inline display of the number of references. The work is performed in a separate process such as <em style="box-sizing: inherit; outline-color: inherit;">ServiceHub.RoslynCodeAnalysisService32</em>. In large solutions, or on resource-constrained systems, this feature can have a significant impact on performance. If you’re experiencing memory issues, for example, when loading a large solution on a 4-GB machine, or high CPU usage for this process, you can disable CodeLens to free up resources.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">CodeLens</span>, choose <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">CodeLens</span>, and deselect the feature.</p></li></ul><h3 class="heading-anchor" id="other-tools-and-extensions" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.75rem; line-height: 1.3; margin: 30px 0px 18px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="other-tools-and-extensions" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#other-tools-and-extensions" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.1375rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Other tools and extensions</h3><ul style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin: 16px 0px 16px 38px; outline-color: inherit; padding: 0px;"><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable Extensions</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">Extensions are additional software components added to Visual Studio that provide new functionality or extend existing functionality. Extensions can often be a source of memory resource issues. If you’re experiencing memory resource problems, try disabling extensions one at a time to see how it impacts the scenario or workflow.</p><div data-moniker="vs-2019" style="box-sizing: inherit; outline-color: inherit;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable extensions, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Extensions</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Manage Extensions</span>, and disable a particular extension.</p></div></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable map mode</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><a data-linktype="relative-path" href="https://docs.microsoft.com/en-us/visualstudio/ide/how-to-track-your-code-by-customizing-the-scrollbar?view=vs-2019#display-modes" style="background-color: transparent; box-sizing: inherit; cursor: pointer; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: break-word; text-decoration-line: none;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Map mode</span></a> displays lines of code, in miniature, on the scroll bar. Map mode is enabled by default.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable map mode, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Scroll Bars</span>, and in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Behavior</span> section, deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Use map mode for vertical scroll bar</span> option.</p></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable word wrap</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><a data-linktype="relative-path" href="https://docs.microsoft.com/en-us/visualstudio/ide/reference/how-to-manage-word-wrap-in-the-editor?view=vs-2019" style="background-color: transparent; box-sizing: inherit; cursor: pointer; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: break-word; text-decoration-line: none;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Word wrap</span></a> displays the portion of a long line of code that extends beyond the current width of the code editor window. Word wrap is on by default.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable word wrap for a project that you are currently working on, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Edit</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Advanced</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Word Wrap</span>. (You can toggle this setting by using the same menu commands.)</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable word wrap for all projects, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Text Editor</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">All Languages</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">General</span>, and in the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Settings</span> section, deselect the <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Word wrap</span> option.</p></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Disable XAML Designer</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The XAML designer is enabled by default, but only consumes resources if you open a <em style="box-sizing: inherit; outline-color: inherit;">.xaml</em> file. If you work with XAML files but do not wish to use the designer functionality, disable this feature to free up some memory.</p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To disable XAML Designer, go to <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Tools</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Options</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">XAML Designer</span> > <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Enable XAML Designer</span>, and deselect the option.</p></li><li style="box-sizing: inherit; list-style: outside none disc; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"><span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Remove workloads</span></p><p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">You can use the Visual Studio Installer to remove workloads that are no longer used. This action can streamline the startup and runtime cost by skipping packages and assemblies that aren’t needed anymore.</p></li></ul><h2 class="heading-anchor" id="force-a-garbage-collection" style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2rem; line-height: 1.3; margin: 32px 0px 12px -1.875rem; outline-color: inherit; padding: 0px 0px 0px 1.875rem; position: relative;"><a aria-labelledby="force-a-garbage-collection" class="anchor-link docon docon-link" href="https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-performance-tips-and-tricks?view=vs-2019#force-a-garbage-collection" style="-webkit-font-smoothing: antialiased; background-color: transparent; border: 0px; box-sizing: inherit; clip-path: inset(50%); clip: rect(1px, 1px, 1px, 1px); cursor: pointer; direction: ltr; display: inline-block; font-family: docons; font-size: 1rem; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; height: 1px; left: 0px; line-height: 16px; margin: -1px; opacity: 0; outline-color: inherit; outline-style: initial; outline-width: 0px; overflow-wrap: normal; overflow: hidden; padding: 0px; position: absolute; speak: none; text-align: center; text-decoration-line: none; top: 1.3rem; transform: translateY(-50%) scale(1); transition: opacity 0.1s linear 0s; width: 1px;"></a>Force a garbage collection</h2><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">The CLR uses a garbage collection memory management system. In this system, sometimes memory is used by objects that are no longer needed. </p><p style="background-color: white; box-sizing: inherit; color: #171717; font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;">To force a garbage collection, use the hotkey: <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Alt</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Shift</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">F12</span>, <span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Ctrl</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Alt</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">Shift</span>+<span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;">F12</span> (press it twice).</p>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-38525288373719511322021-02-18T16:16:00.003-05:002021-02-18T18:48:30.585-05:00<h2 style="text-align: left;">Thoughts on Bill Gates' book</h2><p> For Bill Gates, the case for net-zero is “rock solid”. The science is settled, and he is convinced that “the only way to avoid disastrous outcomes is to get to zero”. For readers already convinced of the “climate crisis” and the imperative to go to “net zero” by 2050, his book holds no surprises. For those more skeptical of popular discussions of climate change, what is most striking is that Gates – among the world’s most celebrated and successful data scientists — is so curiously unaware or indifferent to data that challenges many of the presumptions contained in his book.</p><p><br /></p><p>Thus, for example, while Gates is aware of the low energy density and intermittency of solar and wind power (when the sun sets and the wind does not blow) and the prohibitive costs of batteries to store electricity at grid-scale, he nonetheless finds it imperative that we have policies “to force an unnaturally speedy transition”. Net-zero “requires the US to build as much wind and solar we can build and find room for”. Indeed, it would seem that Gates’ optimism sees nothing but promise in affordable decarbonization. Getting the US electricity system to zero-carbon would increase retail rates by 1.3 – 1.7 cents per kWh, roughly 15% more than what people pay now or an $18 per month premium for a household – “pretty affordable”. He cites a European trade association that suggests that decarbonizing the power grid by 90 – 95% would cause average tariff rates to go up about 20%. Again, this seems “pretty affordable".</p><p><br /></p><p>One looks in vain for Gates to assess the actual evidence to date regarding the experience of countries and states that have done precisely that, “forcing an unnaturally speedy transition”, such as Germany, California and South Australia. There is no attention paid to the deleterious impacts of shutting down coal and natural gas plants on electricity prices. Nor does Gates find it necessary to engage with substantive arguments in well-researched published work by well-known environmental skeptics such Bjorn Lomborg and Michael Schellenberger (the best-selling author of “Apocalypse Never: Why Environmental Alarmism Hurts Us All”).</p><p><br /></p><p>Either Gates is not aware or finds it inconvenient that the very authorities he consults with hold views at odds with the assertions made throughout his book. “Following the science”, as understood by Gates and his fellow Illuminati, presents a clear way forward. The diversity of scientific views on every aspect of climate change which one would have expected Bill Gates to be conversant with are not to be found in this book. Indeed, he dismisses contrarian arguments as products of “small and politically powerful groups not persuaded by the science”.</p>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-68104565795799194082020-08-20T00:36:00.001-05:002020-08-20T00:36:20.901-05:00covid quarantines<div>A recent study of the 1918-1919 influenza pandemic by a member of the Federal Reserve board and economists at the Fed and M.I.T. compared cities that imposed stringent public health measures — including school and church closings, public gathering bans, quarantines and restricted business hours — with cities that opened faster and imposed fewer restrictions. The more stringent cities not only had fewer deaths but experienced “a relative increase in economic activity from 1919 onward.”</div><div>I understand how this can be counterintuitive to many people, yet the lessons of history are there.</div>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-84668333319127504722020-06-07T18:14:00.000-05:002020-06-07T18:14:05.478-05:00White Silence is White ViolencePeople across the country are now being called racists unless they publicly support the “protests” by Black Lives Matter, an anti-Semitic movement that calls Israel an “apartheid state,” accuses its Jewish citizens of committing “genocide,” and supports the anti-Semitic boycott, divestment and sanctions movement designed to destroy Israel.<br />
<br />
Our children are being indoctrinated with lies about what the BLM organization is and what is actually happening on America’s streets – from lies about systemic police racism to the idea that the protestors are peaceful citizens with reasonable demands. Even Nickelodeon and Sesame Street have joined the bandwagon of brainwashing our nation’s kids.<br />
<br />
"White Silence is White Violence" is the new mantra of the unhinged progressive left - minds that are closed, refuse to look at facts and history, and insist on removing any traces of it by defacing and burning symbols of capitalism and taking down Confederate statues.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLslopZVFhVHff1NGZg1bkCrgvsvcE1-PHcoMse853n90bxQIXe4j4H48II9bZty8o-sVkFBEalGGEMVW5CZFnHmpJ1rE3hhNBHHThKOUiB3pRQ3PMDXPUuOwugf4i5fs9_0Ku/s1600/protest-denver-white-silence-is-white-violence-sign.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="934" data-original-width="1600" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLslopZVFhVHff1NGZg1bkCrgvsvcE1-PHcoMse853n90bxQIXe4j4H48II9bZty8o-sVkFBEalGGEMVW5CZFnHmpJ1rE3hhNBHHThKOUiB3pRQ3PMDXPUuOwugf4i5fs9_0Ku/s320/protest-denver-white-silence-is-white-violence-sign.jpg" width="320" /></a></div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-59253274497249469562020-02-21T10:26:00.001-05:002020-02-21T11:44:31.029-05:00How to create Blazor webassembly and server apps in visual studio codePainful memories of ActiveX controls, java applets, Silverlight, Flash and the other attempts at portable code are all being revenged by WebAssembly. I don't care how good someone is at JavaScript. They will make more mistakes (especially subtle, hard-to-find bugs) in JavaScript than they would doing the same task in C#. Every time. Blazor with WebAssembly is mature now to the point of being very useful. The great thing about WebAssembly is that it is a standard, unlike ActiveX or Silverlight.<br />
<br />
Here are the steps to create either a Blazor WebAssembly or a Blazor Server app in Visual Studio Code:<br />
<br />
From a command shell:<br />
<br />
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.2.0-preview1.20073.1<br />
<br />
1. Install Visual Studio Code, if not already installed.<br />
2. Install the latest C# for Visual Studio Code extension.<br />
3. For a Blazor WebAssembly experience, execute the following command in a command shell:<br />
<br />
dotnet new blazorwasm -o WebApplication1<br />
<br />
You can do the above from a command shell at the C:\ location. WebApplication1 will be the name of the project folder created.<br />
<br />
For a Blazor Server experience, execute the following command in a command shell:<br />
<br />
dotnet new blazorserver -o WebApplication1<br />
<br />
Open the WebApplication1 folder in Visual Studio Code.<br />
<br />
For a Blazor Server project, the IDE requests that you add assets to build and debug the project. Select Yes.<br />
<br />
If using a Blazor Server app, run the app using the Visual Studio Code debugger. If using a Blazor WebAssembly app, execute dotnet run from the app's project folder.<br />
<br />
In a browser, navigate to https://localhost:5001.<br />
<br />
That's it. From here you can add services, model classes, and custom assets. The "Stock" Project that is created with the above will have several features that you can examine to get off to a good start.<br />
<br />
<br />
<div>
<br /></div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-12827720482507011672018-11-26T15:34:00.002-05:002018-11-26T15:34:59.947-05:00How not to be a slave to your smartphone<span style="font-family: Verdana, sans-serif;">Pavlov was a scientist who conditioned a dog. Whenever he rang a bell, the dog expected food and its mouth started to water. The smartphone conditions human behavior in almost exactly the same way.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghuAIMyDSY9m9_kXa3suAUtVHG6wi4uxb71NYp42XHIbBkhSwUR-rstEJnZnVGXTfqa8qp9w55u9lU2tlYWUgxcow1d6ooHmVYOUeyhiheq5kdUyrN47WE3hY5lF-XsFUmVb-i/s1600/2D9842361-tb-biz-080904-angry-talker-825a.fit-760w.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghuAIMyDSY9m9_kXa3suAUtVHG6wi4uxb71NYp42XHIbBkhSwUR-rstEJnZnVGXTfqa8qp9w55u9lU2tlYWUgxcow1d6ooHmVYOUeyhiheq5kdUyrN47WE3hY5lF-XsFUmVb-i/s320/2D9842361-tb-biz-080904-angry-talker-825a.fit-760w.jpg" width="320" /></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Through our smartphones, we humans have become like Pavlov's dog. But it doesn't have to be that way. When we get a text, the sender knows we've received it. We feel some stress about that.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">We should be asking, "Am I the dog, or am I the master?" If you no longer trust yourself, who is left to trust?</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">We also get lots of spam calls, usually at just the wrong time.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">So recently I experimented with some of these phone apps that claim to block spam and unwanted calls. I tried a few and finally settled on an app called "TrueCaller", but there are a number of other good ones. My criteria were simple:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">1. If it's from somebody I have in my Contacts, let it go through, and show me a popup on my home screen that identifies the caller.</span><br />
<span style="font-family: Verdana, sans-serif;">2, If it's known spam, show me the popup and reject the call.</span><br />
<span style="font-family: Verdana, sans-serif;">3. Always look up the caller and show me who it is first.</span><br />
<span style="font-family: Verdana, sans-serif;">4. Give me an option so that any unidentified call not only DOES NOT RING THE PHONE but instead goes straight to voicemail. The key phrase: "does not ring the phone".</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The first thing I noticed is that my stress level about phone calls went down almost immediately. Now I was in control, not the phone.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Our time is precious, and unwanted phone calls should be screened in the most effective manner possible. If it goes to voicemail without interrupting you, and the call is important, the caller will leave you a message, and you are still in control.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-70260204288280101202018-07-03T13:26:00.001-05:002018-07-03T13:30:57.062-05:00On Tribalism<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif-AQwJKco8WmZ8iS8_U1f9caKGZhs7BKw7766EregXXGp3dGSwwCiAsTpEuFcXO8tZTfaSBKPlFN8V5p9MiOdl6vVH5Hl8BT-p9e3y_1G4ulbl6gLqgTohQLwEEvRFs6v291U/s1600/tribal+war.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="504" data-original-width="896" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif-AQwJKco8WmZ8iS8_U1f9caKGZhs7BKw7766EregXXGp3dGSwwCiAsTpEuFcXO8tZTfaSBKPlFN8V5p9MiOdl6vVH5Hl8BT-p9e3y_1G4ulbl6gLqgTohQLwEEvRFs6v291U/s320/tribal+war.jpg" width="320" /></a></div>
<br />
We identify ourselves as members of all sorts of tribes; our families, political parties, race, gender, social organizations. We even identify tribally just based on where we live (Go Yankees).<br />
<br />
Tribalism is pervasive, and it controls a lot of our behavior, readily overriding reason. Think of the inhuman things we do in the name of tribal unity. Wars are essentially tribalism. Genocides are tribalism - wipe out the other group to keep our group safe – taken to madness.<br />
<br />
Another example is the polarized way we argue about so many issues, and the irony that as we make these arguments we claim to be intelligent (smart, therefore right) yet we ignorantly close our minds to views that conflict with ours. Trump supporter? You're a Nazi!<br />
<br />
Research has found that the more challenged our views are, the more we defend them -- the more dogmatic and closed-minded we become...an intellectual form of "circle-the-wagons, we’re under attack" tribal unity. We are social animals. We have evolved to depend on our tribes, literally, for our safety and survival.<br />
<br />
The thing is, as with most issues, few people in either tribe have looked closely at the actual evidence. On both sides, most people are just trusting their tribe’s designated experts.<br />
<br />
Some of this material is summarized from <a href="https://bigthink.com/risk-reason-and-reality/how-tribalism-overrules-reason-and-makes-risky-times-more-dangerous" target="_blank">https://bigthink.com/risk-reason-and-reality/how-tribalism-overrules-reason-and-makes-risky-times-more-dangerous</a> and other sources.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-5372873627692984972017-10-01T16:11:00.001-05:002017-10-01T16:12:50.347-05:00The real story about taxes<div style="background-color: white; color: #1d2129; font-family: Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 6px;">
Since taxes are starting to become newsworthy because of Trump's tax plan, it might be a good time to take a look at some facts. According to the Tax Foundation (non-partisan) in 2016,</div>
<div style="background-color: white; color: #1d2129; font-family: Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
The top 1 percent paid a greater share of individual income taxes (39.5 percent) than the bottom 90 percent combined (29.1 percent).</div>
<div style="background-color: white; color: #1d2129; font-family: Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
The top 1 percent of taxpayers paid a 27.1 percent individual income tax rate, which is more than seven times higher than taxpayers in the bottom 50 percent (3.5<span class="text_exposed_show" style="display: inline; font-family: inherit;"> percent).</span></div>
<div class="text_exposed_show" style="background-color: white; color: #1d2129; display: inline; font-family: Helvetica, Arial, sans-serif; font-size: 14px;">
<div style="font-family: inherit; margin-bottom: 6px;">
The top 10 percent of income earners paid a whopping 71 percent of all federal income taxes.</div>
<div style="font-family: inherit; margin-bottom: 6px; margin-top: 6px;">
Think about that the next time you hear the mantra about the rich needing to "pay their fair share".</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1pEjDL803MVTQGrbjysP9nbmehk3ywBT_A_CU-3F9BydSlBiUD_oZ4h-w6Mo4d02VIe6wSDDT5HqhWJ9di2aL7fL073b8J4Qjhzd2mU3iBSchZsIkfFW1XdvcaninJCTJiUgZ/s1600/8538960.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1pEjDL803MVTQGrbjysP9nbmehk3ywBT_A_CU-3F9BydSlBiUD_oZ4h-w6Mo4d02VIe6wSDDT5HqhWJ9di2aL7fL073b8J4Qjhzd2mU3iBSchZsIkfFW1XdvcaninJCTJiUgZ/s320/8538960.jpg" width="320" /></a></div>
<div style="font-family: inherit; margin-bottom: 6px; margin-top: 6px;">
<br /></div>
</div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-57424029836993964232017-01-17T14:18:00.001-05:002017-01-17T14:18:42.942-05:00How to spot fake news 101<span style="font-family: Arial, Helvetica, sans-serif;">People create fake news for all kinds of reasons, mostly political. Here's an example:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">The following "news" article claims that Wikileaks leaked a Podesta email that contains the following:</span><br />
<br />
<em style="background-color: #fcfcfc; border: 0px; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 19px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">“JB, CF, and JK PACS will be noticeably silent for the rest of the campaign. Each will receive a significant allowance from advertising budget. HRC is in the loop and has talked to all three personally. Eyes only.”</em><br />
<em style="background-color: #fcfcfc; border: 0px; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 19px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></em>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc; font-size: 19px;">I</span><span style="background-color: #fcfcfc;">n fact if you search google on the first sentence, about 425 so-called "news sources" have picked this up and run with it. To it's credit, Snopes shows up in the search and they successfully debunk it. But you know what else shows up? A Wikileaks search!</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;"><br /></span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;">That's right, Wikileaks has an excellent search facility. And if you plug that phrase into their search, you will come up with ..... NADA!</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;"><br /></span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;">Wikileaks never published any such email. Apparently somebody in an effort to discredit both the GOP and Wikileaks concocted it out of thin air.</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;"><br /></span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: #fcfcfc;">You're welcome.</span></span><br />
<em style="background-color: #fcfcfc; border: 0px; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 19px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></em>
<em style="background-color: #fcfcfc; border: 0px; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 19px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></em>
<em style="background-color: #fcfcfc; border: 0px; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 19px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></em>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-11895058578949100362016-12-09T10:01:00.000-05:002016-12-09T10:04:43.306-05:00How I Got Started In ProgrammingI've got a storied career. I went from being a draft resister hippie type near the end of the Vietnam War to being an expediter at a nuclear power plant construction company near Wall Street, then finally left New York for warmer weather in Florida where I spent a couple of years as a real estate broker and eventually landed at Merrill Lynch as a financial consultant. I stayed at Merrill for about 8 years.<br />
<br />
It was at Merrill that I first became interested in programming. I had been graphing the technical indicators from Bob Farrell's group in New York with colored pencils and there was an older guy at the Orlando office who had a TRS-80 and printer. So I learned to program the indicator data in BASIC and print out graphs. Before long I had saved up $3500 to buy an Apple IIe and began seriously studying BASIC. Later I enrolled in an external doctoral program to get my PhD in economics, and a good part of my dissertation was spent coding FFT algorithms in Turbo Basic.<br />
<br />
Later on I made plenty of money as a developer with Visual Basic 5 and 6. Then I got into web programming with classic ASP and learned to use javascript. To this day I still recommend that beginning programmers learn javascript as their first programming language. Finally in 2000 I attended the Microsoft PDC in Orlando and got the first 6-CD set of .Net and I was hooked. It's been .NET and C# ever since, and as an ex Microsoft MVP for 10 years I can say that Microsoft has been very good to me.<br />
<br />
Software development is one of the few professions where you can earn six figures with no formal degree. But it takes a certain kind of personality. Programmers are paid to think, and that requires a logical, problem-solving type of mindset - and a lot of patience and motivation to learn.<br />
<br />
I hope some readers will get insight from this.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-2391642347584066632016-09-03T13:14:00.004-05:002016-09-03T13:14:26.270-05:00CO2 - What we know<!-- Place this tag in your head or just before your close body tag. -->
<script src="https://apis.google.com/js/plusone.js" type="text/javascript"></script>
<!-- Place this tag where you want the widget to render. -->
<br />
<div class="g-post" data-href="https://plus.google.com/+PeterBromberg/posts/jMpbjeS4i96">
</div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-21852201723041772302016-02-10T11:04:00.002-05:002016-02-10T11:04:20.933-05:00 The Redistribution FallacyThe recent rants of Bernie Sanders about taxing the rich to provide benefits is not really news. Barack Obama said the same thing to Joe the Plumber some years ago.<br />
<br />
Those who talk about redistribution often act as if people are just inert objects that can be placed here and there, like pieces on a chess board, to carry out some grand<br />
<br />
design. But human beings have their own responses to government policies, and consequently we cannot just assume that government policies will have the effect intended.<br />
<br />
<br />
The history of the 20th century is full of examples of countries that set out to redistribute wealth and ended up redistributing poverty. The communist nations were a classic<br />
<br />
example, but by no means the only example.<br />
<br />
In theory, confiscating the wealth of the more successful people ought to make the rest of the society more prosperous. But when the Soviet Union confiscated the wealth of<br />
<br />
successful farmers, food became scarce. As many people died of starvation under Stalin in the 1930s as died in Hitler's Holocaust in the 1940s.<br />
<br />
You can only confiscate the wealth that exists at a given moment. You cannot confiscate future wealth -- and that future wealth is less likely to be produced when people see<br />
<br />
that it is going to be confiscated. Farmers in the Soviet Union cut back on how much time and effort they invested in growing their crops, when they realized that the<br />
<br />
government was going to take a big part of the harvest. They slaughtered and ate young farm animals that they would normally keep tending and feeding while raising them to<br />
<br />
maturity.<br />
<br />
People in industry are not inert objects either. Moreover, unlike farmers, industrialists are not tied to the land in a particular country.<br />
<br />
Russian aviation pioneer Igor Sikorsky could take his expertise to America and produce his planes and helicopters thousands of miles away from his native land. Financiers are<br />
<br />
even less tied down, especially today, when vast sums of money can be dispatched electronically to any part of the world.<br />
<br />
If confiscatory policies can produce counterproductive repercussions in a dictatorship, they are even harder to carry out in a democracy. A dictatorship can suddenly swoop<br />
<br />
down and grab whatever it wants. But a democracy must first have public discussions and debates. Those who are targeted for confiscation can see the handwriting on the wall,<br />
<br />
and act accordingly.<br />
<br />
Among the most valuable assets in any nation are the knowledge, skills and productive experience that economists call "human capital." When successful people with much human<br />
<br />
capital leave the country, either voluntarily or because of hostile governments or hostile mobs whipped up by demagogues exploiting envy, lasting damage can be done to the<br />
<br />
economy they leave behind. This happened recently in France. Hollande decided to tax the wealthy at 75 percent. They simply left the country. He ended up repealing the<br />
<br />
legislation.<br />
<br />
Fidel Castro's confiscatory policies drove successful Cubans to flee to Florida, often leaving much of their physical wealth behind. But poverty-stricken refugees rose to<br />
<br />
prosperity again in Florida, while the wealth they left behind in Cuba did not prevent the people there from being poverty stricken under Castro. The lasting wealth the<br />
<br />
refugees took with them was their human capital.<br />
<br />
If the redistributionists were serious, what they would want to distribute is the ability to be productive. Knowledge is one of the few things that can be distributed to<br />
<br />
people without reducing the amount held by others.<br />
<br />
That would better serve the interests of the poor, but it would not serve the interests of politicians who want to exercise power, and to get the votes of people who are<br />
<br />
dependent on them.<br />
<br />
Bernie Sanders can endlessly proclaim his slogan of "fairness," but what he is proposing is going backwards to policies that have failed repeatedly in countries around the<br />
<br />
world.<br />
<br />
Yet, to many people who cannot be bothered to stop and think, redistribution sounds good.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-6174080835673569612014-12-31T14:09:00.001-05:002014-12-31T14:09:03.829-05:00Goal Management Done The Right Way <span style="font-family: Verdana, sans-serif;">I've been a proponent of goal-setting for a long time. At least 20 years ago, I read the late Zig Ziglar's work on goals, and I intuitively knew that he got it right. So I've been using his basic goal - setting strategy for a long time. </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Up until now, what with technology, the only thing missing from the equation was some sort of app specifically designed to track it all, provide reminders, and so on. And I think I've found it. I don't normally endorse products or services, but in this case I make an exception. The app is called "Lifetick" and it works on the web or in your iOS or Android phone:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><a href="http://2.bp.blogspot.com/-__hMAnu3Ev0/VKRIkcdd0kI/AAAAAAADqnA/KZhPWMIjCsY/s1600/home_main_feature.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-__hMAnu3Ev0/VKRIkcdd0kI/AAAAAAADqnA/KZhPWMIjCsY/s1600/home_main_feature.png" height="388" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Verdana, sans-serif;">Lifetick has features that closely mirror Zig Ziglar's system, making it a snap for me to decide to use it. I'm not talking about New Year's resolutions here, I don't make any because I have a goal system that works daily and is in almost constant revision.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Verdana, sans-serif;">You have Core Values that represent areas of your life, then individual Goals within those core values, and the Steps to reach them. You get reports, reminders, and much more. Exactly what I was missing and now I can access it from anywhere.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Verdana, sans-serif;">Here's their site: <a href="https://www.lifetick.com/" target="_blank">LifeTick</a></span></div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-82356273917862441012014-12-28T08:44:00.001-05:002014-12-28T08:44:18.534-05:00Was 2014 the Year of Propaganda?<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-MnUyP7UUlVE/VKAJAU2i-nI/AAAAAAADppg/Z0wXTYv1CVc/s1600/107-0730141403-obama20propaganda-jpg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-MnUyP7UUlVE/VKAJAU2i-nI/AAAAAAADppg/Z0wXTYv1CVc/s1600/107-0730141403-obama20propaganda-jpg.jpg" height="320" width="214" /></a></div>
<br />
A level of propaganda I don’t recognize, and I don’t think I’ve ever seen before. 2014 has been the year of utter nonsense. It just finished in fine form with a 5% US GDP growth number, just to name one example. Really, guys? 5%? Really? With all the numbers presented lately, the negative Thanksgiving sales data – minus 11% -, the so-so at best Christmas store numbers to date, shrinking durable goods in November and all? Plus 5%?<br />
<br />
The FBI says that it was North Korea that did the Sony hack. Propaganda. Pull apart all the stuff the FBI has been saying - it doesn't compute.<br />
<br />
Same with the ridiculous 97 percent "consensus" on global warming. Horseshit! 31,000 scientists signed the Oregon Petition stating they don't believe that manmade greenhouse gases are making the earth heat up. The satellite data shows that there hasn't been any warming in over 17 years. But hey - consensus, right?<br />
<br />
It really doesn’t matter what I say, does it? You have enough people believing ridiculous numbers to make it worth your while. After all, that’s all that counts. It’s a democracy, isn’t it? If a majority believes something, it becomes true. If you can get more than 50% of people to believe whatever you say, that’s case closed.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-4743592002020539572014-12-22T20:31:00.001-05:002014-12-22T20:31:54.217-05:00Why I prefer French Wines<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-T_E-FCdaUyI/VJjF4BIKouI/AAAAAAADoGU/89JrgD0Tt1Y/s1600/aoc1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-T_E-FCdaUyI/VJjF4BIKouI/AAAAAAADoGU/89JrgD0Tt1Y/s1600/aoc1.jpg" height="320" width="292" /></a></div>
<br />
<span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">Upon returning from Israel where I lived and worked on Kibbutz Na'an, I chose to spend several weeks in France, both in Paris and surrounding smaller cities including the countryside in Bordeaux. What I found is that once one gets out of Paris, where Parisians are not particularly fond of Americans, the people are extremely friendly and appreciative of Americans. My aunt Ruth is French, and so my cousins all were exposed to the language at an early age. I grew into French peripherally, and speak enough to get along.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">There are ten major wine growing regions in France, plus a number of smaller areas. There is commercial wine production in every region of France, except for the five regions bordering on France's north coast.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">The appellation d'origine contrôlée (AOC), which translates as "controlled designation of origin", is the French certification granted to certain French geographical indications for wines, cheeses, butters, and other agricultural products, all under the auspices of the government bureau Institut national des appellations d'origine, now called Institut national de l'origine et de la qualité (INAO). The INAO guarantees that all AOC products will hold to a rigorous set of clearly defined standards. The organization stresses that AOC products will be produced in a consistent and traditional manner with ingredients from specifically classified producers in designated geographical areas. The products must further be aged at least partially in the respective designated area.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">You do not see these kinds of stringent controls on wine production from almost any other country. You may produce an excellent sparkling wine, but unless it comes from the Champagne region of France, you cannot call it "Champagne".</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">The other reason I prefer France is because of the incredible depth of art and culture that has emanated from it for centuries.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">Since the beginning of the twentieth century, American writers, musicians, and artists have chosen to reside in Paris, France, for a variety of economic and artistic reasons. Beginning with Gertrude Stein in the first decade of the century and reaching its apex during the era between the two World Wars, American writers expatriated to Paris seeking to take advantage of the city's inexpensive cost of living, as well as European openness to less socially restrictive lifestyles and more experimental literature.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">Active duty in World War I introduced Paris to many American writers, musicians, and artists, including Ernest Hemingway and e. e. cummings, who returned to France after the war. The following two decades found such writers as Archibald MacLeish, Ezra Pound, F. Scott Fitzgerald, William Carlos Williams, John Dos Passos, Hart Crane, Sinclair Lewis, and Henry Miller living in Paris. Artists, musicians, and writers from other countries also helped make Paris a cultural Mecca. Such writers as Ford Madox Ford, Wyndham Lewis, H. D., D. H. Lawrence, Samuel Beckett, and James Joyce; visual artists Pablo Picasso, Man Ray, Salvador Dali, and Luis Bueñuel; and music composers George Antheil and Virgil Thompson relocated to Paris during this period, influencing and helping to advance such literary movements as modernism, Vorticism, surrealism, and Dadaism.</span><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><br style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;" /><span style="background-color: white; color: #404040; font-family: Roboto, arial, sans-serif; font-size: 12.7272720336914px; line-height: 16.5454540252686px;">There are certainly some excellent wines from California and other countries. But I'll stick with French wine whenever possible. You can often buy a very drinkable bottle of Beaujolais Nouveau for ten dollars. My current favorite is Margaux. if you like good wine, please try some before you die. You'll thank me.</span>peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-89085040036639545492014-12-11T18:53:00.002-05:002014-12-11T18:53:40.885-05:00Love and FriendshipFriendship is something that is much underrated in our society. Friendship is actually a form of love (here I'm not talking about erotic love). It's not a lesser form of love than erotic love, only a different form of love. In fact, the ancient Greeks had a word, "phileos", more or less equating to fraternal/brotherly love (friendship). Without such a form of love as friendship our societies would be unbearably dull and alienated from one another. One can love their friends as well as their "significant other", just not in the same way.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Wsn2yEFnEJg/VIouYn6TeDI/AAAAAAADkYA/8poaOrOjwj4/s1600/love.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-Wsn2yEFnEJg/VIouYn6TeDI/AAAAAAADkYA/8poaOrOjwj4/s1600/love.jpg" height="214" width="320" /></a></div>
<br />
Friendships are not monogamous by necessity. Two people in a friendship don't need to exclude other people from their relationship. A friendship can best be thought of as two people side by side looking forward toward a common goal. It's an odd form of love in which people develop a relationship without relationship as a goal. Scientific achievements have come out of tight-knit friendships, as have works of literary genius, as well as victories in wars (due to the tight camaraderie and mutual trust of soldiers).<br />
<br />
Our earliest friendships are coed, then imprecisely homoerotic, as we reach the age at which tribal peoples form cadres of hunter-warriors to protect and feed the clan, then homophobic for the sake of family life, and at last relaxed and coed again. <br />
<br />
We often mistake infatuation, passion or limerence for love, but real love cannot exist without a firm basis in friendship. Popular culture has done us a great disservice in our understanding of romantic love. From a young age, we watch movies and read books that form the scripts of our adult relationships. But popular culture usually gets it wrong, often in the name of entertainment, and ends up confusing love with limerence, which is precisely what most of us do.<br />
<br />
According to psychologist Robert Sternberg, who has invested some $20 million in research grants studying the subjects of love and hate, there are actually three stages to love: Passionate or romantic love (limerence), Companionate love, and finally, Committed love. Without the progression to the last two stages, a relationship based on infatuation, passion or limerence is subject to disappear very suddenly. And the last two stages must include an intimate friendship.<br />
<div>
<br /></div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-6569661417955379962014-12-09T10:53:00.001-05:002014-12-09T10:58:32.204-05:00Six Facts About Racially Oriented Homicides by PoliceFact 1: The racial percentage of those killed by police hasn't changed. In other words, police are not more (or less) likely to shoot and kill blacks than they were 15 years ago. (In more academic terms, there is no correlation between year and race, from 1998 to 2012, selecting for whites and blacks).<br />
<br />
Fact 2: Blacks are more likely than whites to be shot and killed by police, but probably less so than you'd suspect. 34 percent of those killed by police are African American. But put another way, 62 percent of those killed by police are white.<br />
<br />
Fact 3: UCR data on justified police-homicides are notorious incomplete. These numbers are an undercount. But given the data we have, as reported (or not) to the DOJ by local police departments, police kill at least one person a day (426 in 2012, to be exact, 30 percent were black, 63 percent were white).<br />
In 2012, police killed a total of 426 people. Of those:<br />
white men: 267<br />
black men: 128<br />
white women: 6<br />
black women: 4<br />
"Asian or Pacific Islanders": 9<br />
"American Indian or Alaskan Native": 5<br />
<br />
Fact 4: Police-involved killings are going up. This one surprised me. Because police-involved shootings are generally correlated with overall homicides. But homicides are more or less steady right now, and down 10,000 since 1998 (14,000 in 1998, 13,000 in 2012).<br />
<br />
Fact 5: Black officers are disproportionately more likely than white police to kill black people. But this should not come as a surprise since black officers are much more likely to work in black areas and in cities where there are more blacks. Again, without a good denominator, this doesn't mean much. 73.5 percent of those killed by black police are black. For white police the percentage is 27.6 percent.<br />
<br />
Fact 6: Black police officers do kill white people. Black officers (about 1 in 7 of all police) kill about 27 blacks and 9.4 whites per year. White police (of whom there are many more) kill an average of 81 blacks and 200 whites each year (both for the past 15 years).<br />
<br />
All data comes from FBI’s Uniform Crime Reports and studies by Peter Moskos, an associate professor at John Jay College of Criminal Justice in the Department of Law, Police Science, and Criminal Justice Administration. Moskos is a former Baltimore City police officer and Harvard and Princeton trained sociologist.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-51853392839861296862014-11-12T21:19:00.001-05:002014-11-12T21:31:28.068-05:00On Honesty<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-WNw9pK1lEdQ/VGQU5VSqriI/AAAAAAADceM/SrGXgMPX1qc/s1600/Couple-looking-into-eyes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://2.bp.blogspot.com/-WNw9pK1lEdQ/VGQU5VSqriI/AAAAAAADceM/SrGXgMPX1qc/s320/Couple-looking-into-eyes.jpg" width="320" /></a></div>
<br />
Honesty refers to a facet of moral character and connotes positive and virtuous attributes such as integrity, truthfulness, and straightforwardness, including straightforwardness of conduct, along with the absence of lying, cheating, theft, etc. Furthermore, honesty means being trustworthy, loyal, fair, and sincere.<br />
<br />
Most of us want an honest relationship with our mate, or potential mate. People have a need for honesty and openness -- it gives them a sense of security and helps them become emotionally bonded to the one who meets that need.<br />
Those with a need for honesty and openness want accurate information about their partner's thoughts, feelings, habits, likes, dislikes, personal history, daily activities and plans for the future. <br />
<br />
If your partner does not provide honest and open communication, trust is undermined and the feelings of security can eventually be destroyed. We cannot trust the signals that are being sent and feel we have no foundation on which to build a solid relationship. Instead of adjusting, we feel off balance; instead of growing together, we feel as if we are growing apart.<br />
<br />
Honesty and openness help build compatibility in a relationship. When you and your partner openly reveal the facts of your past, your present activities, and your plans for the future, you are able to make intelligent decisions that take each other's feelings into account. And that's how you create compatibility -- by making decisions that work well for both of you simultaneously. Trust builds and grows, and so does real love.<br />
<br />
But aside from the practical considerations of honesty and openness, those with this need feel happy and fulfilled when their partners reveal their most private thoughts to them, and feel very frustrated when they are hidden. That reaction is evidence of an emotional need, and if that is the way you feel, include honesty and openness as one of your most important emotional needs.<br />
<br />
Personally, I have had great difficulty with a few women I've been involved with who have been dishonest with me. Honesty is closely bound with trust. My approach is that if you want someone to trust you, you must be willing to trust them first. But you also need to be smart enough to ask a lot of questions early in the relationship, or you run this risk of getting burned and having unneccessary heartaches.<br />
Sources: marriagebuilders.com, wikipedia, and other sources.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-6953287338971252272014-10-27T14:52:00.001-05:002014-10-27T14:57:58.491-05:00Why the "Tsu" social network may not be a good idea at allPeople on social media are usually pretty quick to jump on the "latest new thing", often without doing any real research. That's why when invited to join "tsu", I declined. Now I feel even more strongly about my decision. Mark Traphagen has an excellent review here <a href="http://goo.gl/SIYzT8">http://goo.gl/SIYzT8</a><br />
<br />
His main points:<br />
<br />
"If Tsu succeeds in attracting a large number of users, the pie slices of daily royalties will get ever smaller. That may discourage people who are there in hopes of making real money, and they may give up producing new content.<br />
Paying in proportion to views means users will likely learn quickly to produce the kind of "lowest common denominator," mindless-but-fun content that sites like BuzzFeed and Upworthy churn out like machines. It's a lot harder to attract views with more thoughtful content. Therefore I predict Tsu will quickly become what many consider the bottom feed of Facebook: silly cat memes, vapid quote graphics, and videos of people doing stupid stuff. But of course, many people like that stuff, as Facebook has proven. Not what I'm looking for out of a social network.<br />
But if you're incentivizing engagement with content, you're also incentivizing people to form big private networks to create tons of artificial "engagement," or to pay people on sites like Fiverr to create accounts just to "engage" with your content.<br />
The fact that no content on the network can be seen makes Tsu more of a walled garden than even Facebook."<br />
<br />
Eli Fennell also has a good review and is even more cautionary: <a href="http://goo.gl/dxpsmg">http://goo.gl/dxpsmg</a> He talks about the overjustification effect:<br />
<br />
"With their monetization model, Tsu is tangibly rewarding a previously unrewarded activity, i.e. using a social network. This is, for some, a dream come true to those people who feel themselves to be “content creators”, “marketers”, etc… and who WANT to be rewarded for everything they do online.<br />
<br />
For the average person, however, a social network is about BEING SOCIAL (which should, admittedly, be a truism). They don’t care that the network itself makes money from their using it, though they may be concerned by exactly HOW it makes its money (violating privacy, targeting ads, etc"<br />
<br />
Finally, we learn that the site may have serious security issues as it does not use SSL (Facebook, Google+ and Twitter all DO use it):<br />
<br />
Security issues: <a href="http://goo.gl/9mFGmZ">http://goo.gl/9mFGmZ</a><br />
<br />
"Take a look when you’re registering, notice how there’s no SSL? Haha you guessed it, all of their information throughout the entire site is completely unencrypted. That means all passwords, emails, user addresses, etc. are unencrypted and visible to anyone and everyone.<br />
<br />
You don’t need to be a security expert to know this, it’s almost text book knowledge for anyone who has ever interfaced with the web on a technical level. Soooooo my fellow reddit friends, enjoy this new found information."<br />
<br />
Thanks folks, I'm happy with Facebook and Google+, and I still have lots of friends on Twitter. I'll take a pass.peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0tag:blogger.com,1999:blog-5430866.post-34771467944048987172014-10-12T17:15:00.003-05:002014-10-12T17:24:09.988-05:00Why Traveling Sucks<br />
<br />
Traveling, especially if you have to do it for work, sucks bigtime. For years, I traveled all over Europe and the US, to a Microsoft MVP summit each year, not to mention at least one or two other developer events, either as a guest or as a speaker.<br />
<br />
The sign reads “Welcome to Chicago.” There’s nothing welcoming about anything though. You’re surrounded by a swarm of cranky people who were just cramped up on a long flight. They’re late for meetings or connecting flights. They’re hungry, thirsty and tired. They probably need to use the restroom, too.<br />
<br />
The airport I’m talking about is Ohare, but it could very well be any major airport. And the last time I experienced any of that was over 2 years ago now. That was the last big trip I took. Thank god. Over the years, I’ve been to over 15 countries and had some great times as well as some low times.<br />
<br />
I had a lot of places I wanted to visit. But I don’t care about it anymore; I’ve decided traveling sucks.<br />
<br />
Here is why:<br />
<br />
<br />
1. People try to rip you off<br />
<br />
I’ve been ripped off. A lot. I would say 80 percent of the time it was while I was traveling abroad, but it happens in the States too - with taxi and limo drivers, you name it.<br />
<br />
2. Paranoia<br />
<br />
I’ve been lucky, but I've also heard horror stories. People who lost everything and had to scrounge their way back home. So I put systems in place to avoid that, but I can’t even keep track of my own systems!<br />
<br />
So I end up even more paranoid.<br />
<br />
3. You have to keep up with the Joneses<br />
<br />
A fellow traveler I met was telling me his travel story, but I wasn’t listening. I wanted to interrupt as soon as possible to tell him my even better, more amazing travel adventure I had. And then, I wanted to one up it with another one from a country that he’d never been to.<br />
<br />
Those are pretty much the types of conversations that ensue when you meet other travelers on the road. But no matter what you do, someone has always done something cooler, been to more countries than you have, and did it cheaper because they gamed the frequent flier mile system for 589,653 points.<br />
<br />
It gets worse, if you open up any of your social media feeds, someone is probably on vacation sharing photos with casual captions like, “Just another day in…”<br />
<br />
They’re pretty much rubbing in how awesome their life is and how much your life sucks.<br />
<br />
But the joke is on them because traveling sucks!<br />
<br />
4. Lost loves and chances<br />
<br />
I’ve lived abroad 2 times and each of those times I’ve had little flings with some of the locals there. But they all ended on the departure date printed on my boarding pass.<br />
<br />
One fling comes to mind. She was pretty cool. We kept in touch briefly after I left the country, but then lost touch. We connected again when social media hit the scene. All I saw was photos with her new fiancé. I couldn’t help but wonder, “what if…”<br />
<br />
Another time in Israel, I stayed up until the wee hours of dawn talking to an Australian girl I met. She was perfect. Hot, adventurous and down to earth. Actually, I found it hard to believe that I was talking to her. But that doesn’t matter. I never saw her again.<br />
<br />
I kept hoping I would somehow run into her during my time there. That never happened. That still didn’t keep me from daydreaming, and thinking of what I’d say to her if I ran into her again. In the middle of all that daydreaming, I was being ripped off, paranoid and trying to one up everyone I met.<br />
<br />
How could you have a good time with all that on your mind?<br />
<br />
5. You’re always tired<br />
<br />
It was early. Or was it late? I don’t even know. I just arrived and I was dead tired. I wanted to get to the hotel and have some food. But I just ordered food and I didn’t even realize it.<br />
<br />
So I paid for food that I never got to eat. I got ripped off. Again.<br />
<br />
6. Cultural experiences are overrated<br />
<br />
When I returned from Israel I would share my cultural experiences with people. “That’s nice they’d say…but so and so got shitfaced and kicked out of a bar the other night. And Dancing With the Stars is on tonight.”<br />
<br />
That’s real entertainment. Cultural stuff? Not so much.<br />
<br />
But let’s be real, all I was doing was trying to one up everyone by showing off how worldly I was.<br />
<br />
I’ve also been on countless tours and I don’t remember a single thing about any of them. Here’s one thing I do remember about tours I’ve been on: They all end in the gift shop.<br />
<br />
7. You end up with a bunch of useless shit<br />
<br />
I thought I was clever. I bargained with the guy for a good deal on a bunch of pre-Columbian art. I did the same for some pirated Russian DVDs that I ended up throwing out recently. I loved going to the market and haggling the vendors on price.<br />
<br />
I always won. Or so I thought…<br />
<br />
The joke is on me. I ended up with so much useless shit that I don’t know what to do with it all. I sent a bunch of Russian nesting dolls and a Peruvian wool hat to soldier in Afghanistan. It was part care package, and part gag gift. Maybe he could use the nesting dolls for target practice. Maybe he gave them to some Afghan kid as a piece of forbidden history. Who knows. But I do know that I have absolutely zero use for them.<br />
<br />
I thought I developed street-wise bargaining skills in the souvenir markets of Jerusalem, but in reality, I just got ripped off.<br />
<br />
Again.<br />
<br />
8. Different toilet rules<br />
<br />
Foreign bathrooms can be confusing. I’ve traveled to many places where signs in bathrooms read “Do Not Flush Toilet Paper.” They put a little garbage can for you to throw out your used shit tickets. The signs are clearly geared towards foreigners who mess up a lot.<br />
<br />
I always throw toilet paper in the toilet. It’s just a habit. I can’t NOT do it. So I stuff the toilet with toilet paper and then flush it to leave a flooded mess for the next person.<br />
<br />
Maybe I’m a bad person. But I’ve walked in upon many flooded messes myself. So apparently I’m not the only one. Some poor person has to clean that all up at the end of the day. But maybe we’re all just getting even with the places and people that rip us off.<br />
<br />
9. Airports<br />
<br />
I’ve never met a single person that likes airports. Yet, I’ve had to stay overnight in them a number of times.<br />
<br />
10. You don’t find happiness<br />
<br />
Some people will have you believe that you can simply leave everything behind and lead the life of a vagabond and you’ll be happy. No responsibilities, no worries…only freedom! Maybe it works for these people and more power to them if it does. I’ve never found real happiness and riches on the road.<br />
<br />
In the early 1900s, Reverend Russell Conwell gave an inspirational lecture called “Acres of Diamonds.” In it, he tells the story of a farmer who sells his farm so he could travel the world looking for diamonds. He spends his entire life looking for diamonds and never finds them. Finally, after a long search, he returns home broke and exhausted.<br />
<br />
Meanwhile, the man who purchased the farm finds a diamond in a creek on the property. It turns out, the farm was located on one of the world’s largest diamond mines.<br />
<br />
Sometimes you struggle, you travel long and far, and you hope to find happiness and riches. Then, you return home only to find them in your backyard.<br />
<br />
Right where you left them before you took off. If you can help it, don't travel. You will thank me later.<br />
<br />
-- Adapted and personalized from material in a blog post by Joe Choi<br />
<div style="text-align: center;">
<span style="font-family: news-gothic-std, Helvetica Neue, Helvetica, Arial, sans-serif;"><span style="background-color: white; font-size: 17px; line-height: 20.3616008758545px;"><b> </b></span></span></div>
peterbromberghttp://www.blogger.com/profile/18173639411723574123noreply@blogger.com0