All streams
Search
Write a publication
Pull to refresh
13
0

Химик и программист.

Send message
Возможно, что полезней (и педагогичней) в некоторых случаях отказать в походе в зоопарк, объяснив причину. Это избавит сына от инфантилизма, научит разумно выбирать приоритеты. В противном случае бывает взрослый инфантилизм: человек с детства привык во всех мелочах всегда выполнять самые мелкие обещания, что бы ни произошло. Была у меня на работе сотрудница, которая пообещала к концу недели личный отчет написать, простуженная привезла в пятницу с высоченной температурой, в результате слегла с воспалением легких и последующими осложнениями. Начальник в голос выл: «Зачем? У меня эти отчеты еще пол-месяца будет валяться, пока до них доберусь. Позвонила бы, я бы кого из молодежи к ней домой за отчетом прислал.»
М.б. мне везло, но были случаи, когда работодатель оплачивал мне покупку техники и софта, а некоторые мелочи, которых не было, из Штатов по DHL присылал.
Интересная статья, но ИМХО упущено несколько важных моментов.

1) Часто бывают ситуации, когда для работы над программным продуктом нужно не только программирование, но и углубленные знания предметной области. В этих ситуациях часто бывают пары: программист и специалист в предметной области. Удаленная работа для такой пары возможна, но требует решения дополнительных орг. вопросов.

2) При удаленной работе на больших расстояниях в случае необходимости периодического общения по телефону и т.п. возникает проблема часовых поясов. Не всегда скажешь шефу «это для меня слишком рано или слишком поздно».

3) Удаленная работа и полезна и вредна для здоровья. Польза: не торчать в пробках, не толкаться в метро, не отвлекаться на посторонний шум и разговоры в офисе, возможность оптимально построить рабочий день, высыпаться, хорошо питаться, в оптимальное время гулять и заниматься физ.культурой и т.д. Вред: переработка — задача может увлечь, работать 10-14 часов ежедневно — не полезно; нарушение режима — ночью м.б проще сосредоточится, ничто и никто не отвлекает, но ночной образ жизни не полезен. Нужна большая самодисциплина, чтобы не устраивать себе авралов, паники из-за поломок оборудования, отсутствия связи и т.д.

4) И в случае офисной и в случае удаленной работы многое зависит от общего количества работников. Работа на большую компанию обычно легче, чем на маленькую фирму (меньше 10 человек).

5) ИМХО: и для начальника и для подчиненных удобнее отчитываться раз в неделю о проделанной работе. Особенно это важно для удаленной работы. Такой отчет должен занимать не более 5-10 мин. по телефону и не более экрана по email.

Много и успешно работал и удаленно и не удаленно, и с крупными и с мелкими, участвовал в чужих проектах и делал собственные. Возможно, что в моих впечатлениях есть доля субъективности, и у многих другие впечатления. Не претендуя на абсолютную правоту, подумал, что сказанное м.б. интересно.
Вы сказали:
Особенности мозга человека таковы, что он плохо хранит и отличает более 7-9 элементов в одном списке при оптимальном их количестве 1-3.
А неочевидных мест в коде м.б. тысячи. Помнить все невозможно. А если над кодом работает команда, то только один знает почему нет проверки на ноль и обработки исключения.
Все может быть!
Быть может, вы умрете,
Вас выгонят,
Сгорите на работе,
Или на базе вас задавит свеклой в таре…
Товарищи! Пишите комментарий!


— Леонид Бунич
ошибка ввода — прошу извинить
М.б. нужен будет обработчик этого исключения?
ИМХО не только сложные, но и неочевидные места. Тривиальный пример. Переменную Х делим на переменную Y при этом нет проверки, что Y не равно нулю. Не очевидно: м.б. кодер забыл поставить проверку, а м.б. Y не равно нулю по условию подзадачи, проверялось ранее и т.д. Комментарий-пояснение ИМХО и в таком тривиальном случае необходим.
Уважаемый автор,
Комментарии в контракте — почти всегда полезны, комментарии в коде реализации почти всегда вредны.

но ранее Вы писали:
4 Комментарии
Первая строка комментария перед объявлениями процедур, классов и т.п. должна давать понять их назначение. Последующие строки описывают те или иные особенности реализации.
Комментарии к виртуальным методам должны описывать обстоятельства вызова, а не реализацию — она может быть перекрыта в наследниках.
Комментарии в теле процедур и методов не должны описывать, ЧТО делает тот или иной оператор или блок, а должны указывать ЦЕЛЬ, для которой он (оператор) используется.

Цели меняются гораздо реже, чем средства ее реализации
Понять что делает код можно из него самого, понять ЗАЧЕМ по коду бывает нереально.

Пересмотрели свое отношения к комментариям? или я чего-то не понял?
В этом и проблема, как вводить «как-нибудь „гарантированно“ секьюрно». Подумал, Вы знаете, раз этим занимались. Я не про себя, но среднему юзеру откуда знать сидит ли у него кейлоггер? Подозреваю, что для многих заражение не замечено.
Одного раза достаточно, чтобы украсть секретную фразу при вводе. Или ее нужно вводить на свеже поставленных ОС и фоксе офф-лайн, т.е. с гарантией, что не сядет троян? А возможно украсть профиль?
В генерации паролей участвует ваш нестойкий пароль, URL-адрес (domain.tld) и ваша секретная фраза.
Спасибо, но я не понял: а чем это отличается от KeePass? Узнается URL-адрес, кейлоггер отслеживает нестойкий пароль и секретную фразу. Злоумышленник берет Ваше расширение, подсовывает ему отслеженную инфу и получает доступ.
в отличие от какого-нибудь авиастроения, программирование имеет синтетическую природу: с одной стороны оно — раздел практической философии (как математика), а с другой — инженерная дисциплина
К «какому-нибудь авиастроению» Вы явно не справедливы: программирование входит и в современное авиастроение, начиная с систем автоматического проектирования и кончая программированием бортовых компьютеров. То, что математика — раздел практической философии, крайне экстравагантное утверждение. Есть область философия математики, но она определяется иначе, чем вся математика.
А как защитить работников банка? ;)
Несколько лет назад у меня была небольшая переписка с Dominik Reichl (автор KeePass), где обсудили эти идеи. Ему в принципе понравилось, но, кажется, он так ничего и не попробовал. Напишите ЛС, если попробуете, что получилось.
Happy birthday to you
Happy birthday to you
Happy birthday dear mail.ru
Happy birthday to you.


У вас большой, дружный и веселый коллектив — это самое важное для успеха.
Удачи!

В дополнение и как информацию к размышлению, т.к. там конкретные примеры из современной физики.
Как сказал Дэвид Мермин: «Заткнись и считай!»
Интересная, хоть и популярная публикация на эту тему: Андрей Борисов, Заткнись и считай (Кого не удовлетворит популярный уровень: см. в конце статьи ссылки на научные издания).
Да. Не панацея. Но в статье хорошая идея:
Чтобы выйти из ситуации просто перемешаем раскладку виртуальной клавиатуры!

Конечно, если злоумышленник будет получать скрины в момент клика, то это не поможет. Но здесь возможна хитрость: обозначим буквы-цифры пиктограммами: 1-Яблоко,..., 9-Молоток,..., а-Персик, и т.д. Распечатаем на принтере эту табличку и будем выводить на клавиатуре со случайной раскладкой пиктограммы. Пользователь, набирает пароль по бумажной табличке, которую злоумышленник не видит (не забыть отключить web-камеру, перед вводом пароля!). Злоумышленник получит скрины, где были нажаты: Молоток, Персик, Яблоко, Молоток, Яблоко,… и далее ему остается делать перебор, который будет очень долгим при достаточной длине пароля.

Можно модифицировать этот метод и использовать обычную клавиатуру, если ПО будет ее перекодировать при вводе пароля: пусть 1 -> q, 2 -> x, ..., a -> t, b -> 8,… Тогда, чтобы набрать пароль x8q, пользователь должен набрать 2b1. Понятно, что таблица перекодировки должна быть надежно зашифрована, и должны быть приняты меры на случай дампа участков памяти — в этом плане предложено много эффективных подходов.

Еще можно зашумлять набор. После каждого нажатия/клика пользователем ПО случайным образом эмулирует несколько нажатий/кликов, запоминает их и удаляет из общей последовательности нажатий/кликов, получая таким образом пароль, введенный пользователем. А злоумышленнику придется гадать, что в общей последовательности исходит от пользователя.
В книгах по программированию честные авторы стыдливо признают, что «объекты – это как бы не совсем объекты»

Пожалуйста, приведите пару ссылок на эти книги.

Оказавшись два года назад в мире разработки ПО

Очень не большой срок.

Неудивительно, что неопозитивизм – единственная «работающая» философская система, по сути – единственная на сегодня корректная философия: в подтверждение могу упомянуть, например, неопозитивиста Карла Поппера, который разработал современную методологию научного познания.
Методология Поппера далеко не единственная и не общепризнанная, как и философия неопозитивизма. Многие Все другие философии настаивают на своей истинности. Говоря упрощенно (на уровне упрощений статьи) философия — это тоже модель. А в моделировании нетривиальных сущностей, ситуаций и т.д. не бывает, чтобы одна модель полностью исключала все другие. Одна модель использует одни свойства прототипа и больше подходит для одних целей, другая — другие и больше подходит для других целей.

Функциональное программирование стало интуитивной реакцией миллионов разработчиков на туманность ООП
Функциональное появилось раньше: лямбда-исчисление (Алонзо Чёрч, 1930), Лисп (конец 1950х), т.е. раньше, чем Simula 67.

Пример ИМХО слишком тривиальный для критики методов в ООП. Взять пример сложнее, и мы увидим роль полиморфизма и т.д.

Information

Rating
Does not participate
Registered
Activity