Programming sucks – Telegram
Programming sucks
81 subscribers
12 photos
188 links
Когда вы меняете направление всех стрелок в конусе, вы получаете коконус.
Download Telegram
I’ve met full professors who, in a rational world, would fail an interview for apprentice dog-catcher. I’ve met fewer, but still a significant amount, who in an ideal world I would be allowed to punch very hard in the face. Idiots, sexual predators, functional imbeciles and smug, awful, petty miserable people.

...without the need for anyone to be a sociopath, there’s a center to this problem which is just cultural and doesn’t require anyone to be committed to Broadmoor — it’s that academic researchers are often old people with job security who exclusively employ young people who just happen to be crucially reliant on them, and who have little job security.

No sociopathy required, just normal people with a LOT of power.

...

No good deed goes unpunished, and your decision to try to improve the world and devote your life to your innate human curiosity and the betterment of humanity is odds-on to turn out horribly. We picked a fairly miserable point in history to do this.

Good luck. It sucks, but it’s the only science we got.

(c) https://medium.com/age-of-awareness/12-thing-you-should-know-before-you-start-a-phd-9c064a979e8
Every time you use unsafePerformIO, a kitten dies.

(c) Michael Snoyman
Holy creeping boilerplate batman!

(c) Michael Snoyman
PHP is an awful, obsolete language, patched again and again to make it more modern. It's like wearing an old leather jacket that has been patched repeatedly, yet it still has a nasty smell. This is entirely subjective of course and I'll take old and trustworthy technologies technologies any day of the week. Except PHP isn't trustworthy and it never was.

I have never seen a high level language plagued with so many security issues and this extends to apps built in PHP, like Wordpress. You could attribute that to sloppy coding, or to its popularity, yet if you take the top web vulnerabilities in the wild, most of them (like SQL injections, or remote code executions, or stupid bugs related to implicit conversions, session tampering, etc) aren't possible with modern libraries built in static languages, or at least very hard to accomplish by accident.

...

PHP is unsuitable basically for anything that's not querying MySQL and then spitting an HTML back, which means the learning curve will be worse, because you've picked a very limited hammer.

(с) https://news.ycombinator.com/item?id=21566546 comments
Примечение по терминологии. В тексте иногда используется понятие "просранная задача". Это - технический термин, который лишён оскорбительной коннотации и обозначает просранную задачу.

(c) https://github.com/ClickHouse/ClickHouse/blob/master/docs/ru/extended_roadmap.md, найдено https://news.1rj.ru/str/oleg_log/2375
Look for feedback. Ask for feedback. Beg for feedback. Show your APIs to your peers, and collect all the feedback you get. Try to momentarily forget how much work it would be to implement the requested changes. When receiving negative feedback, trust the principle that all feedback is useful. Any opinion (e.g., “This whole thing sucks”, from Joe Blow) is a new piece of information, which you can recast into a fact and add to your mental list of facts (e.g., “Joe Blow, a Linux fanatic, strongly dislikes this COM-inspired architecture”). The more facts you possess, the better the chances that you will design a good API.

(с) The Little Manual of API Design, Jasmin Blanchette
If you’ve used JavaScript, you might have seen its with statement. It’s widely regarded as a design mistake, and it was removed from the language in ES5 strict mode. Well, you’ll be pleased to learn that with makes a reappearance in the Nix expression language! Whether this is also a mistake is up to you.
(c) https://medium.com/@MrJamesFisher/nix-by-example-a0063a1a4c55
Earley parsers are among the most general parsers out there. They can parse any context free language without restriction, and can even be extended towards context sensitivity. They are reasonably fast on most practical grammars, and are easy to implement.

On the other hand, most of the information I found about them is encoded in cryptic academese. Deciphering it is hard for non-experts (it was certainly hard for me).

(c) http://loup-vaillant.fr/tutorials/earley-parsing/
...as the Plan 9 manual says of lex(1), “The asteroid to kill this dinosaur is still in orbit.”

(c) Yacc is Not Dead, https://research.swtch.com/yaccalive
...parser combinators are tricky to implement if you want avoid surprises and handle things like left recursion. I needed something undergrads could learn and do in a week.

(c) http://matt.might.net/articles/parsing-with-derivatives/
(c) Brian Hurt, Partial Derivatives of Regular Expressions —
https://www.youtube.com/watch?v=QVdBPvOOjBA
Меня самого больше не зовут проводить собесы, я аппрувлю всех без разбора. Я не понимаю, если человек уже три года работал разработчиком, какие нахрен могут быть с ним проблемы, технически? Будет тормозить команду? Научим. Будет задавать тысячи вопросов — ответим. Будет писать дерьмовый код? Отревьювим.
...
Собесы — игра, и ты можешь очень хорошо научиться играть в эту игру. Но вот как самому оценивать свой навык, как понять, насколько ты хорош, над чем должен работать и сколько получать — я не знаю. Я встречал людей, у которых нет таких проблем. Чувак живёт себе, точно знает что он фронтендер мидл, точно знает что он стоит X в городе Y, и не ведает сомнений и страха. Я не понимаю, как они это делают. Я всю карьеру пытался понять, кто я есть. Фразы про "настоящих" разработчиков, которые обязаны знать уметь или понимать очередную хрень, я всегда воспринимал их всерьёз. Но за семь лет я и близко не приблизился к тому, что бы соответствовать большинству из таких утверждений.

(c) https://habr.com/ru/post/467733/
Haskell is an alien language, or the most widely used language of the truly weird ones. It is ahead of its time. OCaml feels somewhat more conventional, like something caught in the middle of the mutation from conventional imperative language to something Haskell-like.

(с) https://markkarpov.com/post/haskell-vs-ocaml.html
Continue talking to them, even if they don't have a PhD.

(с) Marco Sampellegrini. https://alpacaaa.net/thoughts-on-haskell-2020/
These flame wars frustrate me to no end, and they sometimes go so far as to make me ashamed to call myself a part of the Haskell community. Many on the “outside” seem to view Haskellers as an elitist, mean-spirited cult, more interested in creating problems for itself than solving them.

(с) Alexis King, https://lexi-lambda.github.io/blog/2018/02/10/an-opinionated-guide-to-haskell-in-2018/
Some people view the Haskell community as masturbatory, and to some extent, they are probably right.

(с) Alexis King, https://lexi-lambda.github.io/blog/2018/02/10/an-opinionated-guide-to-haskell-in-2018/
Although I've tried to lay out a reasonable course of study hereinbefore regarding the mathematics you need to understand this kind of material, around this point in the course you'll find that the creature we're dealing with here is an octopus whose tentacles spread in every direction...

(с) https://www.msreverseengineering.com/program-analysis-reading-list
Could a hater be cured if they achieved something impressive? My guess is that it's a moot point, because they never will. I've been able to observe for long enough that I'm fairly confident the pattern works both ways: not only do people who do great work never become haters, haters never do great work.

(c) http://paulgraham.com/fh.html