installing ebiten on fedora

Update: i also found the dependency list on the ebiten wiki: https://github.com/hajimehoshi/ebiten/wiki/Linux#fedora

Second: and it is now found on the new website https://ebiten.org/install.html#Fedora

a few weeks after i ported Impact.js to the modern world (some writing about this adventure will follow), i found another interesting engine, this time written in go.

the engine is called ebiten and has a pretty low-level api, but compiles to all desktop and mobile platforms - so i want to give it a try

...

@tobi: golang alpine image with cgo for sqlite3

Picking up go is a lot of fun! So does a few of my colleagues :-)

Tobi M. (“the destroyer”) asked if i have a solution to run a golang docker image with the go-sqlite3 driver

I remembered to had the same problem, so after my post about really small docker images, lets add a few more bytes!

the solution

This solution is not my own, i found and tried other solutions but stayed with this Dockerfile on github

...

setting up continuous delivery with drone

Long, long time ago, i started to manage my spare time projects with git, to make life a bit easier there were tools like gitosis and later gitolite - you managed repositories and public keys in plain text files and git hooks on the server. Last year i decided to join the shiny new world of modern self-hosting git services. I choose Gitea - copied it on the server, started one 40 mb binary, and it was just working - and it was fast.

...

debounce function for golang

for my presentation tool slide-serve i used fsnotify to watch for changes to reload the browser. But for whatever reason, the events always came in doubled… so i tried to port the idea behind the underscore or RX debounce function to golang. This is the solution i came up with:

func debounce(interval time.Duration, input chan string, cb func(arg string)) {
	var item string
	timer := time.NewTimer(interval)
	for {
		select {
		case item = <-input:
			timer.Reset(interval)
		case <-timer.C:
			if item != "" {
				cb(item)
			}
		}
	}
}

usage

in this example, the debounce time is one second, the input eventChanel is created to send events to debounce. The actual processing happens in the callback function.

...

Last posts

Tags