tag:blogger.com,1999:blog-68572192024-03-08T19:53:28.297+01:00Svein Terje's BlogWell.. here it is... my BLOG! Started out being mostly used for dropping bookmarks - links to good sites relating to my current interests. Now even with some code samples and comments about interesting pages.Unknownnoreply@blogger.comBlogger289125tag:blogger.com,1999:blog-6857219.post-90669118600804390972022-03-30T10:12:00.001+02:002022-03-30T10:14:04.872+02:00GIT Bash listing all branches as new on every pull <p> Problem: </p><p>Whenever I did a "git pull" or "git fetch", it would list all branches as new, it seemed. </p><p>Reason:</p><p>The reason was that we had subfolders in the path to the repo thet were written with either capital or small letters. Windows is not case sensitive, but git is. The subfolder somehow had been fetched with capital letters, but the standard was to have small characters.</p><p>Solution:</p><p>While in the root folder of your project...</p><p>cd .git/refs/remotes/origin/feature</p><p>ls</p><p>See that there is a folder with the wrong casing.</p><p>Do a:</p><p>rm OFFENDING_FOLDER -R</p><p>Navigate back down to project root folder.</p><p>Make sure that the branch you are on is using the path the way you want it.</p><p>git pull</p><p>It will now create the removed folder with the correct casing.</p><p><br /></p>Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-84720431847996993642018-01-05T17:14:00.003+01:002018-01-05T17:21:24.220+01:00Visual Studio 2017 - Go to Definition: Cannot navigate to the symbol undfer the caret.<h4>
Symptoms</h4>
The Go to Definition sometimes stops working, and I don't know why. The first symptom that this is happening is that the coloring of some class is unaltered (white) when it should be green.<br />
<br />
<br />
<h4>
Possibly related info</h4>
<div>
I am using VS 2017 Professional with ReSharper Ultimate.<br />
<br />
<br /></div>
<h4>
Ways to fix it in order from least trouble afterwards to most</h4>
<br />
<ul>
<li>Clean solution</li>
<ul>
<li>Close all files</li>
<li>Clean solution</li>
<li>Restart Visual Studio</li>
<li>Recompile all</li>
</ul>
</ul>
<br />
<ul><ul>
<li>This did not work for me.</li>
</ul>
</ul>
<br />
<ul><ul>
</ul>
<li>Empty the symbol cache</li>
<ul>
<li>Tools > Options > Debugging > Symbols > EmptySymbolCache</li>
<li>Open VS in admin mode</li>
</ul>
</ul>
<br />
<ul><ul>
<li>I have not tried this yet.</li>
</ul>
</ul>
<br />
<ul><ul>
</ul>
<li>Delete the .vs folder</li>
<ul>
<li>Close VS</li>
<li>Delete the .vs folder from your solution folder</li>
<li>Start VS</li>
<li>Recompile</li>
</ul>
</ul>
<br />
<ul><ul>
<li>I have not tried this yet.</li>
</ul>
</ul>
<br />
<ul><ul>
</ul>
<li>Delete obj and bin folders</li>
<ul>
<li>Close VS</li>
<li>Delete obj and bin folders from your project folder</li>
<li>Start VS</li>
<li>Recompile</li>
</ul>
</ul>
<br />
<ul><ul>
<li>I have not tried this yet</li>
</ul>
</ul>
<br />
<ul><ul>
</ul>
<li>Delete the .user file from the project folder (may be hidden)</li>
<ul>
<li>This will reset the customizations you've done to the IDE</li>
<li>The user file contains user preferences, such as debugging and deployment settings; used for saving and loading project preferences for a specific user.</li>
</ul>
</ul>
<br />
<ul><ul>
<li>I haven't tried this yet.</li>
</ul>
</ul>
<br />
<ul><ul>
</ul>
<li>Run devenv.exe /resetuserdata</li>
<ul>
<li>Devenv.exe may be found in... <br />C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE</li>
<li>This will reset many of your IDE customizations, including installed plugins.</li>
<li>ReSharper has to be repaired afterwards.</li>
</ul>
</ul>
<br />
<ul><ul>
<li>This worked for me.</li>
</ul>
</ul>
<br />
<br />
Source:<br />
<a href="https://stackoverflow.com/questions/33029127/go-to-definition-cannot-navigate-to-the-symbol-under-the-caret">https://stackoverflow.com/questions/33029127/go-to-definition-cannot-navigate-to-the-symbol-under-the-caret</a><br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-39781189018263337332017-10-04T15:48:00.001+02:002017-10-04T15:48:12.534+02:00Webpack has been initialised using a configuration object that does not match the API schema.On Windows, when running yarn (custom action "start") to start the dev server, on the step that starts the webpack-dev-server, I had the following error message: <br />
<br />
<pre>$ webpack-dev-server --debug --hot --progress --colors
10% building modules 2/2 modules 0 active</pre>
<pre> Invalid configuration object. </pre>
<pre> Webpack has been initialised using a configuration object that does not match the API schema.</pre>
<pre> ... </pre>
<br />
This was not an easy one to understand, but it turned out to be very simple.<br />
<br />
When I had CD-ed into the React app folder, I had typed the foldername with only lower case characters. The foldername was originally typed with a capital first letter. Webpack did not like that.<br />
<br />
Solution:<br />
cd ..<br />
cd Folder<br />
yarn start<br />
<br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-55826352682950812762017-09-22T14:37:00.004+02:002017-09-22T14:45:56.232+02:00Links to old ASP.NET Membership / Role / Profile provider code on githubA bit hard to locate these nowadays I've been told, so I'm just gonna post them here, mostly for my own sake.<br />
<br />
So here they are:<br />
<br />
Membership:
<a href="https://github.com/Microsoft/referencesource/blob/master/System.Web/Security/SQLMembershipProvider.cs">https://github.com/Microsoft/referencesource/blob/master/System.Web/Security/SQLMembershipProvider.cs</a><br />
<br />
Role:<br />
<a href="https://github.com/Microsoft/referencesource/blob/master/System.Web/Security/SQLRoleProvider.cs">https://github.com/Microsoft/referencesource/blob/master/System.Web/Security/SQLRoleProvider.cs</a><br />
<br />
Profile:
<a href="https://github.com/Microsoft/referencesource/blob/master/System.Web/Profile/SqlProfileProvider.cs">https://github.com/Microsoft/referencesource/blob/master/System.Web/Profile/SqlProfileProvider.cs</a>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-40772658161588371892017-09-11T11:37:00.001+02:002017-09-11T12:37:13.159+02:00Adding nicer icons to the PageTree in EPiServerI did some research about adding nicer icons for pages in the EPiServer Page Tree, and I came up with some nice resources.<br />
<br />
What seems to be common for all approaches is that you must create css-classes that encapsule each icon to use. At the moment I don't see how to get around this without actually creating the classes.<br />
<br />
You also need to create an InitializableModule which sets up the icons when the web is started. I have omitted that code here. Please read the example from the first example below (from blog.nansen.com), for that code.
<br />
<br />
This example is complete and shows how to use your own (or a third party lib) icons:<br />
<a href="http://blog.nansen.com/2014/10/page-tree-icons-in-episerver-cms-75.html">http://blog.nansen.com/2014/10/page-tree-icons-in-episerver-cms-75.html</a><br />
<br />
This example shows how to create your own icons (as an image sprite) and use for the icons: <a href="https://jonika.nu/JonasBlogg/archives/347">https://jonika.nu/JonasBlogg/archives/347</a><br />
<br />
<br />
Here's one that shows how to use the already included icons from EPiServer:<br />
<a href="https://ericceric.ghost.io/use-episervers-content-icons-as-site-tree-icons/">https://ericceric.ghost.io/use-episervers-content-icons-as-site-tree-icons/</a><br />
<br />
In stead of creating and maintaining the list of Episerver icons yourself, as in the example above, you could go for the Jon D Jones nuget package: https://www.nuget.org/packages/JonDJones.IconPack/. This iconpack does not really contain any icons, just convenience constants that point to the built-in episerver icons (it seems so to me anyway).<br />
<br />
<br />
I created a generic attribute, based on reflection, that plugs in the JonDJones icon pack (download from Nuget, as mentioned) into the first example I mentioned from the "nansenblog":<br />
<br />
<pre class="brush: csharp">[AttributeUsage(AttributeTargets.Class)]
public class ContentIconAttribute : Attribute
{
public ContentIconAttribute(Type type, string propertyName)
{
IconClass = GetStaticStringValueFromLib(type, propertyName);
}
private string GetStaticStringValueFromLib(Type libType, string name)
{
var fieldInfo = libType.GetField(name);
var propInfo = libType.GetProperty(name);
var value = (fieldInfo?.GetValue(null) ?? propInfo?.GetValue(null)) as string;
return value;
}
/// <summary>
/// Css class to apply to the icon
/// </summary>
public string IconClass { get; set; }
}
</pre>
<br />
And here's how to use it:
<br />
<pre class="brush: csharp">
using JonDJones.IconPack;
[ContentIcon(typeof(ObjectIcons), nameof(ObjectIcons.Start))]
public class StartPageModel : BasePage
{
...
}
</pre>
<div>
</div>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-3049474534942524762017-06-13T12:38:00.000+02:002017-06-13T15:28:16.206+02:00Always run Visual Studio as administratorI am using Visual Studio a lot, and when I pin it to the task bar in Windows 10, right-clicking it will bring up a (popup) list of my last opened projects.<br />
<br />
I need to run VS as Administrator, to be able to debug my web applications running on the local IIS.<br />
<br />
So when I right-click the pinned VS-icon on the task bar, I can right-click on Visual Studio, then select "Run As Administrator", which is fine. The problem is that I cannot right-click on any of my previously opened solutions and run VS as admin while opening that solution.<br />
<br />
On a shortcut (and probably also some exe-files) you will get the option to "always run as administrator". Problem is, this option does not appear when looking at the properties of the DevEnv.exe file, so you need to "fake" it by going into the compatibility settings.<br />
<br />
In essense: What I want to do is basically to always open Visual Studio "As Administrator". <br />
<br />
So here's how:<br />
<br />
From link 1 below:<br />
<ol>
<li>Locate devenv.exe, by right-clicking the VS icon and selecting properties, then see the link in the shortcut. </li>
<li>Right-click devenv.exe and choose <b>Troubleshoot compatibility</b>. </li>
<li>In the new window click at <b>Troubleshoot Program</b>. </li>
<li>Check <b>The program requires additional permissions</b>. </li>
<li>Click "Next" until you get to a button that says "Test the application". </li>
<li>Click the button and VS will be launched "As Administrator". </li>
<li>Switch back to the dialog, press "Next".</li>
<li>Click the top option to save the preferences. </li>
</ol>
<br />
Sources:<br />
<ol>
<li><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>NO-BOK</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="374">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hashtag"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Vanlig tabell";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]--><span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><a href="https://superuser.com/questions/465065/no-compatibility-tab-for-devenv-exe-vs-2010-and-vs-2012-on-windows-8">https://superuser.com/questions/465065/no-compatibility-tab-for-devenv-exe-vs-2010-and-vs-2012-on-windows-8</a> </span></li>
</ol>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;">Related:</span><br />
<ol>
</ol>
<ul>
<li><span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><a href="https://stackoverflow.com/questions/9654833/how-to-run-visual-studio-as-administrator-by-default">https://stackoverflow.com/questions/9654833/how-to-run-visual-studio-as-administrator-by-default </a></span></li>
<li><a href="https://superuser.com/questions/405643/how-to-start-a-program-as-administrator-through-a-pinned-to-taskbar-shortcut-th"><span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;">https://superuser.com/questions/405643/how-to-start-a-program-as-administrator-through-a-pinned-to-taskbar-shortcut-th</span></a></li>
<li><span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><a href="https://superuser.com/q/465065/155331">https://superuser.com/q/465065/155331</a> </span></li>
</ul>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><br /></span>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><br /></span>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-72116102021007949472017-04-19T13:55:00.000+02:002017-04-19T14:35:28.794+02:00Get time for given countryThis code gets the first time zone for a country (meaning it probably won't work if your country has more than one), and calculates the date/time given the UTC date/time.<br />
<br />
The method is an extension to the DateTime type, meaning you can use it by typing .AsLocalTimeForGivenCountryFromUtc(countryCode) after a variable or function returning that type. The countryCode parameter is a string, and must be a two-letter ISO 3166-1 country code.<br />
<br />
You need to import John Skeets NodaTime library from NuGet.<br />
<br />
Code:<br />
<div style="overflow-x: scroll; width: 100%;">
<pre>using NodaTime.TimeZones;
using System;
using System.Linq;
namespace MyNameSpace
{
public static class DateTimeExtension
{
public static DateTime AsLocalTimeForGivenCountryFromUtc(this DateTime utcDateTime, string countryCode)
{
//no matter what tz info is on the date, assume it is UTC
var dte = new DateTime(utcDateTime.Year, utcDateTime.Month, utcDateTime.Day, utcDateTime.Hour, utcDateTime.Minute, utcDateTime.Second, DateTimeKind.Utc);
var tzMapping = TzdbDateTimeZoneSource.Default.WindowsMapping.MapZones.FirstOrDefault(t => t.Territory == countryCode); //NodaTime
var tz = TimeZoneInfo.FindSystemTimeZoneById(tzMapping.WindowsId);
return TimeZoneInfo.ConvertTimeFromUtc(dte, tz);
}
}
}
</pre>
</div>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-26371000749310728412017-04-06T09:01:00.001+02:002017-04-06T11:32:44.633+02:00Visual Studio 2015 Freezes when ReSharper is runningOk, so finally got ReSharper installed. Again. Been doing fine without it for a while, but the team is using it so I got myself a license. But it was a bit of a disappointment at first. It seems that whenever I build my solution, which has both some C# and one F# project, VS freezes. Today it even crashed after being unresponsive for quite a few minutes. Seems more people have the same problem:<br />
<br />
<a href="https://resharper-support.jetbrains.com/hc/en-us/articles/206546149-Visual-Studio-with-ReSharper-is-freezing-and-or-crashing?flash_digest=fcf1e14381f3c8171cbc9129d0fa536af24a7a10">https://resharper-support.jetbrains.com/hc/en-us/articles/206546149-Visual-Studio-with-ReSharper-is-freezing-and-or-crashing?flash_digest=fcf1e14381f3c8171cbc9129d0fa536af24a7a10</a><br />
<br />
So what happened was that I was in my F# project making some changes, then I built the solution, and then I went on to do some more changes in the same project, but things were moving very slowly, and in the end froze completely and then the crash.<br />
<br />
So my working theory is that the problem may be related to F#. So I have added the F# project folder to the exclude list in R# options. I also added the *.fs file type to the excluded files.<br />
<br />
So far it's looking good. I have built several times, and editing F# code is smooth.<br />
<br />
PS. Still looking good! :) Think I found the solution!<br />
<br />
PPS. Also disabling R# for TypeScript files may be a good idea (or so I've heard).<br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-26856821120763856742017-04-03T15:18:00.001+02:002017-04-19T14:05:18.886+02:00Things that may be confusing when moving to F#I have been doing C# for quite a few years, and I have started using F# recently. I am only occasionally coding in F# so I tend to forget some things from one time to the other. So here's what I must remember:<br />
<ul>
<li>The sequence of F# code files in Visual Studio matters!</li>
<ul>
<li>To have access to a module or type from another module, that module must be declared before (higher up) the other module.</li>
<li>To move a module up, use Alt + ArrowUp.</li>
</ul>
<li> Indentation matters!</li>
<ul>
<li>If some code is part of some enclosing element, that code must be indented.</li>
</ul>
</ul>
Here's a great article:<br />
<a href="http://connelhooley.uk/blog/2017/04/10/f-sharp-guide">http://connelhooley.uk/blog/2017/04/10/f-sharp-guide</a><br />
<br />
<ul><ul>
</ul>
</ul>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-24713281205621192322017-01-13T09:23:00.000+01:002017-02-07T14:43:39.729+01:00Free Code Improvement AlternativesI really liked using ReSharper (JetBrains) in Microsoft Visual Studio.<br />
<br />
There are also some other commercial tools like it:<br />
- CodeRush (DevExpress)<br />
- JustCode (Telerik)<br />
<br />
The functionality that I found most useful was:
<br />
- Go To Implementation <br />
- Find Usages
<br />
- Suggestions on code improvements<br />
- Extract function <br />
<br />
I think that ReSharper has become too expensive now, currently at a $299 first year subscription, then a bit lower on subsequent years. That's about 40% of the price of Visual Studio Professional, and you don't even buy the product - you subscribe.<br />
<br />
So
I am testing out this combo as an alternative:<br />
<br />
Roslyn provides the Light Bulb for code improvements:<br />
<a href="https://blog.tommyparnell.com/vs-2015-getting-resharper-experiance-without-resharper/">https://blog.tommyparnell.com/vs-2015-getting-resharper-experiance-without-resharper/</a> <br />
<br />
Several very handy tools:
<br />
- <a href="https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.ProductivityPowerTools2015">Productivity Power Tools</a>
<br />
<br />
For more code improvement suggestions (pick one, not both):
<br />
- <a href="https://www.nuget.org/packages/codecracker.CSharp/">CodeCracker for C#</a> (testing this now, looks good)<br />
- <a href="http://vsrefactoringessentials.com/">Refactoring Essentials for Visual Studio</a>*<br />
<br />
I have also tested <a href="http://www.codemaid.net/">CodeMaid</a>, but not just right now*. <br />
I may enable it again at a later point in time though.
<br />
It looks like a very useful addition to Visual Studio.<br />
<br />
Here are some related Stack Overflow questions:<br />
<a href="http://stackoverflow.com/questions/2834439/what-are-some-alternatives-to-resharper">http://stackoverflow.com/questions/2834439/what-are-some-alternatives-to-resharper</a><br />
<a href="http://stackoverflow.com/questions/24542406/alternatives-to-resharper">http://stackoverflow.com/questions/24542406/alternatives-to-resharper</a><br />
<br />
*Enabling too many competing plugins may cause VS to run very slowly. Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-72456316854309639772016-08-05T08:39:00.003+02:002016-08-05T08:41:34.248+02:00Appear to browse from a different country<p>If you want to test what your website looks like for people in a different country, you might like to try this:</p>
<p>
<a href="http://teleport.to">http://teleport.to/</a>
</p>
<p>
Use at your own discretion.
</p>Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-74049815414460067492016-06-02T08:09:00.000+02:002016-06-02T08:28:33.542+02:00CS1056: Unexpected character '$'<span style="font-family: Arial,Helvetica,sans-serif;">When you get the message " CS1056: Unexpected character '$' " in runtime asp.net, it means that the
front end file (html/aspx) is using a way of
formatting strings which is called "string interpolation".</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">But to use string interpolation in your web frontend files you must put the following into your web.config file:</span><br />
<br />
<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;">
<div class="codeContent panelContent pdl">
<div>
<div class="syntaxhighlighter sh-confluence nogutter java" id="highlighter_529976">
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td class="code"><div class="container" title="Hint: double-click to select code">
<div class="line number1 index0 alt2">
<code class="java plain"><system.codedom></code></div>
<div class="line number2 index1 alt1">
<code class="java spaces"> </code><code class="java plain"><compilers></code></div>
<div class="line number3 index2 alt2">
<code class="java spaces"> </code><code class="java plain"><compiler language=</code><code class="java string">"c#;cs;csharp"</code> <code class="java plain">extension=</code><code class="java string">".cs"</code></div>
<div class="line number4 index3 alt1">
<code class="java spaces"> </code><code class="java plain">type=</code><code class="java string">"Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"</code></div>
<div class="line number5 index4 alt2">
<code class="java spaces"> </code><code class="java plain">warningLevel=</code><code class="java string">"4"</code> <code class="java plain">compilerOptions=</code><code class="java string">"/langversion:6 /nowarn:1659;1699;1701"</code><code class="java plain">/></code></div>
<div class="line number6 index5 alt1">
<code class="java spaces"> </code><code class="java plain"><compiler language=</code><code class="java string">"vb;vbs;visualbasic;vbscript"</code> <code class="java plain">extension=</code><code class="java string">".vb"</code></div>
<div class="line number7 index6 alt2">
<code class="java spaces"> </code><code class="java plain">type=</code><code class="java string">"Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"</code></div>
<div class="line number8 index7 alt1">
<code class="java spaces"> </code><code class="java plain">warningLevel=</code><code class="java string">"4"</code> <code class="java plain">compilerOptions=</code><code class="java string">"/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"</code><code class="java plain">/></code></div>
<div class="line number9 index8 alt2">
<code class="java spaces"> </code><code class="java plain"></compilers></code></div>
<div class="line number10 index9 alt1">
<code class="java plain"></system.codedom></code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<br />
Source:<br />
<pre class="lang-xml prettyprint prettyprinted"><code><span class="tag">http://stackoverflow.com/questions/30832659/string-interpolation-in-a-razor-view</span></code></pre>
<pre class="lang-xml prettyprint prettyprinted"><code><span class="tag"> </span></code></pre>
<div class="lang-xml prettyprint prettyprinted">
<b><span style="font-family: inherit;"><code>Disclaimer:</code></span></b></div>
<span style="font-family: inherit;"><code><span style="font-family: Arial,Helvetica,sans-serif;">The above worked for me, but may not work for all .NET Framework versions and/or ASP.NET versions</span>.</code></span><br />
<pre class="lang-xml prettyprint prettyprinted"><code>
</code></pre>
<span style="font-family: inherit;"><code></code></span>Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-71561137116969251402016-03-02T10:43:00.000+01:002016-06-02T08:11:42.769+02:00Catching mailsWhen developing a solution, sometimes it is nice to be able to catch mails and store them somewhere in stead of potentially sending them to real customers.<br />
<br />
In web.config or app.config, there is a setting that can accomplish that for you:<br />
<br />
<blockquote class="tr_bq">
<pre class="lang-xml prettyprint prettyprinted"><code><span class="tag"><system.net></span><span class="pln">
</span><span class="tag"><mailSettings></span><span class="pln">
</span><span class="tag"><smtp</span><span class="pln"> </span><span class="atn">deliveryMethod</span><span class="pun">=</span><span class="atv">"SpecifiedPickupDirectory"</span><span class="tag">></span><span class="pln">
</span><span class="tag"><specifiedPickupDirectory</span><span class="pln"> </span><span class="atn">pickupDirectoryLocation</span><span class="pun">=</span><span class="atv">"c:\Temp\Mail"</span><span class="tag">/></span><span class="pln">
</span><span class="tag"></smtp></span><span class="pln">
</span><span class="tag"></mailSettings></span><span class="pln">
</span><span class="tag"></system.net></span></code></pre>
</blockquote>
If you install an eml-viewer or maybe just a regular mail client, you can open and read the mails from the folder you specified.<br />
<br />
Source:<br />
http://stackoverflow.com/questions/567765/how-can-i-save-an-email-instead-of-sending-when-using-smtpclient<br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-77809538301946936892016-02-16T07:54:00.001+01:002016-02-16T07:58:41.869+01:00Fiddler on Windows 10I've previously written about Fiddler here: <br />
<a href="http://stgaup.blogspot.no/2013/03/fiddler-tricks.html">http://stgaup.blogspot.no/2013/03/fiddler-tricks.html</a><br />
<br />
When installing Windows 10, you create an account which is not connected to any external host in any way. Later however, you probably associate your account/Windows 10 instance with your Microsoft account. Afterwards you will use your Microsoft account when logging in.<br />
<br />
In my previous post I mentioned one could make Fiddler work by running the app pool on the same account at that on which Fiddler is running (and which you are most likely logged on to).<br />
<br />
But there are now two accounts it seems:<br />
<ul>
<li>the one you created while installing, </li>
<li>and the Microsoft account, </li>
</ul>
so which one should you use when running Fiddler?<br />
Turns out it works with the Microsoft account.<br />
<br />
Username: someone@hotmail.com/outlook.com/live.com etc.<br />
Password: the password associated with the Microsoft account.<br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-75770213591120436252016-02-12T15:50:00.003+01:002016-02-16T12:41:36.075+01:00DLL-hell: log4net... oldKey vs newKeySince log4net now comes in 2 flavours, namely oldkey and newkey, since the Development team decided to change the key, this may cause some trouble.<br />
<br />
Here's my solution:<br />
<br />
1) Update your Project by getting the latest version from nuget (currently 1.2.15.0) by using update (or other). This should get you the "newkey" version, which has publicKeyToken="669e0ddf0bb1aa2a". You can also download it from Apache.<br />
<br />
2) Go to Apache and download the oldkey version (publicKeyToken="1b44e1d426115821"), and place it somewhere nice on your DEV PC.<br />
<br />
3) Open a Developer Command Prompt for your version of Visual Studio, and run the GACUTIL utility to install the oldKey dll into the Global Assembly Cache (GAC).<br />
<br />
4) Update the Runtime/assemblyBinding section of your config file (web.config or App.config) With the following:<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><dependentAssembly> </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <bindingRedirect oldVersion="0.0.0.0-1.2.15.0" newVersion="1.2.15.0" /> </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" /> </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"></dependentAssembly> </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><dependentAssembly></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <bindingRedirect oldVersion="1.0.0.0-1.2.15.0" newVersion="1.2.15.0" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"></dependentAssembly></span><br />
<br />
Hope this helps!<br />
<br />Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-92201792069962740012016-02-12T13:42:00.001+01:002016-02-12T13:56:48.713+01:00The .NET SDK 4.0 or 4.5 tools could not be found.First, my situation was that I had a brand new laptop which I had installed Windows 10 on. Next I installed Visual Studio 2015 Community Edition, full install (including support for F#). <br />
<br />
<br />
So when I tried to compile my F# projects, I got this error:<br />
<br />
<blockquote class="tr_bq">
The type provider
'Microsoft.FSharp.Data.TypeProviders.DesignTime.DataProviders' reported
an error: The .NET SDK 4.0 or 4.5 tools could not be found.</blockquote>
<br />
So I found these resources:<br />
<ul>
<li><a href="https://github.com/Microsoft/visualfsharp/issues/753">https://github.com/Microsoft/visualfsharp/issues/753</a></li>
<li><a href="https://github.com/Microsoft/visualfsharp/issues/637">https://github.com/Microsoft/visualfsharp/issues/637</a></li>
<li><a href="https://github.com/Microsoft/visualfsharp/issues/637">https://github.com/Microsoft/visualfsharp/issues/637</a></li>
</ul>
<br />
<ul>
</ul>
The third one seems to be the one to read, it has several suggestions. I tried to do several of them, but what fixed it in the end for me was the suggestion in the very last post:<br />
<ul>
<li>Install Windows 8 SDK.</li>
</ul>
<br />
<ul>
</ul>
I first had a problem installing it, it rolled back while installing, so what I think worked was to just check "Windows SDK" and ".NET 4.5 SDK" in the list of components, leaving the rest unchecked. I also tried to re-register the vbscript dll as per this post (which you may also try if it won't install):<br />
<ul>
<li>http://stackoverflow.com/questions/19251176/error-code-2753-during-install</li>
</ul>
<br />
<ul>
</ul>
I also ran the script that was mentioned in the forum, just mentioning in case it may have been a part of the solution.<br />
<br />
<br />
I also restarted my PC quite a few times.<br />
<br />
<br />
So what didn't work (or did not seem to):<br />
<ul>
<li>Install Windows 8.1 SDK </li>
<li>Install Windows 10 SDK</li>
</ul>
<br />
<ul>
</ul>
Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com1tag:blogger.com,1999:blog-6857219.post-12867453239474985192015-01-22T11:30:00.001+01:002015-01-22T12:44:13.471+01:00Fun with programming<p>Have a go at these puzzles: <br><a title="https://www.codehunt.com/" href="https://www.codehunt.com/">https://www.codehunt.com/</a><br><a title="http://www.pexforfun.com/" href="http://www.pexforfun.com/">http://www.pexforfun.com/</a></p> <p>Here’s a fun programming language that even (or especially) kids may try:<br><a title="https://blockly-games.appspot.com/" href="https://blockly-games.appspot.com/">https://blockly-games.appspot.com/</a></p> <p>Here’s another called Scratch:<br><a title="http://scratch.mit.edu/" href="http://scratch.mit.edu/">http://scratch.mit.edu/</a></p> <p>Resources for teaching kids to code:<br><a title="http://www.teachkidstoprogram.com/" href="http://www.teachkidstoprogram.com/">http://www.teachkidstoprogram.com/</a></p> Svein Terje Gauphttp://www.blogger.com/profile/17523818757834614812noreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-30569699110348971222014-07-28T11:44:00.001+02:002014-07-28T12:47:04.342+02:00Windows 7 Won’t Boot: 0x0000007B<p>My Windows 7 PC would not boot. It turned out some of the boot files were corrupt or missing, and I got a bluescreen during startup: <br><a title="https://flic.kr/p/odkE3W" href="https://flic.kr/p/odkE3W">https://flic.kr/p/odkE3W</a>.</p> <p>Also when I tried to fix the problem using automatic recovery I got an error saying “Failed to Save Startup Options”.</p> <p>Luckily someone else had had the same problem:<br><a title="http://answers.microsoft.com/en-us/windows/forum/windows_7-system/bootmgr-error-cant-load-windows-automatic-repair/e2f50f68-a49a-4936-8ca6-8d920557262a?rtAction=1406539673501" href="http://answers.microsoft.com/en-us/windows/forum/windows_7-system/bootmgr-error-cant-load-windows-automatic-repair/e2f50f68-a49a-4936-8ca6-8d920557262a?rtAction=1406539673501">http://answers.microsoft.com/en-us/windows/forum/windows_7-system/bootmgr-error-cant-load-windows-automatic-repair/e2f50f68-a49a-4936-8ca6-8d920557262a?rtAction=1406539673501</a></p> <p>Solution summary:</p> <p>1. Open the command prompt from the recovery console.</p> <p>2. Run: BOOTREC C:\Windows C:</p> <p>It will create new boot files on your C-drive. The first parameter is your windows folder.</p> <p>3. If your boot sector is in fact damaged (mine was not) you should probably drill deeper into the Community answer mentioned above and follow the steps.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-32317994112979061012014-04-28T10:10:00.001+02:002014-04-28T10:10:54.233+02:00System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL<p>I run into this error message from time to time, and every time I have forgotten what to do, hence I am writing it here.</p> <p>This is the command:<br><strong>netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user</strong></p> <p>Source:<br><a title="http://msdn.microsoft.com/en-us/library/ms733768.aspx" href="http://msdn.microsoft.com/en-us/library/ms733768.aspx">http://msdn.microsoft.com/en-us/library/ms733768.aspx</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-27125786091406213502014-02-06T14:33:00.001+01:002014-02-06T14:38:59.421+01:00EPiServer PageReference Extension: FindPagesOfType<T>(…)<p>Here’s my extension method for searching for pages of a given type T under an EPiSever (PageTypeBuilder) Page referred to by the PageReference which this method extends.</p> <p>public static IEnumerable<T> FindPagesOfType<T>(<br>this PageReference pageLink, string languageBranch)<br>where T : TypedPageData<br>{<br> //get page type id from type<br> var pageTypeId = PageTypeResolver.Instance.GetPageTypeID(typeof(T));</p> <p> if (!pageTypeId.HasValue)<br> return new List<T>(); //return empty enumerable</p> <p> // Create criteria collection<br> var criterias = new PropertyCriteriaCollection<br> {<br> // Find pages of a specific page type <br> new PropertyCriteria()<br> {<br> Name = "PageTypeID",<br> Condition = CompareCondition.Equal,<br> Required = true,<br> Type = PropertyDataType.PageType,<br> Value = pageTypeId.Value.ToString("0") <br> }<br> };</p> <p> var pages =<br> DataFactory.Instance.FindPagesWithCriteria(<br> pageLink,<br> criterias,<br> languageBranch,<br> new LanguageSelector(languageBranch))<br> .Cast<T>();</p> <p> return pages;<br>}</p> <p>Example usage:</p> <p>var myArticles = <br>PageReference.StartPage.FindPagesOfType<Article>(CurrentPage.LanguageBranch);</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-55560631664783943522014-01-28T09:59:00.001+01:002014-01-28T10:05:54.576+01:00Invalid User Control Reference added by ReSharper?<p>ReSharper usually offers nice autocomplete suggestions. However when on a WebForm, adding a WebUserControl and then clicking the autocomplete popup suggestion adds an usnusable Register statement. Here’s an example of such a statement:</p><pre><font size="1"><%@ Register TagPrefix="PRE" Namespace="My.Namespace" Assembly="My.Namespace" %></font></pre><pre><font size="1" face="Arial">What happens when this is added is that the compiler thinks everything is fine, but when you try to run it the controls inside your user control will be null.</font></pre><pre><font size="1" face="Arial">The proper statement should be like this:</font></pre><pre><%@ Register TagPrefix="PRE" TagName="MyControl" Src="~/templates/Units/MyControl.ascx" %><br /></pre><pre><font size="1"><font face="Arial">Ref my Stack Overflow question:<br></font><a title="http://stackoverflow.com/questions/13305213/aspnet-webforms-server-control-is-null-in-page-load" href="http://stackoverflow.com/questions/13305213/aspnet-webforms-server-control-is-null-in-page-load"><font face="Arial">http://stackoverflow.com/questions/13305213/aspnet-webforms-server-control-is-null-in-page-load</font></a></font></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-85908408433261272432013-11-11T12:50:00.001+01:002013-12-10T08:17:30.728+01:00Apple iPhone 4 not showing up in Windows Live Photogallery on Windows 7<p>This is for iPhone 4, but may also work on other versions of iPhone.</p> <p>The problem I am having is that the iPhone does not show up when I press the “Import” button in Windows Live Photogallery, and it’s been driving me nuts.</p> <p>So today I fixed the problem this way:</p> <p><strong>Procedure 1 (RECOMMENDED):<br></strong>1. Connect the phone to your Windows PC<br>2. Open Programs from the Control Panel, and then click the Programs and Features link.<br>3. Locate and right click the Apple Mobile Device Support application, then choose Repair.<br>4. Locate and right click the Apple Application Support application, then choose Repair.<br>5. If you have opened Windows Live Photogallery, close and restart it, then click the “Import” button (top left).</p> <p>Unfortunately it seems to me that I need to do that each time I connect my iPhone, so it is somehow reverted when I restart the computer. I really think someone at Apple or Microsoft should have done a better job to avoid these problems.</p> <p>If this does not fix your problem, then I must admit that I also did the following before the procedure above:</p> <p><strong>Procedure 2 (NOT RECOMMENDED/STRONGLY DISCOURAGED):</strong><br>1. Connect the phone to your Windows PC<br>2. Open Device Manager (Right click Computer, then choose Properties, then click the Device Manager option).<br>3. Under “Universal Serial Bus controllers” I found at the top an entry called something starting with Apple. <br>4. Uninstall the driver for this.<br>5. Repeat Procedure 1.</p> <p>Problem now is that iTunes cannot detect the phone any more.<br>So… I will need to repair or reinstall iTunes, which is turning out to be a nightmare from hell.</p> <p>To reinstall iTunes you need to uninstall (according to <a title="http://support.apple.com/kb/ht1925" href="http://support.apple.com/kb/ht1925">http://support.apple.com/kb/ht1925</a>):<br>1. iTunes<br>2. Apple Software Update<br>3. Apple Mobile Device Support<br>4. Bonjour<br>5. Apple Application Support</p> <p>I needed to uninstall the following also, although it did not say so on Apple’s web page so I am unsure the web page is up to date:<br>6. iCloud</p> <p>Then restart your computer.</p> <p>Then download the latest version of iTunes from Apple, and run the installation.</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-16010045765184549522013-10-21T09:49:00.001+02:002013-10-21T09:54:47.451+02:00Safe Enum Pattern<p>Here’s my implementation of the Safe Enum Pattern. </p> <p>Why? Because Enums are kind of cumbersome to handle, and you need to use methods like Enum.Parse and Enum.ToObject etc, and you cannot compare them to string without casting them to string.</p> <p>I just wanted to collect all my constant strings in one place, and also allow them to be constrained to a set of values, so that I can send them as parameters to a function knowing that only my predefined legal values will be allowed.</p> <p>So to make it easy to compare them I have implemented the IEquatable<T> interface, and also operator overloading on the == and != operators, so that I can do this:</p> <p>PropertyName myPropertyName = getPropertyName();<br>if(myPropertyName == “test”) { /*… do stuff */ }</p> <p>I can also have a function like this:</p> <p>public object GetPropertyValue(PropertyName propertyName)<br>{<br> ….<br>}</p> <p>And I am guaranteed that only my set of valid strings will be allowed as a parameter, like enums really.</p> <p>Well, here’s the code:</p><pre><font size="1" face="Corbel">public class SafeEnumBase : IEquatable<string>, IEquatable<SafeEnumBase><br />{<br> </font><font size="1" face="Corbel">public SafeEnumBase(string name) { Name = name; }<br> public string Name { get; protected set; }<br> public override string ToString() { return Name; }</font></pre><pre><font size="1" face="Corbel"> #region IEquatable<T> implementetion<br> public bool Equals(string other)<br> {<br> return (other == Name);<br> }</font></pre><pre><font size="1" face="Corbel"> public bool Equals(SafeEnumBase other)<br> {<br> return (other.Name == Name);<br> }<br> #endregion</font></pre><pre><font size="1" face="Corbel"> #region OPERATOR OVERLOADING allows comparing objects to strings and objects to objects without need to specify which property to compare<br> public static bool operator ==(SafeEnumBase p1, PropertyName p2)<br> {<br> return p1.Equals(p2);<br> }<br> public static bool operator !=(SafeEnumBase p1, PropertyName p2)<br> {<br> return !p1.Equals(p2);<br> }<br> public static bool operator ==(SafeEnumBase p1, string p2)<br> {<br> return p1.Equals(p2);<br> }<br> public static bool operator !=(SafeEnumBase p1, string p2)<br> {<br> return !p1.Equals(p2);<br> }<br> #endregion</pre><p><br />}</p><p><br /> <br />public sealed class PropertyName : SafeEnumBase<br><br />{<br> private PropertyName(string name) : base(name) { }</p><p> public static readonly PropertyName ID = new PropertyName("ID");<br> public static readonly PropertyName NAME = new PropertyName("NAME");<br> public static readonly PropertyName NUMBER = new PropertyName("NUMBER");<br> public static readonly PropertyName TYPE = new PropertyName("TYPE");<br><br />}</font></p><br /><p><font size="1" face="Corbel">public sealed class ClassName : SafeEnumBase<br>{<br> private ClassName(string name) : base(name) { }</font></p><br /><p><font size="1" face="Corbel"> public static readonly PropertyName CUSTOMER = new PropertyName("CUSTOMER");<br> public static readonly PropertyName EMPLOYEE = new PropertyName("EMPLOYEE");<br> public static readonly PropertyName ADMIN = new PropertyName("ADMIN");<br> public static readonly PropertyName TYPE = new PropertyName("TYPE");<br>}</font></p><br /><p><font size="1" face="Corbel"></font></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-56194056362955994792013-08-27T07:51:00.001+02:002013-08-28T23:16:10.915+02:00My Instagram Tags Collection (work in progress)<h5><br>Animals</h5> <p>#igw_animal #natureskingdom #animal_digest #petsofinstagram #petstagram</p> <h5>Beauty</h5> <p>#jaw_dropping_shots #stunning_shots #flawless_shots #instagood #all_my_own #ig_watchers #ig_captures #ig_exquisite</p> <p>#jaw_dropping_shots – follow follow @jaw_dropping_shots<br>#stunning_shots – follow @stunning_shots<br>#flawless_shots – follow @flawless_shots<br>#instagood – follow @instagood<br>#all_my_own – follow @allmyown<br>#igw_photo – follow @ig_watchers<br>#ig_captures – follow @ig_captures<br>#ig_exquisite – follow @ig_exquisite</p> <h5></h5> <h5>Children</h5> <p>#thechildrenoftheworld #thepursuitofjoyproject #throughachildseyes #ig_kids #instagram_kids #childofig #kids_circle #childrenphotography</p> <h5>City / Urban</h5> <p>#ig_captures_city #citybestpics #rsa_streetview #bestofmycity_2see</p> <h5>Europe / World</h5> <p>#ig_europe #world_union #worldcaptures #world_shotz #worldplaces #worldingram</p> <h5>Nature / Landscape</h5> <p>#love_natura #landscapehunters #landscape_captures #ig_captures_nature #ig_captures_landscape</p> <h5>Norway</h5> <p>#i_love_norway #ignorway #bestofnorway #beautifulnorway #visitnorway #our_amazing_norway #wu_norway #instasfromnorway #igofnorway #life_in_norway #scanshots</p> <h5>Sky / Clouds</h5> <p>#rebel_sky #cloud_skye #cloudonthehorizon #cloudwhisperers #rsa_sky</p> <h5>Sunset</h5> <p>#fairytale_sunset #sunrise_sunsets_aroundworld #sunsetsniper #all_sunsets #ig_sunsetshots #sendmeyoursunset</p> <h5>Travel</h5> <p>#mytravelgram #ourtravelgram #globe_travel #travelgram #travelingram</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6857219.post-44361929648797228032013-08-26T10:16:00.001+02:002013-08-26T10:16:52.687+02:00Problem with Windows Live Photo Gallery not detecting iPhone 4<p>I am facing an issue which is that my iPhone 4 is not detected by Windows Live Photo Gallery. Well, sometimes it is showing up and sometimes not.</p> <p>My computer is running Windows 7 Professional.</p> <p>I normally connect my phone before I log on to my computer, sometimes even before I turn it on. Not sure if that makes any difference.</p> <p>When I attach my iPhone, iTunes runs the long lasting process of syncronizing and backing up my phone, so attaching and detaching the phone to see if that helps gets tedious, especially since it seems that iTunes takes posession of the phone and blocks all other programs while the backup is in process, and I must wait for it to finish each time.</p> <p>Sometimes it does help to detach and attach the phone though, but as I said, it’s a tedious process. There must be a better way!</p> Unknownnoreply@blogger.com0