Skip to content

Instantly share code, notes, and snippets.

View peterhellberg's full-sized avatar
💙
Coding Go

Peter Hellberg peterhellberg

💙
Coding Go
View GitHub Profile
@peterhellberg
peterhellberg / gui-xor.go
Last active May 12, 2019 17:36
XOR image drawn by gfx, and displayed using gui
package main
import (
"image"
"image/draw"
"github.com/peterhellberg/gfx"
"github.com/peterhellberg/gui"
)
package main
import "github.com/peterhellberg/gfx"
const w, h = 16, 16
const ramp = " .:-=+*#%@"
func main() {
m := gfx.NewGray(gfx.IR(0, 0, w, h))
@peterhellberg
peterhellberg / cgo-balenaOS-rpi3.Dockerfile
Last active March 22, 2019 21:48
Dockerfile for CGO app under balenaOS on RPi3
FROM balenalib/raspberrypi3-alpine-golang as builder
WORKDIR /go/src/rpi-server
COPY . ./
RUN apk add musl-dev linux-headers
RUN go install -a -tags netgo -ldflags '-extldflags "-static"'
FROM resin/scratch
COPY --from=builder /go/bin/rpi-server /rpi-server
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs
CMD ["/rpi-server"]
@peterhellberg
peterhellberg / gfx-lendo.go
Last active March 14, 2019 14:57
The Lendo L repeated with signed distance functions using gfx.
package main
import "github.com/peterhellberg/gfx"
func main() {
dst := gfx.NewImage(2560, 1440, PaletteLendo.Color(0))
gfx.EachImageVec(dst, gfx.ZV, func(u gfx.Vec) {
sd := gfx.SignedDistance{gfx.IM.Moved(gfx.V(50, -10)).Project(u)}
package s3270
import (
"fmt"
"log"
"os/exec"
"strings"
"time"
)
@peterhellberg
peterhellberg / gfx-noise-loops.go
Last active March 14, 2019 09:55
(Simplex) Noise loops using gfx
package main
import "github.com/peterhellberg/gfx"
const (
seed = 123
scale = 256
radius = 420
count = 64
)
@peterhellberg
peterhellberg / gfx-sdf-pie.go
Created February 27, 2019 19:19
Circle with IsoscelesTriangle subtracted from it using gfx.
package main
import "github.com/peterhellberg/gfx"
func main() {
var (
size = float64(192)
center = gfx.V(-256, -256)
matrix = gfx.IM.Moved(center).RotatedDegrees(gfx.ZV, 270)
c = gfx.PaletteEN4.Color
@peterhellberg
peterhellberg / ebiten-gfx-raycaster.go
Last active October 26, 2023 12:52
Raycaster rendered by Ebiten using gfx.
package main
import (
"bytes"
"flag"
"image"
"image/color"
"math"
"time"
@peterhellberg
peterhellberg / gfx-geo-tile-server.go
Last active February 16, 2019 20:26
Caching Geo Tile Server using graceful, httpcache and gfx.
package main
import (
"flag"
"io/ioutil"
"net/http"
"net/url"
"os"
"strconv"
package main
import "github.com/peterhellberg/gfx"
const (
zoomLevels = 18
tileSize = 512
tileFormat = "https://a.basemaps.cartocdn.com/rastertiles/voyager/%d/%d/%d@2x.png"
)