• Программист должен решать проблемы бизнеса
    +2
    Да, что эти ваши сеньоры вообще могут. Я понимаю ещё какой-нибудь программист-вицепрезидент, главный архитектор ПО (который ваяет интернет магазины на PHP) или Java-джедай хотя бы
  • Windows Server или Linux-дистрибутивы? Выбираем серверную ОС
    0
    Ооо, Guix — это же просто ОС мечты, конфиги на Схеме, интерфейс для менеджера пакетов на Emacs, один менеджер пакетов для всего.
  • SARS нерукотворный? Генеалогия уханьского коронавируса
    +4
    После вашей статьи почитал про эпидемию сибирской язвы в Свердловске. Что интересно, там тоже люди умирали от пневмонии. Интересно было бы посмотреть всю эту хронологию эпидемий целиком
  • 2DOOM — браузерный 2D-трибьют легендарному шутеру
    +4
    Я думал, что геймплей будет как на первой картинке. Интересно, есть такие 2D-игры где ты перемещаешься не в одном слое (налево, направо), а между слоями типа раскладывающейся книжки (вглубь).
  • Чего нельзя требовать и за что нельзя хвалить сотрудников, если вы хотите, чтобы они хорошо работали
    +5
    Если сотрудник научился делать свою работу быстрее, но ответственности не готов брать больше и старается «отработать» свою зп через опоздания и уходы раньше, то скорее всего он не стремится к развитию в этой компании. Не всем такие «демотивированные» сотрудники нужны.
    А вы готовы повысить ему зарплату в 5-10 раз? В чем заключается развитие? В том, что вы накините ему работы в 10 раз больше, назовете тимлидом, в командировки будете гонять по два раза в неделю, а через пару лет, когда он полностью выгорит, уволите? Ну, да, мало людей заинтересованы в таком развитии. Представьте себе, что один человек может работать быстрее другого и в 100 раз за счет автоматизации рутины, каких-то наработок, опыта, просто личностных качеств. Но что-то такой разницы в зп я нигде не видел.
  • Ответ психиатра на статью «Болен-здоров»
    0
    Врачи могут напрописывать чего угодно. У меня были аналогичные симптомы. Постарайтесь успокоиться, если хочется ходить — ходите. Я одно время не мог нормально спать, постоянно просыпался от ощущения, что теряю сознание, задыхаюсь. Просто ходил по квартире пару часов пока не уставал и не засыпал. Может быть нужно больше отдыхать, правильно питаться, больше двигаться, ходить пешком 5-10 км каждый день.
  • Ответ психиатра на статью «Болен-здоров»
    0
    Меня и без травы нормально штырит :) Когда начинаются эти приступы головокружения, паники, затруднения дыхания и т.п. у меня и так состояние измененного сознания и хочется только чтобы поскорее отпустило. Если никак не получается отвлечься от работы, то я провожу себе прием психотерапевта, объясняю себе, что я достаточно сегодня сделал, можно успокоиться и ни о чем не думать. Если же искусственно подавлять всё это веществами, мне кажется мозг усохнет и я отупею.
  • Ответ психиатра на статью «Болен-здоров»
    0
    Добавлю тоже свою историю для сборника рассказов анонимных шизофреников. У меня в какой-то момент появилось много разных симптомов. Например, после сладкого сильно кружилась голова, было полуобморочное состояние. Потом такое состояние стало практически от любой еды. Была очень сильная слабость, одышка, отсутствие аппетита, тошнота. Периодически будто пересыхало во рту, постоянно хотелось сглотнуть слюну, но не получалось, будто комок в горле застрял. Приходилось постоянно ходить с бутылкой воды и смачивать горло каждую минуту. Слабость иногда была такая, что было тяжело дышать, приходилось совершать осознанные усилия для этого. А самая жесть была вечером, когда я ложился спать. Только я засыпал — сразу же просыпался от ощущения, что теряю сознание, задыхаюсь, куда-то проваливаюсь, начиналась паника. И ещё я похудел килограмм на 15.

    Я перебрал разные возможные причины. В первый раз мне поплохело, когда было лень готовить на завтрак нормальную еду и съел всё что попалось под руку: бутерброд с колбасой, кефирчик, конфеты, сгущенка. Первая мысль возникла, что раз у меня такая реакция на сладкое (и потом она периодически повторялась), то возможно это сахарный диабет. Сдал анализы — всё норм. Другой вариант: раз у меня такая реакция на еду и особенно сильно меня торкает вечером-ночью, то возможно проблемы с печенью, потому что она как-раз работает ночью, возможно у меня она работает плохо, происходит интоксикация организма и поэтому такие симптомы. Долго проверялся у гастроэнтеролога — в целом всё норм.

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

    У невролога я был, но немного по другим причинам. У меня периодически немела половина лица, нервный тик, сильные головокружения были и ещё раньше. Ещё вспомнил из симпотомов: сильное сердцебиение, особенно когда ночью просыпался в панике, низкое давление (80/50). Поэтому об инфарктах, инсультах и т.п. я тоже думал, когда начинались такие приступы. Один невролог мне прописал кучу каких-то таблеток: общие улучшающие для нервной системы, их я немного попринимал. Также прописал какие-то ядреные таблетки, со словами: сначала прими одну дозу, если всё будет норм, то вторую. Я прочитал, что это таблетки от эпилепсии и решил, что ну его нафиг.

    В общем, в чём на мой взгляд была причина всего этого. Я работал на двух работах и ещё пилил какие-то свои проекты. Весь день отработать на основной работе и потом ещё часов до 2 ночи заниматься другими работами для меня было совершенно нормально. Выходных и отпусков конечно не было. Если мне надоедала работа, то отдыхал я за компьютерными играми. Постоянно было ощущение, что нужно что-то делать и если не работать, то хотя бы играть. В какой-то момент я просто физически почувствовал, что игры очень истощают организм. Потом до меня дошло, что работа тоже истощает. Я просто усилием воли перестал работать вечером, стал ходить пешком по лесу. Стало на много лучше, все эти симптомы практически исчезли, перестал худеть. Единственное, стоит переработать или поесть после 8 вечера, то я гарантированно проснусь с ощущением паники, что всё плохо. Я понимаю почему это происходит, действительно есть вещи, которые меня не устраивают в жизни и которые нужно менять. Днём я могу об этом не думать. А ночью всё это вылазит из подсознания, тем более если поел на ночь или перенапряг нервную систему переработками. Наверное таких людей часто называют ипохондриками, которые ищут у себя несуществующие заболевания. Но я точно не ипохондрик, наоборот я игнорировал все эти симптомы, пока они не дошли уже до крайности. И сейчас отчасти продолжаю игнорировать, проще просыпаться в панике, чем что-то изменить в жизни.
  • Самые редкие и самые дорогие языки программирования
    0
    У меня есть наболевшая проблема в виде нескольких языков в резюме (например, Isabelle HOL или всякие языки для модельно-ориентированной разработки (QVTo, Acceleo, Xtend, Xtext)), по которым в России нет и наверное не будет ни одной вакансии. Хотя это не совсем ЯП общего назначения. По сравнению с ними Erlang или F# — это просто абсолютный мейнстрим.
  • Самые страшные яды
    0
    Да, я это скорее в штуку написал. Просто симптомы очень похожи. Они скорее связаны с переутомлением, перегрузкой. Раньше я мог придти с работы и ещё до ночи заниматься какими-то своими проектами за компом. Когда стал ограничивать рабочее время, то и симптомы ослабли.
  • Самые страшные яды
    0
    Я пробовал разные вещества. Меня сподвигала на это исключительно компания и, возможно, ещё чтение неправильных книг, которые создавали неправильный образ всего этого. Но к счастью мне очень неприятно находиться в состоянии измененного сознания, плюс организм всегда переносил всё это очень тяжело. Поэтому когда повзрослел эти эксперименты прекратились сами собой.
  • Самые страшные яды
    0
    Спасибо за статью! У меня от кальяна ровно такие же симптомы отравления как описано. Однажды я перебрал с ним, была просто лютая головная боль, ощущение, что вот-вот умру! Пока ехали домой на такси, мы несколько раз останавливались, таксист всё время предлагал меня оставить. С тех пор я никогда больше его не курил. Я был уверен, что это просто сужение сосудов или что-то подобное, даже в голову не приходило, что это отравление угарным газом. Было бы очень круто прочитать статью про антидоты, которые можно использовать в таких ситуациях.

    Ещё мы в детстве переплавили много свинца, однажды я даже плавил его на кухне на плите. Блин, тогда у меня не было описанных симптомов, но зато они появились сейчас: нарушения сна, страх смерти и т.п. Видимо, как-раз в организме накопилось достаточное количество и кукуха съехала. А может это из-за того, что в школе я учился в химическом классе и мы постоянно проводили несанкционированные эксперименты.

    Алюминий мы кстати тоже плавили, интересно на сколько вредны эти испарения.
  • Распознавание образов в эйдетическом искусственном интеллекте
    +3
    Да, какие 12000 кадров! Какие 50 fps! Глаз — это НЕ видеокамера. Глаз выхватывает какие-то кусочки из светового потока. Вы даже это слово не видите целиком. Зрение скользит по буквам. А всю эту картинку уже достраивает мозг. Или, тем более, кошку человек вообще не способен увидеть целиком. Пока он смотрит на неё, взгляд постоянно скользит по каким-то ключевым точкам. Если этот взгляд по какой-то причине не скользнул, например, по груди кошки, то человек и не увидит, что у неё там пятно другого цвета и человек будет «видеть» кошку как монохромную.
  • Распознавание образов в эйдетическом искусственном интеллекте
    +3
    Человек может узнать человека по единственной фотографии. Даже с другого ракурса, при другом освещении.

    Насчет полноты информации. Мозг не обрабатывает же тысячи «кадров» собаки. Зрение вообще не способно воспринять собаку целиком. Оно скользит по собаке, выхватывая какие-то детали. А целостный образ собаки уже достраивает мозг. Вы не видите не то, что раскадровку собаки, но не видите даже один кадр.
  • Профессиональное выгорание в ИТ (результаты исследования «Моего круга»)
    0
    Например, у меня есть удаленная работа с зарплатой в 1,5 раза больше, а по трудозатратам в 10 раз меньше, чем в офисе и гораздо комфортнее, не нужно стоять в пробках по 2 часа в день, можешь планировать своё время как хочешь. Если бы я гнался за деньгами, то давно уволился бы из офиса и нашел бы штук 5 таких удаленок. Но, с другой стороны, в офисе проекты сложные, интересные и масштабные.

    В офисе в принципе есть потолок по зарплате, который зависит в основном от 1) города и 2) просиженного времени. Работаешь в Москве, отсидел 160 часов в месяц — получил среднюю зарплату ±50%. Работаешь в Екатеринбурге — за ту же самую работу получил среднюю зарплату по Екатеринбургу. Брал отгулы, больничные — получил автоматически меньше.

    Зарплата в офисе практически не зависит от личной продуктивности, заинтересованности и т.п. Только от города и просиженного времени, всё остальное — стат. погрешность.

    Поэтому я вообще не согласен с вашим утверждением, что люди идут в офисы за деньгами. Как-раз на удаленке или фрилансе можно зарабатывать в разы больше. Удаленка — это конечно не совсем фриланс, но такой промежуточный вариант.
  • Почему люди не используют формальные методы?
    0
    Я не очень спец в этом и наверное есть много вариантов. Один вариант: код или какие-нибудь фрагменты кода импортируются, например, в Isabelle HOL. В Isabelle HOL формулируются ограничения для этого кода и доказывается, что импортированный код соответствует этим ограничениям. Например, есть функция для сортировки массива, транслируем её в Isabelle HOL и доказываем, что сохраняется количество элементов в массиве, что элементы результирующего массива действительно отсортированы, что сортировка происходит за определенное время в зависимости от длины массива или что этот алгоритм не зацикливается и т.д.

    Другой вариант, пишем код изначально в Isabelle HOL, доказываем там всё что нужно. А потом преобразуем код в Haskell, Scala и т.п.
  • Микроядро seL4. Формальная верификация программ в реальном мире
    +3
    Нет, это не то же самое. Тестами невозможно покрыть 100%. Даже если покрыты все ветки, остаются ещё все комбинации всех значений переменных. Если в программе есть рекурсивные структуры данных типа списков или деревьев, то количество возможных значений бесконечно.

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

    А, вот, как выглядит это с формальными доказательствами. Дается задание написать функцию, которая после тройного применения к списку возвращает исходный список. Задание написано на формальном языке, его невозможно как-то неправильно интерпретировать. И нет ни одного теста! Ни в задании, ни на сервере, ни самому разработчику их тоже писать не нужно. Если программа соответствует спецификации, то она на 100% корректна.

    Как вы эту простую задачку покрыли бы тестами на 100%? Тестов должно было бы быть бесконечное количество.
  • Профессиональное выгорание в ИТ (результаты исследования «Моего круга»)
    +5
    А мне наоборот в этом отношении на удаленке спокойнее. Бывало много ситуаций, что могли не заплатить за последний месяц. Бывали какие-то лютые конфликты внутри компании, от которых зависело продолжаем проект или нет. Но мне всё это глубоко по барабану. Мы с заказчиком на равных: он может не платить — я могу не работать, он может нагнетать обстановку, давить на сотрудников — я могу в любой момент прекратить проект, даже не отрабатывая две недели.

    А, вот, от работы в офисе просто панические атаки. Это ощущение, что ты вынужден туда ходить, что находишься в замкнутом круге, из которого невозможно выбраться.
  • Почему люди не используют формальные методы?
    +5
    Потому что это капец как сложно :) Например, у меня ушел месяц на то, чтобы написать транслятор с одного языка на другой. Он уже давно используется в нескольких проектах. А формальным описанием этого преобразования и доказательством его корректности я занимаюсь уже второй год. Это конечно очень интересно, узнал много нового. Но на практике сложно представить, что это может как-то массово применяться в ИТ проектах, там мозг вообще по-другому должен работать.
  • REST API Best Practices
    0
    А если так?
    PUT /order/1/status HTTP/1.0
    { "value": 2 }
  • «Цифровые государства»: с чего все началось
    0
    Кстати, альтернативная реальность, в которой проект Глушкова и Китова был реализован, описывается в «2032: Легенде о несбывшемся грядущем»
  • VDOM своими руками
    0
    Согласен. Зато в d3js проще описывать переходы для добавленных, удаленных, измененных данных. Можно сделать, чтобы они не просто добавлялись/удалялись, а чтобы это происходило с анимацией. Или если нужно обновить только определенные свойства определенных узлов (например, только расположение), то пишешь под это отдельную функцию и не сравниваешь/обновляешь всё.

    Наверное зависит от проекта. Если пользователь активно взаимодействует с содержимым страницы — перетаскивает какие-то узлы и т.п., то перегенерировать целиком и обновлять каждый раз HTML очень накладно.

    Ещё мне в принципе не нравятся шаблоны на клиенте. Понимаю на сервере шаблоны для страницы целиком. Но для клиента поддерживать кучу мелких HTML-фрагментов не очень.
  • VDOM своими руками
    0
    Интересная статья, но на мой взгляд подход d3js на много проще. Там не нужно парсить HTML. Описываешь отображение JavaScript-объектов в HTML, SVG или что угодно. При изменении исходных данных d3js обновляет DOM, при этом обработчики событий и т.п. сохраняются. Слияние происходит на уровне данных, а не HTML.
  • Возможности JavaScript, о существовании которых я не знал
    –1
    Цикл не завершится. ptr уменьшится на 100 и возможно станет отрицательным.

    А len увеличится на 100! При том, что условие выхода из цикла len > 0. На следующей итерации либо php_mblen упадет с segmentation fault. Либо этот цикл будет вечным, потому что len всегда будет положительным.

    Мой вариант работает быстрее потому, что

    1) меньше сравнений, у меня 3 ветки (=0, >0, <0), а в варианте со switch 5 веток (-2, -1, 0, 1, default),

    2) мои сравнения занимают меньше тактов процессора. Я уже 20 лет не писал на ассемблере, но на сколько я помню, сравнение с 0 или определение знака операнда быстрее, чем сравнение с -2, -1, 1.

    3) в моем варианте для случая inc_len < 0 нет лишнего присваивания inc_len = 1, с последующим прибавлением и вычитанием. Вместо этого инкремент ptr++ и декремент len--. Которые так же занимают меньше тактов процессора, чем прибавление/вычитание.

    Можно было бы скомпилировать этот код и проверить какие машинные инструкции генерятся, посчитать такты, но это тема для статьи, а не комментария.

    Насчет изменения логики. Для inc_len >= -2 логика не изменилась. Она изменилась только для inc_len < -2 (чего как вы утверждаете быть не должно), что я сделал сознательно, чтобы исправить ошибку индусов.

    Вы всё ещё настаиваете, что goto в данном случае — это хорошо? В этой теме по-моему я единственный смог понять как этот индусский код реально работает.
  • Возможности JavaScript, о существовании которых я не знал
    0
    Об этом я уже писал. В индусском коде с goto скорее всего будет segmentation fault. Потому что будет выполнена ветка default. Она очевидно рассчитана только на положительные значения. При -100 всё сломается.

    В моем же варианте любые отрицательные значения (-1, -2, -100), обозначающие что в строке что-то не найдено, интерпретируются одинаково. ptr увеличивается на единицу и поиск продолжается.

    Конечно, в моем варианте логика немного изменилась. Но это просто исправление ошибки наркоманов-авторов PHP.
  • Возможности JavaScript, о существовании которых я не знал
    0
    В этом и смысл.

    Для inc_len == 0 эти два выражения как-раз не будут выполнены, потому что там goto, который выводит из цикла.

    Для inc_len == -2 или -1 переменная inc_len устанавливается в 1, и я заменил эти два выражения на более эффективные: ptr++ и len--. Раз, уж, в исходном комментарии шла речь об эффективности.

    Насчет минусов это не лично к вам претензия. Но судя потому, что люди минуснули, они не врубились в логику исходной функции с goto. Что подтверждает то, что в этом примере goto затрудняет понимание. Т.е. вариант без goto тут и понятней, и эффективнее, и короче, и менее глючный.
  • Возможности JavaScript, о существовании которых я не знал
    –2
    Походу некоторые из этих наркоманов ещё и сидят на хабре :) Объясните хоть дураку, что не так. Сакральные исходники священного PHP нельзя критиковать?
  • Возможности JavaScript, о существовании которых я не знал
    0
    Судя по минусу в карму я понял, что goto — это ещё одна священная корова, о которой нельзя пренебрежительно отзываться на хабре :)

    А в чем логика моего кода не соответствует исходному?
  • Возможности JavaScript, о существовании которых я не знал
    0
    Если бы в Си не было goto, то чел, который писал функцию в интерпретаторе PHP из примера выше, напряг бы мозг и написал её нормально. Представьте, что другой наркоман решит добавить для функции php_mblen ещё одно возвращаемое значение: -3 или -1000. И вся эта жесть посыпется как карточный домик. В этом примере код с goto длинный, непонятный, потенциально глючный. Было бы интересно увидеть обратные примеры…
  • Возможности JavaScript, о существовании которых я не знал
    –3
    Какой-то индусский наркоман писал эту функцию.

    По-моему 1-ый switch будет проще и быстрее так
    		if (inc_len == 0) {
    			break;
    		}
    		else if (inc_len > 0) {
    			last_chars[0] = last_chars[1];
    			last_chars[1] = *ptr;
    			ptr += inc_len;
    			len -= inc_len;
    		}
    		else {
    			php_mb_reset();
    			ptr++;
    			len--;
    		}
    

  • Как искать IT вакансии в ЕС
    +1
    Безотносительно технологий интересны, например, вакансии бизнес-аналитика, системного аналитика, человека, который рисует модели, описывает требования к ИС. У вас на сайте при регистрации при выборе специализации есть разработчики, дизайнеры, тестировщики, РП, поддержка. Но почему-то нет аналитиков. Таких вакансий в принципе мало или на удаленку не берут?

    По технологиям интересны Eclipse Modeling Framework, Xtext, Eclipse Sirius, QVT — всякие вещи связанные с разработкой инструментов моделирования, предметно-ориентированных языков (DSL), преобразованием моделей, генерацией кода. Что-то типа такого. Пишу, и думаю, что компаний, которые этим занимаются, в принципе не очень много и если хочется найти такую работу, то видимо нужно составить список компаний и слать резюме напрямую.

    Вообще, хотелось бы искать работу не по технологиям, а по проектам. Придумал идею для стартапа :) Сайт для поиска работы, где нет никаких дурацких Java, C# и т.п., а классифицируются проекты, которыми занимаются компании или которыми хотят заниматься соискатели. Типа «обработка изображений в медицине», «разработка инструментов моделирования», «разработка конструкторов приложений», «EDI», «космические полеты», «разработка роботов» и т.п. А какие технологии там используются и в какой роли ты там будешь участвовать — вопрос второстепенный.
  • Как искать IT вакансии в ЕС
    0
    Я имел в виду, что на удаленку берут 100%-ых разработчиков, без доли аналитической работы. Людей, которые с утра до вечера будут писать код по готовому ТЗ. А хочется что-то ещё.
  • Как искать IT вакансии в ЕС
    0
    Столкнулся с тем, что на удаленке большинство вакансий для full-time разработчиков. А по специфическим специальностям с уклоном в аналитику, в модельно-ориентированную разработку, какие-нибудь исследования практически нереально найти. Вы планируете написать статью на тему поиска работы ИТшными не разработчиками или разработчиками, но по немейнстримовым, узкоспециализированным технологиям? ;)
  • Это не статья — просто пища для размышлений о том, как её написать
    0
    У меня была обратная ситуация с научным руководителем. У него есть проекты типовых диссертаций, статей, моделей, определений и т.п. Достаточно просто привести материал к готовому шаблону и получишь текст диссертации и т.п.

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

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

    Правда, на тот момент мне всё это не помогло защитить диссертацию, потому что должен быть какой-то материал, который ты будешь раскладывать по этому шаблону :) Но сама идея на мой взгляд очень клевая. В очень разных областях для принятия решений или для упорядочивания мыслей, чтобы донести их до остальных, востребованы подобные типовые схемы.
  • Это не статья — просто пища для размышлений о том, как её написать
    +2
    Теперь отделилась :)
  • Наглядное объяснение чисел с плавающей запятой
    +1
    Есть ещё интересный пример:

    1/3 + 1/3 + 1/3 = ?
    Складываем 1/3 сначала 3 раза, затем 30 раз, 300 раз и т.д.:

    float floatValue = 1F / 3F;
    double doubleValue = 1D / 3D;
    decimal decimalValue = 1M / 3M;
    for (int i = 0; i <= 6; i++) {
        float floatResult = 0;
        double doubleResult = 0;
        decimal decimalResult = 0;
        int times = Convert.ToInt32(3*Math.Pow(10,i));
        for (int j = 1; j <= times; j++) {
            floatResult += floatValue;
            doubleResult += doubleValue;
            decimalResult += decimalValue;
        }
        Console.WriteLine("sum 1/3 times: {0}" , times);
        Console.WriteLine("flt = {0}", floatResult);
        Console.WriteLine("dbl = {0}", doubleResult);
        Console.WriteLine("dec = {0}", decimalResult);
        Console.WriteLine();
    }
    Console.WriteLine("flt = {0}", floatValue*3000000);
    Console.WriteLine("dbl = {0}", doubleValue*3000000);
    Console.WriteLine("dec = {0}", decimalValue*3000000);

    Угадайте какой будет результат
    sum 1/3 times: 3
    flt = 1
    dbl = 1
    dec = 0,9999999999999999999999999999

    sum 1/3 times: 30
    flt = 9,999999
    dbl = 10
    dec = 9,999999999999999999999999997

    sum 1/3 times: 300
    flt = 100,0002
    dbl = 99,9999999999997
    dec = 99,99999999999999999999999972

    sum 1/3 times: 3000
    flt = 999,9764
    dbl = 1000,00000000004
    dec = 999,9999999999999999999999720

    sum 1/3 times: 30000
    flt = 9999,832
    dbl = 10000,0000000003
    dec = 9999,999999999999999999997203

    sum 1/3 times: 300000
    flt = 100165,5
    dbl = 99999,9999996892
    dec = 99999,99999999999999999972026

    sum 1/3 times: 3000000
    flt = 976144,6
    dbl = 1000000,00004317
    dec = 999999,9999999999999999720256

    flt = 1000000
    dbl = 1000000
    dec = 999999,9999999999999999999999


    Видно, что при сложении 1/3 три раза float и double дают более точный результат, чем decimal. Правда при большом количестве сложений decimal точнее. С другой стороны, если не складывать 1/3 три миллиона раз, а сразу умножить, то decimal менее точный.

    Всё это как-то связано с 60-ричной системой счисления. Я думаю, что при работе с долями (весами) или с географическими координатами арифметика с плавающей запятой может быть точнее. Если кто-то может рассказать подробней было бы интересно.
  • Прокрастинация с точки зрения программиста на удалёнке
    +1
    решения по науке
    вспомнил слова своего научного руководителя: «да, ты, конечно, хороший программист» — говорил он мне, подразумевая что на научную работу я не способен, типа «давай, программируй дальше». Или руководитель одного исследовательского подразделения в MS на конференции: «ну, мы-то с вами знаем, что главные в ИТ компании — это сотрудники R&D».

    Или на работу устраивался, а руководители убеждали меня пойти в РП: ну, типа, что это программирование, ну, 10 лет ты ещё попрограммируешь, а дальше захочется принимать какие-то реальные решения по проекту.

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

    Научная работа требует сосредоточенности на задаче в течение многих лет, если не всей жизни. Чтобы банально написать одну приличную статью требуется несколько месяцев. У программистов же принято менять работу и проекты минимум раз в год-пару лет. Если программист в течение года не изучил новую технологию, то, всё, он не развивается. Иногда смотришь, человек тут год поработал, там пару лет. А что за это время он вообще мог сделать? Если задача достаточно сложная, то через год работы ты только-только начнешь в неё погружаться.

    Когда ты в ИТ-компании пытаешься заниматься наукой, то программирование воспринимаешь как прокрастинацию. Люди часто пишут, что чтобы эффективно работать нужно «войти в поток» и ты начинаешь фигачить задачу за задачей. Как по мне, то войти в поток вообще не проблема, гораздо сложнее выйти из него и заставить себя например писать научную статью пару месяцев. Причем, когда ты занимаешься наукой или более конкретно — математикой, то офигиваешь от того на сколько много там свободы, на сколько мало готовых решений. Ты не можешь нагуглить решение, не можешь прочитать готовое руководство, не можешь решить задачу методом тыка. Приходится реально напрягать мозг и думать.
  • Прокрастинация с точки зрения программиста на удалёнке
    +1
    Либо у них несколько подразделений, которые занимаются наймом сотрудников в определенных регионах. И индусам, русским, американцам и т.п. они будут предлагать зарплаты исходя из среднерыночных для этих регионов. Если, скажем, в РФ средняя зарплата ИТшника 50-150 т.р., то какой смысл предлагать им 500 т.р., если достаточно желающих и на меньшие деньги. Либо предлагается некая среднерыночная зарплата по миру, скажем, 500 т.р.

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

    Ощущение прокрастинации говорит о том, что ты не хочешь работать. При этом продолжать заставлять себя работать, мотивируя это интересами компании, стремлением к идеальному коду и т.п. — я это называю «рвать ж… у» )
  • Прокрастинация с точки зрения программиста на удалёнке
    0
    человек занимается чем-то явно лишним вместо работы
    Почему лишним? Почему человек вообще должен работать? Я считаю, что человек должен творчески и интеллектуально самореализовываться. Если вместо этого он на работе усердно закрывает задачки, заниматься которыми он не хочет, то это преступление против себя. То, что человека тянет на сериальчики — это просто здоровая реакция на осточертевшую работу, которая так надоела, что он готов заняться чем угодно, только не ей.

    Имхо, нужно просто остановиться, осознать, что делать эти задачи ты не хочешь. Подумать о том, чем ты действительно хотел бы заняться. Очень сомневаюсь, что это будет просмотр сериалов. Наверняка хочется заняться изучением чего-то, созданием какого-то своего проекта. После этого, не испытывая никакой вины или угрызений совести, просто забиваешь на унылые задачи и делаешь то, что по-настоящему интересно. Ну, чтобы не умереть с голоду можно и унылые задачи иногда поделать вполсилы. Но при этом ты понимаешь ради чего ты их делаешь, сделал по-быстрому, что требуется, чтобы получить зарплату, а всё остальное время тратишь на интересное.