Explore >> Select a destination


You are here

ghvsted.com
| | blog.ali.dev
19.6 parsecs away

Travel
| | I'm answering the question.
| | matttproud.com
10.0 parsecs away

Travel
| | I would like to propose a set of neologisms for the Go Programming Language based on emergent language use: context awareness: noun, the state of an API being cognizant of and respecting the semantics of the context API. Example: Function f has context awareness. context-aware or1 context aware: phrasal adjective, whether an API has context awareness. Examples: The API consumes a context-aware function value like function f. Function f is context aware.
| | konradreiche.com
9.1 parsecs away

Travel
| | Starting a goroutine is as easy as adding the go keyword in front of a method, but managing the lifecycle of a goroutine is not. If you only need to start a few goroutines and wait for their completion, you are off the hook thanks to sync.WaitGroup. However, what if a goroutine has to run for a specific duration or repeatatly in a loop until the initiating code terminates? Does it matter? After all, if the main goroutine terminates, any other goroutine will also stop. It does matter, because depending on what the goroutines are doing, it might leave your system in an inconsistent or invalid state. Channels are a commonly used to signal to a goroutine that it can shut down, but I often see the use of a signaling channel, for example chan bool or chan struct{}.
| | andreabergia.com
67.7 parsecs away

Travel
| Recently, I have started working on a large code base. It can reasonably considered "legacy" in many parts, given that some of the core files that I'm touching are around 20 years old. Also, there aren't anywhere near enough unit tests - even if there are a good numbers of integration tests. This has led me to think back to one of the best programming books I have ever read, Working effectively with legacy code by Michael Feathers.