20 random bookmarks
Тут будут ссылки на всё-всё, что я найду интересным
Тут будут ссылки на всё-всё, что я найду интересным
Create a QR code with a picture
Arm yourself with knowledge
«Се́тунь» — малая ЭВМ на основе троичной логики, разработанная в вычислительном центре Московского государственного университета в 1959 году
Гайд, как правильно писать сообщения для коммитов. О важности упоминания не просто того, что делает изменение, а зачем оно это делает. Очень мудро.
An active open source contribution is a good habit for a software developer who is passionate about his or her job.
Programmers are expensive and difficult to control; here are a few tricks to keep them underpaid and happy, for a while.
package src
type config struct {
// Required
foo, bar string
// Optional
fizz, bazz int
}
// Each optional configuration attribute will have its own public method
func (c *config) WithFizz(fizz int) *config {
c.fizz = fizz
return c
}
func (c *config) WithBazz(bazz int) *config {
c.bazz = bazz
return c
}
// This only accepts the required options as params
func NewConfig(foo, bar string) *config {
// First fill in the options with default values
return &config{foo, bar, 10, 100}
}
func Do(c *config) {}
You’d use the API as follows:
package main
import ".../src"
func main() {
// Initialize the struct with only the required options and then chain
// the option methods to update the optional configuration attributes
c := src.NewConfig("hello", "world").WithFizz(0).WithBazz(42)
src.Do(c)
}
Thanks to generics, there are some interesting new ways to program in Go. This article explains how we can use functional programming techniques like Map, Filter, and Reduce, and what kind of problems they might help us to solve.
Первая — программист закладывает абстракции там, где не следует.
Бритва Оккама ?
Вторая проблема — наоборот: программист не оставляет шанса поправить его код.
a minimalist and opinionated feed reader.
Мой любимый рецепт борща
Расширение, которое позволяет открыть текущее место в соответствующем сервисе карт.
A collection of one-off actions that improve your life continuously — however marginally.
Век большинства игр недолог. Многие тайтлы гремят только пару месяцев после релиза, а затем уходят в небытие. Некоторые же игры умудряются иногда вновь прорываться в инфополе, и лишь единицы могут в течение десятилетий постоянно напоминать о себе. Doom — один из таких долгожителей, культовый проект, сильно повлиявший на игровую индустрию. И сегодня мы посмотрим, как некоторые мододелы, используя Doom в качестве основы, умудряются создавать иногда по-настоящему впечатляющие игры-хорроры.