- For every assumption you make, every approach you decide to take, if you are not over 95% certain, err on the side of asking targeted succinct questions, one at a time, and wait on my input on each question.
- Don't have a bias for jumping into writing code.
- Confirm you understand what is required and can perform it with high level of certainty with a high verified signal.
- Establish alignment on your approach with me, and only then with my approval move forward.
- When sharing context with me, take an incremental approach.
- Dont dump paragraphs of text.
- Take me through one step at a time.
One-click setup for a Warp-like terminal experience in Ghostty.
- Syntax highlighting - Valid commands green, invalid red
- Autosuggestions - Ghost text from history (press → to accept)
- Fuzzy history - Ctrl+R to search
- Fuzzy file finder - Ctrl+T to find files
- Smart cd -
z docsjumps to your most-used "docs" directory
Imagine a Checkout Service (producer) asking an Order Fulfilment Service (consumer) to ship an order.
It does not need to wait for the Order to be shipped; only assurance the fulfilment service will process the request.
Here producer means “producer of the async request”
And consumer as "consumer of the async request".
ASB has been around for a while and is a familiar tool for inter service eventing using publish subscribe. This document outlines
- Where ASB is good at.
- What are the primary constraints it introduces.
- How EH addresses this by design and how to address the trade-offs with EH.
And draws the conclusion to what scenarios are best suited to EH vs ASB.
This file contains hidden or 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
| create schema infra; | |
| -- @formatter:off | |
| drop function if exists infra.restore_dependencies( | |
| p_view_schema name, | |
| p_view_name name, | |
| p_options jsonb | |
| ); | |
| drop function if exists infra.save_and_drop_dependencies( |
This file contains hidden or 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; | |
| namespace Juliet | |
| { | |
| class Program | |
| { | |
| static void Main(string[] args) | |
| { | |
| Union3<int, char, string>[] unions = new Union3<int,char,string>[] | |
| { |
This file contains hidden or 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.IO; | |
| using System.Linq; | |
| using System.Threading; | |
| using System.Threading.Tasks; | |
| namespace ConsoleApp1 | |
| { | |
| class Program |
This file contains hidden or 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
| /* | |
| Modified from the original https://gist.github.com/louthy/524fbe8965d3a2aae1b576cdd8e971e4 | |
| - removed dependency on [language-ext](https://github.com/louthy/language-ext) | |
| - separated monadic boilerplate, so you may concentrate on describing the operations and interpretation of the program | |
| - removed `IO<A>.Faulted` to simplify the examples. It can be added back in straightforward manner. | |
| Useful links: | |
| - [John DeGoes: Beyond Free Monads - λC Winter Retreat 2017](https://www.youtube.com/watch?v=A-lmrvsUi2Y) | |
| - [Free and tagless compared - how not to commit to a monad too early](https://softwaremill.com/free-tagless-compared-how-not-to-commit-to-monad-too-early) |
This file contains hidden or 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
| // | |
| // See https://github.com/louthy/language-ext | |
| // | |
| using System; | |
| using System.IO; | |
| using System.Linq; | |
| using System.Threading.Tasks; | |
| using LanguageExt; | |
| using static LanguageExt.Prelude; |
This file contains hidden or 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
| void Main() | |
| { | |
| var events = new Event[] | |
| { | |
| new ItemAddedToCart(lead:"1", cart:"2", product:"44", title:"products/44/title/iphone-6s", when:DateTimeOffset.Now), | |
| new ItemAddedToCart(lead:"1", cart:"2", product:"4", title:"products/4/title/iphone-5-SE", when:DateTimeOffset.Now), | |
| new ItemRemovedFromCart(lead:"1", cart:"2", product:"44", when:DateTimeOffset.Now), | |
| new OrderPlaced(customer:"1", order:"2", when:DateTimeOffset.Now.AddSeconds(123)), | |
| new ItemShipped(order:"2", sku:"4", trackingid:"orders/2/skus/4/track/12", when:DateTimeOffset.Now.AddMinutes(33)), | |
| new ItemAddedToCart(lead:"12", cart:"22", product:"42", title:"products/42/title/iphone-6s-plus", when:DateTimeOffset.Now.AddSeconds(12)), |
NewerOlder