![Complexity theory and Big O notation](/assets/img/posts/2024-04-30-complexity-theory-and-logarithmic-bases/complexity-theory.jpg)
Logarithmic Bases and Complexity Theory
Why Logarithmic Bases Don’t Matter in Big O Notation Let us say that you have an algorithm that requires \(log_{10} n\) steps to execute, where \(n\) is the size of the problem instance. (You don’...
Why Logarithmic Bases Don’t Matter in Big O Notation Let us say that you have an algorithm that requires \(log_{10} n\) steps to execute, where \(n\) is the size of the problem instance. (You don’...
Go Slices and Time Complexity Introduction to Memory Allocation in Go Slices Slices in Go automatically adjust their size when new values are inserted. As developers, we find that in some applica...
Concrete Laptop Stand I am a great lover of brutalist architecture. 1960’s concrete buildings may not be for everyone, but I love the aesthetic. I’ve made a laptop stand, to help me hack in true b...
Go Constants and Type Coercion Typed Constants The following code example makes a pretty trivial point about Go’s type system: const foo int = 5 fmt.Printf("%g", foo) Output: ./main.go:8:2: fm...
Channel Directionality in Go Bidirectional Channels By default, Go channels are bidirectional. A channel declared with a statement like make(chan int) can be written to or read from. ch := make(...
An Approach to Closing Worker Pools in Go Introduction Following on from an earlier post on the Worker Pool design pattern in Go, here is an approach we might take to closing worker pools when we...
Go Worker Pools Introduction to the Worker Pool Design Pattern in Go A man of great wisdom recently told me, “The only incorrect amount of concurrency is unbounded concurrency.” Concurrency in G...
Go Quantum Talk at London Gophers Meetup Go Quantum - Talk Overview This is the video for the October 2023 London Gophers meetup, where I delivered my talk, Go Quantum. The talk is a 20 minu...
The HackerOne bug bounty platform is the largest one to have its own researcher API. The ability to retrieve a list of in-scope targets creates the possibility for large scale vulnerability scannin...
DNS exfiltration is a means of getting data off a compromised machine using DNS lookups to hide the data. Using DNS for exfiltration may help circumvent security restrictions or avoid detection. D...