- Abbot - The product my company is building and subject of the talk.
- A Serious Business, Inc. - My company.
- Age and High-Growth Entrepreneurship - Contains the graph of the probability of successful exit by age.
- Hubot - our old friend and inspiration for Abbot.
- Chat-Ops - the way of working together in Chat with a bot.
- YCombinator - The Startup Incubator we joined.
- ASP.NET Core - A big part of our tech stack
- PROJECT MANAGEMENT - A TREE SWING STORY - source of the tree-swing cartoon which originally started in the 70s
- [Making sense of MVP](https://blog.crisp.se/2016/01/25/henrikkn
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Diagnostics.CodeAnalysis; | |
using System.Reflection; | |
using System.Text.Json; | |
using System.Text.Json.Serialization; | |
namespace Haack.Json; | |
/// <summary> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This is the source for the blog post here: https://haacked.com/archive/2022/10/12/calculating-mrr-with-stripe-and-csharp/ | |
using System.Collections.Generic; | |
using System.Diagnostics; | |
using System.Linq; | |
using System.Threading.Tasks; | |
namespace Stripe; | |
public static class StripeExtensions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Suppose we have the two record types | |
public record Person(int Id) : PersonUpdate() | |
{ | |
}; | |
public record PersonUpdate() | |
{ | |
public string Name {get; init;} | |
//... bunch of other properties. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface IArgument | |
{ | |
/// <summary> | |
/// The value of the argument sans quotes. | |
/// </summary> | |
string Value { get; } | |
} | |
public interface IArguments : IReadOnlyList<IArgument>, IArgument | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Collections.Immutable; | |
using System.Linq; | |
using Microsoft.CodeAnalysis; | |
using Microsoft.CodeAnalysis.Diagnostics; | |
using Microsoft.CodeAnalysis.Operations; | |
// CREDIT: https://github.com/dotnet/roslyn-analyzers/blob/master/src/Microsoft.CodeAnalysis.BannedApiAnalyzers/Core/SymbolIsBannedAnalyzer.cs | |
[DiagnosticAnalyzer(LanguageNames.CSharp)] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Fact] | |
public void StackTest() | |
{ | |
var stack = new Stack<string>(); | |
stack.Push("one"); | |
stack.Push("two"); | |
stack.Push("three"); | |
var serialized = JsonConvert.SerializeObject(stack, new JsonSerializerSettings | |
{ |
What I'm looking for is a nicer more declarative approach to Templated Razor Delegates
In Any old Razor Page or View - SomePage.cshtml
...
<div>
<partial name="Shared/_PartialLayout" for="SomeModel">
<strong>Content</strong> that will be injected into the layout, which
will get rendered here.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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; |
NewerOlder