?

Log in

No account? Create an account
про системных программистов - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

про системных программистов [ноя. 17, 2013|01:11 am]
Anatoly Vorobey
[Tags|]

Джеймс Миккенс знает, что почем: The Night Watch.

Всем программистам очень рекомендую. Очень смешно и правдиво.

На фразе

What is despair? I have known it — hear my song. Despair is when you’re debugging a kernel driver and you look at a memory dump and you see that a pointer has a value of 7.

системные программисты начинают смеяться сквозь слезы.

Еще один отрывок:

You might ask, “Why would someone write code in a grotesque language that exposes raw memory addresses? Why not use a modern language with garbage collection and functional programming and free massages after lunch?” Here’s the answer: Pointers are real. They’re what the hardware understands. Somebody has to deal with them. You can’t just place a LISP book on top of an x86 chip and hope that the hardware learns about lambda calculus by osmosis. Denying the existence of pointers is like living in ancient Greece and denying the existence of Krackens and then being confused about why none of your ships ever make it to Morocco, or Ur-Morocco, or whatever Morocco was called back then. Pointers are like Krackens — real, living things that must be dealt with so that polite society can exist.
СсылкаОтветить

Comments:
(Удалённый комментарий)
[User Picture]From: smilga
2013-11-17 12:09 am
Лисп в лисп-машинах знал очень много всего про железо. Что там указатели, он мог, например, прямо загружать микрокод.
(Ответить) (Parent) (Thread)
(Удалённый комментарий)
(Удалённый комментарий)
[User Picture]From: prosto_tak
2013-11-16 11:45 pm
Very funny. But at least a pointer with value 7 is a clear, obvious error, indicating that somebody is overwriting it. I can think of worse...
(Ответить) (Thread)
[User Picture]From: beldmit
2013-11-17 05:19 pm
It can be a dereferencing of a member of NULL-pointed structure member.
(Ответить) (Parent) (Thread)
[User Picture]From: 0242
2013-11-16 11:50 pm
так дядя старается быть смешным, что даже не смешно
(Ответить) (Thread)
[User Picture]From: orleanz
2013-11-17 12:14 am
а мне при чтении почему-то вспомнились суровые челябинские мужики которые не боялись метеорита.
(Ответить) (Parent) (Thread)
[User Picture]From: oryx_and_crake
2013-11-17 12:01 am
Очень жизненно!
(Ответить) (Thread)
[User Picture]From: dimrub
2013-11-17 05:29 am
Прикольно, да. А говорят, что майкрософт ничего дельного не производит.
(Ответить) (Thread)
[User Picture]From: winpooh
2013-11-17 07:50 am
Ну так уж и ничего? Компилятор C++ у них неплохой получился. Похуже интеловского, конечно...
Ещё мышки вполне на уровне.
(Ответить) (Parent) (Thread) (Развернуть)
From: huzhepidarasa
2013-11-17 06:00 am
Никакой ковбойской романтики в поимке беглых указателей нет. Есть достойная печали неспособность отрасли вырасти из пеленок и стать инженерной дисциплиной по сути, а не по названию.
(Ответить) (Thread)
[User Picture]From: cegefbod
2013-11-18 07:21 am
Инженерная дисциплина существует. Но скучно, медленно, дорого, и к Микрософту никакого отношения не имеет.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: michaelm1234
2013-11-17 11:16 am
По моему когда указатель смотрит на 7 то все еще здорово; Намного хуже когда сервер падает через семь дней где то там в алокаторе памяти,
Ай ай!
(Ответить) (Thread)
[User Picture]From: _winnie
2013-11-17 11:30 am
7 дней - это замечательно.
За 7 дней у сервер с 128 гигабайтами оперативки может упасть просто потому, что за такое время будут меняться случайные биты в оперативной памяти.

Достаточно сделать шардирование на несколько машин, и перезапускать эти машины раз в сутки.

Вот "падает спустя 20 минут" действительно неприятно для всех (для пользователей, админов, программистов).

Edited at 2013-11-17 11:35 (UTC)
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: carfagen
2013-11-17 02:08 pm
Loved this:
and free massages after lunch?

Where the f... is mine?! ;-)
(Ответить) (Thread)
From: huzhepidarasa
2013-11-18 12:19 pm
Надо пожаловаться начальству на RSI и carpal tunnel syndrome. Я пожаловался (их есть у меня) и получил свои 6 сеансов бесплатного массажа. Но для этого надо в большой организации работать.
(Ответить) (Parent) (Thread)
[User Picture]From: dimrub
2013-11-17 03:18 pm
Не совсем кернел драйверс, но напомнило:

http://gotchas.livejournal.com/3207.html
http://gotchas.livejournal.com/3534.html
(Ответить) (Thread)
[User Picture]From: gruimed
2013-11-17 04:52 pm
Ха, сколько лет прошло, а до сих пор живо помню как дебаггировал BSP бесконечными циклами.
(Ответить) (Thread)
[User Picture]From: cegefbod
2013-11-18 01:07 am
Забавно

The systems programmer has read the kernel source

а также знает чем симулятор отличается от эмулятора, как читать RTL и кривую документацию на жаргоне понятном только ограниченному числу людей запертых в одной комнате (а вы снаружи), и что бывает если воткнуть JTAG вверх ногами.

Страшная история -- это когда после многих месяцев поисков выясняется что хардверщик воткнул pass gate вместо flip-flop и у нас на руках сотни тысяч экземпляров почти работающих микросхем.

Послать что-ли резюме в микрософт

Edited at 2013-11-18 18:34 (UTC)
(Ответить) (Thread)
From: asox
2013-11-18 06:36 pm
после многих месяцев поисков выясняется что хардверщик воткнул pass gate вместо flip-flop

%))
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: p2004r
2013-11-18 12:01 pm
... а что в Марокко был Кракен?
(Ответить) (Thread)
[User Picture]From: cegefbod
2013-11-18 06:44 pm
Кстати о pointers

Был такой язык - Fortran IV, и лет сорок назад все на нем писали и всех на нем учили. И некоторым приходилось писать программы с linked list и рекурсией при том, что язык ни pointers, ни рекурсии не поддерживает, а использовать assembler не позволяет профессиональная гордость.

Да, может они и кракены, но без них гораздо хуже
(Ответить) (Thread)