20 random bookmarks
Тут будут ссылки на всё-всё, что я найду интересным
Тут будут ссылки на всё-всё, что я найду интересным
Меня просто нечеловечески бесит, когда разработчики оправдывают собственную некомпетентность мантрой «бизнесу надо». Если программист любой степени квалификации, от стажёра — до принципала — использует в качестве аргумента в любой дискуссии фразу «бизнесу надо» — знайте, перед вами тупой самозванец, гоните его в шею.
Доклад о том, как и почему интерфейсы портятся и что нужно, чтобы они не портились.
Following are the main red flags in test assignments that should be avoided:
The assignment was read and understood in full.
All parts are implemented.
Industry-standard tools and frameworks are used.
The code is split into small, readable functions.
Variables have descriptive names.
Complex parts have comments.
Errors are handled, error messages are easy to follow.
Source files are organized reasonably.
The web interface looks nice.
There are tests.
Avoid these AI giveaways and spread the word!
17:00 - 20:00 - отпустить тормоза. Избегайте наркотиков, но в остальном дайте себе полный карт-бланш в том, что вы себе обычно не позволяете.
20:00 - 22:00 - прислушайтесь к своим чувствам. Включите музыку, побейте грушу, посидите в тишине. У каждого свой метод. На этом этапе важно дать волю эмоциям.
22:00 - 7:00 - сон. Чем дольше, тем лучше. Но важно не валяться, если вы уже проснулись.
07:00 - 10:00 - уборка. Чем больше вы выкинете или подарите кому-то, тем лучше. Делайте это с предельной жестокостью.
10:00 - 13:00 - спорт, массаж, баня (безусловно можно сочетать). Помните о том, что здесь важно почувствовать тело. Вернуться в реальность через ощущения и движения.
13:00 - 14:30 - десять дел. Важно не делать больше, не делать сложного, но использовать этот метод для разгона внутреннего генератора и перевода его в созидательное русло.
14:30 - 17:00 - потоковое творчество. От футбола до рисования. Это очень индивидуально. Принципиально важно на этом этапе создать что-то свое, вернуть вкус творчества и игры.
Гайд, как правильно писать сообщения для коммитов. О важности упоминания не просто того, что делает изменение, а зачем оно это делает. Очень мудро.
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)
}
Может, вы сидели и думали, что в Осло нет трамваев. А они есть!
Саша рассказывает про выгорание
Libre audio books. Recommended by Flancian.
The author doesn't like how modern UI:s are designed. Gives good examples.
Minimizing your keyboard layout is a slippery slope.
34-keys has been reasonably comfortable to use, for both prose and program. My palms do not move across the desk at all, as I reach for keys. I mostly write Rust and Bash, and my layout has evolved to accomodate special characters from their grammars (angled brackets and hyphens, specifically). If you are on a similar journey, I would suggest focusing on accuracy and comfort over speed. Speed comes with time.
LuLu is the free, open-source firewall that aims to block unknown outgoing connections, protecting your privacy and your Mac!
Как технически обнаружить мусорщика и почему камеры, смотрящие не на фасад, бесполезны
Заметки о том, как писать и оформлять код на Си
Симулятор печатной машинки. Советую потыкаться и осознать, как было больно раньше стирать буквы, но как просто ставить диакритические знаки любым символам.
О том, почему ё важна
OK, your program works. You've tested everything in sight. It's time to ship it. So you make a release version.
And the world crumbles to dust.
You get memory access failures, dialogs don't come up, controls don't work, results come out incorrectly, or any or all of the above. Plus a few more problems that are specific to your application.
Now what?
That's what this essay is all about.