20 random bookmarks
Тут будут ссылки на всё-всё, что я найду интересным
Тут будут ссылки на всё-всё, что я найду интересным
Если код работает, это не значит, что задачу пора закрывать. От двадцати минут, потраченных сверху, вреда не будет — прод не сгорит, менеджер подождет. Зато спасет день коллеги, который вкатывается в проект.
PostgreSQL Query Plan Visualizer add new plan
терапевтка принимала на дому, делала записи и вышла, например, в туалет, а клиентка залезла в эти записи и получила — правильно — скандал про«нарушение границ» и чуть ли не отказ работать дальше.
Правильный терапевт, разумеется, не только знал бы, что терапия — это место, где его границы будут нарушаться (и это будет оплачиваться), но и первым делом с интересом обсудил бы мотивы и фантазии клиента, зачем он это сделал и что хотел там найти. И только потом бы с любовью и принятием говорил про нарушение границ.
It is very important to conduct regular code reviews within every software team, but it is not so easy to do them right; here are a few typical pitfalls.
Chats, emails, phone calls, mailing lists, issue tracking systems, face-to-face meetings, and other communication instruments for a software project.
In XDSD everybody is motivated to produce tangible and meaningful results. That's why we don't use emails, Skype, HipChat or phone calls.
How about we measure the amount of times programmers touch the lines. Instead of counting the number of lines we’ll count how many times they were actually modified—we can get this information from Git (or any other SCM). The more you touch that part of the aircraft—the more effort you spent on it, right?
I called it Hits-of-Code (HoC) and created a small tool to help us calculate this number in just one line.
What a nice idea! I installed this program and ran it on Betula and Mycorrhiza codebases. For Betula it's 26350 HoC, for Mycorrhiza it's 137208 HoC. Yeah, Betula is still comparatively young! Hey, what about Mycomarkup? 23443. Oh wow, just a little less than Betula. I expected a small number.
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)
}
Most people are not autonomous in their use of computers to solve their problems because they cannot use the languages listed. They must hope for an app to solve their problem. But they can use a spreadsheet to solve their problem!
The sad reality is, however, that today we buy computers that essentially boot into the app store.
from bouncepaw:
Alex tells us that, for him, baking and cooking are easier than programming and soldering, because the errors there average out. As for me, this is completely inverse.
In programming, an error never fixes itself. You can observe it and fix it, you can write tests. You can run the program multiple times. It's you who fixes it, and you can understand how it's done. It's measurable!
Meanwhile, cooking is a nightmare. Burning something is routine for me. Is that too much or too little oil? For how long do I fry? What do I do with these spices? Do they really affect the taste? And to observe something, I can't rely on symbolic things like text. No, I have to look (is this color good? No idea!), smell (as if I know the difference) and taste (nothing more inaccurate).
I'm happy when something can be cooked with a timer. 15 min for buckwheat? I'm in. I'm more happy when the time is short. 4 min for this thin kind of spaghetti? Already boiling water!
I mean, even boiling water is not simple. My parents told me to wait until the correct bubbles appear. I'm waiting for the scary ones. Also, salt is supposed to make it boil faster. How much salt do I add?
And I didn't even talk about plants, which Alex also considers easy. They're not 😭
Totally agree!
The coolest thing I've seen today!
Утилита для создания загрузочной флешки сразу с несколькими образами
I write almost everything important in my life: thoughts, plans, notes, diaries, correspondence, code, articles, and entire books.
They are my extended memory — my noted self — my organized thoughts. I refer to them often. I search them, update them, and learn from them. I convert them into HTML to make websites, or LaTeX to make books.
My written words are my most precious asset. They are also a history of my life. That’s why I only use plain text files. They are the most reliable, flexible, and long-lasting option. Here’s why.