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
...
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
...
I am pretty happy with my minimal blog layout - in the code it looks something like:
<div id="content-container">
<div id="content"></div>
<div id="sidebar"></div>
</div>
with the css code
#content-container {
display: flex;
}
#content {
flex: 1;
}
#sidebar {
max-width: 210px;
}
nothing too exciting…
While i’m writing several drafts, i had looong docker commands in pre tags, and it broke the layout - i don’t know why, but the pre
tags didn’t want to break the lines. Everything was pushed out of all containers, even out of the max-width of 960 pixels on the body. Nothing seems to help, overflow, fixed width, everything was ignored.
...
building docker images with go should be super easy - picking a minimal image (in my case I build from alpine), build the binary, ADD
to the image, run…
the problem
your app is not starting, instead you see something like this
standard_init_linux.go:195: exec user process caused "no such file or directory"
cause: several modules are calling C code via cgo, and cgo depends on libc. Go found libc on the system it was build on, so it linked to it. But libc is missing on alpine…
...
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.
...
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 eventChan
el is created to send events to debounce. The actual processing happens in the callback function.
...