I build things for the terminal — and occasionally they escape into production.
package main
import (
"fmt"
"time"
)
type Developer struct {
Name string
Pronouns []string
Location string
Born time.Time
Stack []string
Hobbies []string
Now string
}
// Age считается от даты рождения, а не хранится числом:
// иначе этот README устаревал бы ровно раз в год.
func (d Developer) Age() int {
years := time.Now().Year() - d.Born.Year()
if time.Now().YearDay() < d.Born.YearDay() {
years-- // день рождения ещё не наступил
}
return years
}
func main() {
me := Developer{
Name: "Benoit",
Pronouns: []string{"he", "him"},
Location: "Moscow, Russia",
Born: time.Date(2004, time.June, 16, 0, 0, 0, 0, time.UTC),
Stack: []string{"Go", "Python", "PostgreSQL", "TypeScript"},
Hobbies: []string{"Coding", "Gaming", "Anime", "Gym"},
Now: "building unissh — a TUI for managing VPS fleets over SSH",
}
fmt.Printf("%s, %d — %s\n", me.Name, me.Age(), me.Location)
fmt.Println("Currently:", me.Now)
}| unissh |
Your whole VPS fleet, one keystroke away. A fast, colourful terminal UI for SSH: live CPU/RAM/disk right in the server list, folders, port forwarding, and automatic first-time setup of a fresh VPS — with lockout protection. |
- mrbenoit.ru · my personal website
TypeScript - MatrixCalculator · a simple matrix calculator, written out of boredom
Python