20 random bookmarks

Тут будут ссылки на всё-всё, что я найду интересным

2025-04-25

853.

Tester, make the lives of those around you better

www.l3r8y.ru/2025/04/22/tester-make-life-of-your-mates-better

Avoid these things:

  • Asking the developer how things should work: It’s your responsibility to know how a feature should work; if you don’t, how can you test it?

  • Reporting bugs outside of the ticket: Avoid informal bug discussions, as they waste time for you and your team.

  • Using vague phrases like “This does not work properly”: ‘Properly’ is unclear—specify exactly what’s wrong.

2025-02-24

840.

the birth and reverb of friendship

sive.rs/brf

2025-01-18

825.

Анапа

alexandrakhlebnikova.ru/anapa

Документальная фотосъемка работы волонтеров по ликвидации последствий розлива мазута в Черном море. Январь 2025.

2024-12-02

804.

Зачем спринты?

grishaev.me/why-sprints

2024-05-27

667.

Don't Aim for Quality, Aim for Speed

www.yegor256.com/2018/03/06/speed-vs-quality.html

When project scope is perfectly decomposed and management rules are clear and strict, speed of delivery is the virtue, not the quality.

2024-05-17

646.

Eight Levels of Communication Maturity

www.yegor256.com/2016/08/23/communication-maturity.html

Chats, emails, phone calls, mailing lists, issue tracking systems, face-to-face meetings, and other communication instruments for a software project.

2024-03-06

547.

Dysfunctional options pattern in Go

rednafi.com/go/dysfunctional_options_pattern
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)
}

2024-01-31

509.

A New Medium for Communicating Research on Programming Languages

willcrichton.net/nota

Papers about programming languages involve complex notations, systems, and proofs. Static PDFs offer little support in understanding such concepts. I describe Nota, a framework for academic papers that uses the browser's interactive capabilities to support comprehension in context. Nota uses hover effects, tooltips, expandable sections, toggleable explanations, and other interactions to help readers understand a language's syntax and semantics. I demonstrate the use of Nota by rewriting a PL paper using its primitives, and also by writing this paper in Nota.

2024-01-16

495.

The Internet Movie Plane Database

www.impdb.org/index.php?title=The_Internet_Movie_Plane_Database

2023-12-12

454.

Finding unreachable functions with deadcode

go.dev/blog/deadcode

Functions that are part of your project’s source code but can never be
reached in any execution are called “dead code”, and they exert a drag
on codebase maintenance efforts.
Today we’re pleased to share a tool named deadcode to help you identify them.

2023-10-29

378.

Situation Ukraine Refugee Situation

data.unhcr.org/en/situations/ukraine

Статистика по беженцам из Украины

2023-10-27

374.

CodePhoto

code.xxut.ru

Генерирует фотку экрана с кодом, который вставит пользователь

2023-09-30

343.

SQL

grishaev.me/sql

Представьте, какой гемор был бы построить это в Экселе, Гугле или даже на языке программирования вроде Питона. Там с одним только парсингом дат и времени наешься, а тут все из коробки.

2023-09-14

326.

Антон Жиянов рассказывает про SQL

podlodka.io/321

2023-09-13

323.

Ukelele

software.sil.org/ukelele

Настройщик раскладки под макось

2023-05-28

189.

TRIDENT GeoAI

trident.yuiseki.net/geoai

Оверпасс с человеческим лицом или лицом нейросети.

Можно написать, что ты хочешь видеть на карте, а нейронка обработает запрос и выдаст результат.

2023-03-14

118.

Как быстро и дёшево снимать и монтировать видео для Ютюба - YouTube

www.youtube.com/watch?v=wbaSQsEMdTA

2023-03-11

112.

Shift Happens: Typewriter simulator

shifthappens.site/typewriter

Симулятор печатной машинки. Советую потыкаться и осознать, как было больно раньше стирать буквы, но как просто ставить диакритические знаки любым символам.

2023-03-05

54.

Буква Ё

ilyabirman.ru/meanwhile/all/yo-dots

О том, почему ё важна

2023-02-21

16.

PALC - С каждым

www.youtube.com/watch?v=_n4JwQsyDyc

Моё лучшее музыкальное открытие начала года