PSake: “Exception: Unknown .NET Framework version, 4.6.1 specified in 4.6.1.”

If you get this error, you may have run another PSake script with a different framework version in the same PowerShell session.

Open a new PowerShell window and try again.

Posted in Uncategorized | Leave a comment

Rewriting git history – removing a directory

git filter-branch –force –index-filter ‘git rm –cached -r –ignore-unmatch directoryToRemove’ –prune-empty — –all

git push origin master –force

Posted in Uncategorized | Comments Off on Rewriting git history – removing a directory

Running IISRESET from Visual Studio

If you want a quick way of running IISRESET from within Visual Studio:

Tools > External Tools…

clip_image001

Add a new menu item to run C:\Windows\System32\iisreset.exe (note the checkboxes at the bottom)…

clip_image002

You then get a new menu item…

clip_image003

And the output is displayed in the Output panel…

clip_image004

Depending on your UAC settings, you may need to be running Visual Studio as Administrator for this to work.

Posted in Uncategorized | Comments Off on Running IISRESET from Visual Studio

UAC, Windows 10 and Visual Studio

http://stackoverflow.com/questions/12257110/can-you-force-visual-studio-to-always-run-as-an-administrator-in-windows-8

fix.reg:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
“C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\devenv.exe”=”~ RUNASADMIN”

Posted in Uncategorized | Comments Off on UAC, Windows 10 and Visual Studio

Progressive .NET Tutorials 2015

Microservices in .NET

IDL – interface definition language – swagger?

Components – don’t know what’s remote

SOA – make it being remote explicit

Microservices – bounded contexts, eventual consistency

Hard to let go of understanding everything

QA – just test the contract of each service, not the whole system – reduces problems caused by configuration problems

Don’t make services too small (Nanoservices) – can lead to too many changes in lots of places, latency (caching helps)

Monolith – staccato delivery

Break it up as each developer/team can only internalise so much

Embrace Conway’s law – check the long version of this

Eventual consistency – 2 phase commit doesn’t scale

Shared data – one source of truth, but can share out a “version” of the data

Try to avoid sharing dependencies, i.e. DTOs – duplicate theme

Enterprise service bus – becomes smart network, hard to test, locked in to vendor – keep the logic in the services instead

Anti-corruption layer for legacy code

Documentation driven design

REST in practice – reference data – ATOM feeds, very cacheable

Could use EventStore for the feed – then services poll the event feed – like a queue of orders in a restuarant

 

Versioning?

What about having a single API to cover everything?

Steps:

  1. Break up into bounded contexts
  2. Ubiquitous language

Brighter

Paramore

Hexaganol architecture

Deploying:

Monitoring

DNS SD & SRV records – difficult to manage, so Zookeeper/etcd etc better

Consul

http://microservices.io/patterns/microservices.html

Akka.NET

Concurrency 

Everything is an actor 

3 Core Abilities of an actor 

  1. Send messages 
  2. Create other actors 
  3. Change behaviour 

Location transparency (same code in different locations) 

But URLs do have machine names in them 

ReactiveManifesto.org 

Switchable behaviour 

Akka.net web crawler 

Lighthouse (dedicated seed node) 

Dead letters 

Push dangerous calls down to children 

Supervision directives 

https://petabridge.com/bootcamp/ 

https://petabridge.com/blog/top-akkadotnet-design-patterns/?__s=sysx7cuy86jz1nqm11nd&utm_campaign=blog_content&utm_content=post_title&utm_medium=email&utm_source=drip&utm_term=meet%20the%20top%20akka.net%20design%20patterns 

Functional programming in F#

fsharpforfunandprofit.com 

Types are sets and are composable 

Algebraic types 

Function oriented 

Expressions 

Pattern matching 

No ==, use let for assignment otherwise it will compare 

pure – no side effects 

Pipeline more logical than nesting paranthesis 

Currying – one input, then returns a function taking another input?? 

HOFs – parameterise all the things 

PowerShell DSC

DSC not just a Microsoft/PowerShell standard 

AWS $userdata 

Pull server 

Generates MOF file 

“WMI Tester” 

DSC resource kit – lots of modules! 

http://www.powershellgallery.com/ 

The DSC book 

Also see Chef’s site 

Microsoft DSC Resource Kit 

Check git repo for slides etc 

Keynote – Why I’m *not* leaving .NET!

https://skillsmatter.com/skillscasts/6397-why-i-m-not-leaving-dot-net

ASP.NET 5: How to Get Your Cheese Back

https://skillsmatter.com/skillscasts/6401-aspdot-net-5-how-to-get-your-cheese-back

Visual Studio & .NET on OS-X, Linux, and Windows

https://skillsmatter.com/skillscasts/6444-visual-studio-and-dot-net-on-os-x-linux-and-windows

Going Further with ASP.NET 5

https://skillsmatter.com/skillscasts/6402-going-further-with-aspdot-net-5

Complete Code Craft

https://skillsmatter.com/skillscasts/6438-complete-code-craft

http://t.co/dx3KSZFNng

Introduction to RabbitMQ & EasyNetQ

https://skillsmatter.com/skillscasts/6424-introduction-to-rabbitmq-and-easynetq

tryrabbitmq.com 

EasyNETMQ

Knowing what went bump in Production – modern monitoring in .net

https://skillsmatter.com/skillscasts/6473-knowing-what-went-bump-in-production-modern-monitoring-in-dot-net

https://t.co/r6fPTYqDzH

Seyren 

Grafana 

nxlog community edition 

200GB/day of logs 

How big is the cluster? 

13 months retained 

Scheduled health checks 

statsd 

embedded checks – config missing etc 

HipChat 

Move reads from writes 

Correlation IDs 

Reactive-interactive approaches to visualization of F# jobs

https://skillsmatter.com/skillscasts/6443-reactive-interactive-approaches-to-visualization-of-f-sharp-jobs

The Joy Of REPL

https://skillsmatter.com/skillscasts/6428-the-joy-of-repl

https://github.com/richardadalton/JoyOfREPL

Monoliths to Microservices: A Journey

https://skillsmatter.com/skillscasts/6471-monoliths-to-microservices-a-journey

Posted in Uncategorized | Comments Off on Progressive .NET Tutorials 2015

How do you type a backslash “\” into the Dell DRAC viewer?

If you have a UK keyboard and try typing backslash into the Dell iDRACView application you might see # appear instead.

After a lot of experimentation and frustration, the only way I could find of doing this was to check Keyboard > Hold Left Alt Key then type 92 on the keyboard number pad. Then uncheck Keyboard > Hold Left Alt Key again.

Posted in Uncategorized | Comments Off on How do you type a backslash “\” into the Dell DRAC viewer?

Internet of Things and Data Hackathon – 11th June 2015

I don’t have time to write a proper blog post, but here are some of the links I found useful today:

Event hashtag: #hackitmsft

Thanks to Microsoft for a fun and informative day.

Posted in Uncategorized | Comments Off on Internet of Things and Data Hackathon – 11th June 2015

Most Good Ideas Actually Deliver Zero or Negative Value

“the chances are that about 2/3 of the work we are doing is of either zero or negative value to our customers – and certainly of negative value to our organization”

From Lean Enterprise: How High Performance Organizations Innovate at Scale and discussed at 13 minutes in to .NET Rocks Episode 1101

Posted in Uncategorized | Comments Off on Most Good Ideas Actually Deliver Zero or Negative Value

404 error accessing Salesforce OAuth2 endpoints?

Try removing the trailing slash.

This works:

https://login.salesforce.com/services/oauth2/token

This doesn’t:

https://login.salesforce.com/services/oauth2/token/

Posted in Uncategorized | Comments Off on 404 error accessing Salesforce OAuth2 endpoints?

Sluggish Internet Explorer performance and Browser Link

I recently experienced problems where Internet Explorer performance was sluggish, almost unusable. I could barely log in to the application I was running as there was a long lag between key presses and the text appearing. It turns out that the culprit was Browser Link, a new feature in Visual Studio 2013 that creates a communication channel between the development environment and one or more web browsers.

Disabling Browser Link solved the performance problems.

Uncheck the “Enable Browser Link” option:

 

Untitled

Posted in Uncategorized | Comments Off on Sluggish Internet Explorer performance and Browser Link