Pull to refresh
-1
Send message

Я к этой мысли и пытался подвести читателя: законы надо переписывать, а не нарушать. То есть если не согласны, то сначала меняем закон, а потом уже действуем.

Да, спасибо, я об этом уже написал в своём последующем комментарии и извинился. Был, правда, аналогичный спор под статьей про mew атаки недавно, и вот там уже был состав преступления, так как данные умышленно удалялись. Но реакция многих участников обсуждения была аналогичной: хакеры красавчики, научили нерадивых админов, что надо защищать базы. Невольно в голове сработал триггер и на эту статью.

Возможно этот пост, этот тред станут для вас поводом поразмыслить над этой темой и помогут лучше понимать происходящее вокруг.

Спасибо! Хочется надеяться и верить, что не только мне. Ради этого я и оставил тот комментарий, может кто-то ещё задумается и мир станет лучше :)


На мой взгляд, проблема вашего подхода в том, что он позволяет оправдывать коррупцию: зачем чиновнику терпеть "несправедливость" и отказываться от "благодарности" из-за того, что это не согласуется с каким-то там законом? Я бы не хотел жить в таком мире.

Вы правы. Я, если что, не призываю наказывать автора. Проблема в том, что дух и справедливость для каждого могут быть свои. И вы правильно сказали, что закон — это попытка формализовать что-то, с чем согласно большинство. И на то они и формальные правила, чтобы к ним формально относиться. Иначе это не закон, а "понятия" какие-то. Либо мы стремимся к правовому государству и соблюдаем законы все, а не только удобные, либо получаем то, что есть сейчас. Я намерено в целях демонстрации это несколько утрировал.


Признаю, я был неправ в том, что сравнил конкретно этот случай с преступлением. Сейчас перечитал статью УК, там есть слова "если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации". Так что состава преступления здесь, конкретно, нет. Прошу прощения за это некорректное сравнение. Однако недавно была статья про, кажется, "mew" атаки, когда данные незащищенных баз массово удаляли. И там уже явно есть состав преступления, но меня в коментариях упорно убеждали, что хакеры молодцы и робингуды, а владельцы серверов сами виноваты, что не запаролили их. Просто сейчас сработала ассоциация с тем случаем, хоть это и не верно.


Ещё раз. Я не оспариваю моральную сторону. Я нисколько не осуждаю ни автора, ни комментаторов. Более того, по справделивости и по моему личному мнению автор молодец, не надо его наказывать, я полностью поддерживаю. Я лишь хотел обратить внимание реакцию общественности на формальную сторону вопроса, как раз ту, что должна по-идее отличать правовое общество от жизни "по справедливости" ("по понятиям"). Без каких-то оценочных суждений, просто забавный факт. Дальше пусть каждый делает свои выводы. Или не делает. К сожалению, люди несовершенны, и чувство справедливости может быть у каждого своё. Ведь какой-нибудь депутат может совершенно искренне считать справедливым, что он кому-то помог, а этот кто-то его отблагодарил. "Упорядочить и формализовать" — вы верно подметили. Мой посыл был лишь в этом.

Автора не наказывать надо, а связаться и распросить что да как.

Забавное наблюдение. Когда речь в комментариях заходит о коррупции, нарушениях ПДД или чего-то ещё незаконного, то обычно в праведном гневе люди выступают за то, что важна неотвратимость наказания за преступление. А тут обратная ситуация, хотя такая же уголовная статья. Двойные стандарты во всем.


P.S. Это не лично к вам. Не оправдание коррупции и других нарушений, не претензия, не призыв к репрессиям :) Просто наблюдение, мысли вслух о том, что люди порой, сами того не замечая, предпочитают замечать законы и требовать их исполнения только когда для них это удобно и выгодно, и игнорировать, когда они с ними не согласны. Далеко нам ещё до правового государства (нам — всему человечеству) с таким самосознанием.

А здесь за примерами даже на другие планеты ходить не надо. Пчелы и другие насекомые на нашей родной Земле прекрасно видят ультрафиолет.

Ну, конкретно это я это взял из предыдущего комментария, который захотелось дополнить. А так, причин сколько угодно можно придумать: природные катаклизмы, техногенные катастрофы, эпидемии, войны. Динозавры вон у нас вымерли. Почему же на других планетах не могут? Какие-то могут жить вечно, наверное, но не все.

Всегда об этом тоже задумываюсь. Мало того, что цивилизация существует ограниченное время, так ещё и, очевидно, светит во все стороны, чтобы её можно было обнаружить, сильно меньше. Мы существуем давно, а радио активно используем лишь последние лет 100, что в космических масштабах вообще ни о чем. А ещё через 100, возможно, перестанем. И для обнаружения это должно крайне удачно совпасть с промежутком времени, когда другая цивилизация научилась принимать радиоволны и при этом активно их слушает в необходимом частотном диапазоне в конкретном месте неба, чтобы нас обнаружить (с учетом времени на доставку). То есть это окно весьма и весьма узкое, так что ничего удивительного, что мы никого не нашли до сих пор.

Поддержу. Осмысленные имена переменных вместо a, b, p и т.п. — одно из отличий production-ready промышленного кода от лабы первокурсника. Ну и "l" в "list" неплохо было бы переименовать до кучи.

Всё верно. Оттого и не создаёт для вас сложностей, потому что всегда так пишете, это для вас привычно :) У человека, который не писал на C много лет, от постоянных операций разыменования и взятия адреса рябит в глазах и приходится усиленно вчитываться в код, чтобы разобраться. Ну и сущностей там не особо меньше, так как "p" и "указатель на p" — это две сущности.


И нет, указатели — это не непонятная магия, а весьма простая и понятная магия вещь, но субъективно читать сложнее, если не пишешь такой код регулярно.


Да, я понимаю, что это ядро, и там подобного кода много, и люди, которые занимаются ядром, к такому привыкли. Я прекрасно понимаю, что в ядре производительность на первом месте. Но:


  1. Чтобы написать более сложный код в угоду производительности, надо сначала детально разобраться, сравнить и обосновать, что это будет действительно более производительно, и что этот эффект будет существенным, чтобы принести больший value, чем потребовать в дальнейшем поддержки. А то может получиться, что оптимизации компилятора сведут все старания на нет. Чем проще и прямолинейнее код, тем проще компилятору его оптимизировать, и, по итогу, он может оказаться более производительным, чем хитрозакрученная реализация. А может вообще этот код будет использоваться, условно, раз в год на списках из 5 элементов, и никакого ускорения никто в жизни не заметит, зато накрученная сложность увеличивает вероятность багов. Надо разумно подходить и без необходимости не усложнять код.
  2. Для многих элегантность определяется простотой понимания сторонним человеком без глубокого знания кода и, соответственно, стоимостью дальнейшей поддержки. Чтобы беглый взгляд на код давал возможность быстро и без особых усилий понять, что здесь происходит, и починить баг или расширить функциональность в связи с новыми требованиями.

Как известно, единственной измеримой метрикой качества кода является количество WTF в минуту на ревью :)

Согласен. Код должен писаться для людей, а не для машины. Чем проще код для восприятия и чтения, тем лучше при прочих равных (если не страдает эффективность и корректность). Так дешевле поддерживать, меньше багов будет.

Ну замените слово класс на слово структура мысленно, что уж вы к словам придираетесь, тем более разница в данном контексте несущественная. Идея имеет смысл. Если рассуждать в терминах ООП, то сам по себе список и его элементы — это два отдельных типа, и, если это удобнее для решения конкретной задачи, то можно создать структуру для самого списка и хранить в ней head, tail, а так же любую дополнительную статистику, относящуюся к списку, а не к конкретному элементу (например, количество элементов, имя списка).

С вынужденным переходом на удалёнку появилась следующая проблема. Так как теперь просто вживую перекинуться парой слов с коллегами не получается, организовывают кучу митингов, по ощущениям, их количество выросло раза в 2. Все в середине дня, перерывы между ними если и есть, то небольшие. Между митингами хочется немного отдохнуть и переключить мозг, пообедать тоже надо. В итоге иногда доходит до того, что утром разгребаешь почту, решаешь какие-то срочные свалившиеся проблемы, потом пара митингов, обед, ответить на пару писем, снова митинг какой-нибудь, потом кто-то из коллег с вопросами придёт в мессенджер, и вот уже почти вечер, усталость за день накопилась, сосредоточиться уже тяжело, заставить себя засесть за основную работу или написание какого-нибудь очередного отчета — от одной мысли тошно становится. День прошел, а работа не сдвинулась ни на сантиметр. На следующий день картина повторяется, и так иногда могут чуть-ли не недели пролетать с околонулевым выхлопом. Долг растёт и психологически давит всё сильнее, усугубляя ситуацию. Чтобы прервать этот порочный круг и сдвинуть дело с мертвой точки, необходимо хорошо отдохнуть, выспаться, выделить минимум полдня-день непрерывного времени, отсечь абсолютно все отвлекающие факторы, набраться решимости и приступить. Сложно и не всегда выходит. Порой помогает лишь осознание, что дедлайн уже завтра утром сейчас, дальше откладывать некуда. Работа в выходные или по ночам — неправильно, скажете вы, и будете правы, но, порой, это единственное время, когда никто не дергает, и есть возможность сконцентрироваться.

Справедливости ради, для них они не выглядят нелогичными, а очень даже наоборот. Ведь чем больше и богаче храм, чем больше и старательнее молиться, тем быстрее их заметит божество и будет благосклоннее к ним, и тем быстрее пройдут болезни и голод, которые как известно, кара небесная. А если не прошли, значит просто недостаточно молились и мало храмов построили. Логика есть, просто построенная на других предпосылках.

Начал пытаться считать каллории и столкнулся с чисто практической проблемой: информация о каллорийности продуктов или блюд в разных источниках имеет просто огромный разброс. То же упомянутое в статье приложение предлагает на стейк из семги кучу вариантов от 153 до 342 на 100 грамм, что в пересчете на кусок в 250-300 грамм дает немалую погрешность. И так практически на каждое блюдо. В итоге получаются какие-то цифры к концу дня, но как по ним делать выводы, если выбирая тот или иной вариант, можно было сделать их как существенно выше, так и ниже? Как это правильно делать?

Вы всерьез сравниваете "случайно на улице увидеть коленки дамы в миниюбке" с "случайно найти сервер, на котором база даных без пароля, случайно подключиться, случайно набрать команду на удаление данных, случайно оставить мяу в качестве комментария"? Очевидно, что в первом случае умысла нет и нет правонарушения, если только вы специально не следили и не подглядывали за этой дамой. Также очевидно, что во втором случае без умысла не обошлось.

Банк был бы неправ, если бы хранил деньги клиентов кучей на улице. Но это не даёт право случайным прохожим присваивать или сжигать эти деньги. Халатность одной стороны не является оправданием для преступления другой. То, что жертва изнасилования надела миниюбку, а не пояс верности, не снимает с насильника вину.

А может быть и соглашались. А может быть и не соглашались, чтобы их кто-то мог удалить. Теоретически всё что угодно может быть. Возможность просто прочитать чужие данные и возможность их модифицировать или удалить — разные вещи. В случае, если вы случайно забрели на сайт, что-то там прочитали, а потом осознали, что у вас не было на это прав, и вы покинули сайт, никто вас в этом не обвинит, так как у вас не было умысла. Удаление же чужих данных — очень даже осмысленное и осознанное действие.

Речь не про GPL, а про ситуацию, когда с кодом никакой лицензии не поставляется и не получается её выяснить никак.

По крайней мере с произвольным куском кода, взятым из интернетов, именно так. Пока использование явно не разрешено лицензией, брать к себе в проект и использовать, или как-то распространять — нельзя. Так учат на тренингах по работе с opensource минимум во всех компаниях, где мне довелось работать. Рискну предположить, что тут нечто подобное может быть, не на пустом же месте все эти правила появляются на каждом крупном сайте (читай как "где есть юридические отделы").

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity