Skip to content

Instantly share code, notes, and snippets.

View haacked's full-sized avatar
🏠
Code code code

Phil Haack haacked

🏠
Code code code
View GitHub Profile
@haacked
haacked / diff-tree-output
Created February 22, 2014 19:05
git diff-tree --cc cc5b002a on signalr/signalr
cc5b002a5140e2d60184de42554a8737981c846c
diff --cc tests/Microsoft.AspNet.SignalR.FunctionalTests/Client/HubProxyFacts.cs
index aaad4c4,8bf42fc..4979ab7
--- a/tests/Microsoft.AspNet.SignalR.FunctionalTests/Client/HubProxyFacts.cs
+++ b/tests/Microsoft.AspNet.SignalR.FunctionalTests/Client/HubProxyFacts.cs
@@@ -36,11 -36,9 +37,11 @@@ namespace Microsoft.AspNet.SignalR.Test
hubConnection.Start(host.Transport).Wait();
- proxy.Invoke("Send", "hello").Wait();
@haacked
haacked / git-show-output
Created February 24, 2014 16:48
git show --cc cc5b002a
commit cc5b002a5140e2d60184de42554a8737981c846c
Merge: 4d02bc5 34bdb41
Author: David Fowler <[email protected]>
Date: Thu Nov 22 11:28:35 2012 -0800
Merge branch 'release' into dev
diff --cc tests/Microsoft.AspNet.SignalR.FunctionalTests/Client/HubProxyFacts.cs
index aaad4c4,8bf42fc..4979ab7
--- a/tests/Microsoft.AspNet.SignalR.FunctionalTests/Client/HubProxyFacts.cs
@haacked
haacked / encouragements.txt
Created August 6, 2014 21:45
My Encouragements
😱 Seriously?
😷 That's a bad look.
Burn it to the ground! 🔥
😠 Torvalds frowns at you.
🚶 Have you considered another career?
You must hate your coworkers. 👹
😡 You must hate yourself.
Ha! Yeah, that'll work. 😄
😕 Are you just hitting keys at random?
You code like a PM. 😐
@haacked
haacked / download-nuget-licenses.ps1
Last active September 5, 2022 16:35
A PowerShell script to download your NuGet package licenses as first seen in http://haacked.com/archive/2015/03/28/download-nuget-package-licenses/
Split-Path -parent $dte.Solution.FileName | cd
New-Item -ItemType Directory -Force -Path ".\licenses"
@( Get-Project -All | ? { $_.ProjectName } | % { Get-Package -ProjectName $_.ProjectName } ) | Sort -Unique Id | % { $pkg = $_ ; Try { (New-Object System.Net.WebClient).DownloadFile($pkg.LicenseUrl, (Join-Path (pwd) 'licenses\') + $pkg.Id + ".html") } Catch [system.exception] { Write-Host "Could not download license for $($pkg.Id)" } }
@haacked
haacked / creativity-inc-raw-notes.md
Created September 30, 2015 20:02
Raw notes from Creativity Inc. Someday I'll do something better with it. Someday.

Creativity, Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration

Ed Catmull, Amy Wallace

When it comes to creative inspiration, job titles and hierarchy are meaningless.

Sincerely believing that we were in an inclusive meeting, we saw nothing amiss because we didn’t feel excluded.

My willingness to do this reflected my world-view, forged in academia, that any hard problem should have many good minds simultaneously trying to solve it.

For all the care you put into artistry, visual polish frequently doesn’t matter if you are getting the story right.

@haacked
haacked / reading-list.md
Last active February 24, 2017 21:44
A selection of articles and books that have inspired some of the topics in recent talks I've given.

Keybase proof

I hereby claim:

  • I am haacked on github.
  • I am haacked (https://keybase.io/haacked) on keybase.
  • I have a public key whose fingerprint is BF14 9135 A9BB DB1E DF3B 0F27 51AC AFF3 A55E 8DE3

To claim this, I am signing this object:

@haacked
haacked / index.js
Created February 9, 2019 20:49
Probot handler for the Why Not Both app
module.exports = (app) => {
// Respond to new issue comments
app.on('issue_comment.created', async context => {
const message = context.payload.comment.body
// The following does a rough approximation of
// trying to find a question that proposes two
// alternatives. It's not very smart about it,
// but good enough for our case.
const dichotomy = message.toLowerCase()
@haacked
haacked / ModelBuilderExtensions.cs
Last active July 23, 2025 15:11
Example of applying an EF Core global query filter on all entity types that implement an interface
/*
Copyright Phil Haack
Licensed under the MIT license - https://github.com/haacked/CodeHaacks/blob/main/LICENSE.
*/
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
@haacked
haacked / RoleProfileService.cs
Last active September 18, 2019 15:25
Providing Role Claims
/*
This needs to be registered with the IdentityServer in the Startup.cs
by calling AddProfileService<RoleProfileService>() on the builder returned
by AddIdentityServer.
ex...
var builder = services.AddIdentityServer(options =>
{
options.Events.RaiseErrorEvents = true;