Skip to content

Instantly share code, notes, and snippets.

View mikedonnici's full-sized avatar

Mike Donnici mikedonnici

  • Regrow Ag
  • Jervis Bay
View GitHub Profile
@mikedonnici
mikedonnici / geometry.go
Last active October 6, 2022 22:19
geometry pkg review
package geometry
import (
"math"
)
type geometry interface {
area() float64
perim() float64
}
@mikedonnici
mikedonnici / handler.go
Created October 6, 2022 09:12
Testing http handler and mocking a response from an http server
package handler
import (
"io"
"log"
"net/http"
)
func indexHandler(w http.ResponseWriter, _ *http.Request) {
if _, err := io.WriteString(w, "hello"); err != nil {
@mikedonnici
mikedonnici / main.go
Created July 13, 2022 00:07
Throttler using a buffered channel
package main
import (
"fmt"
"math/rand"
"sync"
"time"
)
const maxActive = 10
@mikedonnici
mikedonnici / main.go
Created July 12, 2022 06:03
Atomic pool rate limiter #2
package main
import (
"fmt"
"math/rand"
"sync"
"sync/atomic"
"time"
)
@mikedonnici
mikedonnici / main.go
Created July 12, 2022 05:28
Atomic pool for limiting number of active go routines
package main
import (
"fmt"
"math/rand"
"sync"
"sync/atomic"
"time"
)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCgnlq9fveNdRV20wjCHMRt6crBbDFEggDD0+uLgy52TZ5sx9bnJccWoL5iRyBWNpIOwWAokSTj0QJs6s/kKYVvGwg6Djl7hQODRDkqk7ynudlfN/Cyl2iTA0bTMBgjsnMtAh8bdwZ6JsRcdZlMMV3+8Ebq4j/z2/Htj42Kf8w6oPUOcd39ZnGhk+SJVPlPgjSRLuawb1W10tHvFzW8+RwfW0uSlychn5LGpOiUxNuXd8S5JDmgu9Ap6EjihzQd5hb+Qtrtog5vLHtkQUsDrQZxwL6SxUqYvxyooLbXpmcv36DSYQV63rCHnLMLK6LLJVCzgjDc/9Bl8y56nqpz5b450UymQVwqos/6t1p4w8ikSGwRKpl8TGfHpmTLLnsPye65+HOvkwyqUZoUwWRxG7+1soXtl8Rlu535ADrjeTr4NhVPK0RYJrNlxKUa8jknKWXJCbSbLgtRYNzX+EaiUYs/UMfrjv8Q4xoEVLxQJ4T44Z2MeZLWVHtgQyALT4oRQCk= mike@laputa.local
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGFjpF4BEAC4HHdGUKN6Jv7cR6kBqMdG5NwZI8T+mFl8uF8ybfkVizmVmtX2
b4p1bzRqOn/vaYB2Z46oZ5Ja756kfS0c2aVha11zLZqO96zEc+vmdu9N9NJck6jF
JBAQq9oIX1EuBkvshi622NBlxmVA03DRTxxdq7rNBJnkNA+4kCQdqoA6Qtq/leni
Kd98xevqKPxSDgSV5l57jZPBWUMaODTVBOYVFToE5dOGKEoFKS/KiEXiFLMj29Fm
y8FtpK+nF7qIzQj1BObb9BO+edGkEbPEysj5i3bL4s6YfZSpilKhhhaA8D/GNRqs
W1WRbnsG2aRfty5Jha0YYDaUUaIDVlTJB8eWmFVm2O4rjlDWiagDIj4gxuJOzACf
B8j6yQUnbRs7LLi84vWlvKfr5RVr4Uwgu5J7+WDX6nOOciyKJ+UcDvQTZHTVf+C4
dVfzx61rT2x4fYOwvEOIEfSqbt/KTGFEBSmRwcFdmMh4asAM+NsRFe0JkfcrKnhk

Keybase proof

I hereby claim:

  • I am mikedonnici on github.
  • I am mikedonnici (https://keybase.io/mikedonnici) on keybase.
  • I have a public key ASDH5QfuulzJ7Kse3KEUGhJKxv_9uoj0DvucpAq5Twa5vAo

To claim this, I am signing this object: