Seu blog é muito bom! Fuçando nele achei muitas coisas legais, tipo o 512/256kb club, e o derelict garden.

Eu tenho um raspberry parado aqui em casa e já pensei em embarcar nessa jornada, mas tem coisas que parecem ser realmente muito difíceis.

Por exemplo essa questão do IP estático, você precisou contratar um serviço específico de internet? O que acontece se você se mudar, ou mudar de provedor?

Quanto ao código em go, extremamente minimalista, curti bastante. Uma dúvida, tem algumas condições de erro que são tratadas com um simples println, o que aconteceria nesse caso, o server ia cair?

postDir, err := os.ReadDir(path.Join(root, "b"))
if err != nil {
	println("read posts error:", err.Error()) # <!-- se cair aqui
}
for _, p := range postDir {
	if l := len(p.Name()); p.Name()[l-5:] != ".html" {
		continue
        }
...

acredito que tu só iria parar ali se desse algum erro de permissão de leitura no diretório dos posts, né? Pergunto pois em outros lugares tu chama um template de error e ajusta o status http. Ex:

temp, err := posts.Clone()
if err != nil {
    println("clone template", err.Error())
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}

Você está fazendo algo pra contabilizar seus acessos? Acho que pela pegada do blog você vai querer fazer algo com os logs do servidor, mas caso esteja aberto a uma solução usando javascript, tem o projeto goatcounter, que inclusive é escrito em golang e tem uma filosofia muito boa quanto a privacidadade dos usuários.

Parabéns pelo conteúdo, espero seguir acompanhando as tuas postagens.

Muito obrigado pelo feedback guites. Eu adoro minimalismo, eu tento né. Eu público de vez em quando um apanhado da internet. O próximo vou postar aqui também. Como você gostou dos clubs também vai gostar.

Seguinte, internet com IP estático é difícil de conseguir, poucas operadoras oferecem e é difícil de contratar pois nem elas sabem vender.

Eu me mudei de casa e o IP mudou, deu problema pois a operadora nem sabia o que tinha acontecido. Precisei chamar um técnico, e ele ligou para a central e conseguimos resolver.

Quanto aos erros, nesse primeiro caso eu só sinalizou pois o site irá carregar normal com a lista de posts vazia. No segundo casa não tem o que fazer pois os templates não foram carregados, e tão preciso retornar erro pro usuário.

Atualmente os loga estão rudimentares, eu escrevo tudo num arquivo de log, e.x. server >> logs/server.log mas consigo as informações que preciso usando um grep. No futuro vou mudar um pouco isso, pra ter rotação e ser mais estruturado. Obrigado pela recomendação, vou dar uma olhada.

Meu blog tem RSS você pode usar pra estar por dentro. Porém fique tranquilo que vou postando as novidades aqui também.