Pull to refresh
297
0.2
Дмитрий Кашицын @Halt

Программист, линуксоид, паяльник-железячник

Send message

Почему дизайн Go плох для умных программистов

Reading time7 min
Views76K

На протяжении последних месяцев я использую Go для имплементаций Proof of Concept (прим.пер.: код для проверки работоспособности идеи) в свободное время, отчасти для изучения самого языка программирования. Программы сами по себе очень просты и не являются целью написания статьи, но сам опыт использования Go заслуживает того, чтобы сказать о нем пару слов. Go обещает быть (прим.пер.: статья написана в 2015) массовым языком для серьезного масштабируемого кода. Язык создан в Google, в котором активно им пользуются. Подведя черту, я искренне считаю, что дизайн языка Go плох для умных программистов.

Читать дальше →

Что делает самолёт с вашей кожей и глазами

Reading time4 min
Views47K


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

Итак, кожа и глаза. Самолёт, химлаборатория или цех производства — это одно и то же. Кондиционированный пересушенный воздух. Если полёт больше 3 часов — глаза начнёт жечь, а на коже могут возникнуть высыпания. Они вам вряд ли нужны, как и красные покраснение глаз, поэтому — готовимся.
Читать дальше →

Кто такие «седые странники» Австралии

Reading time7 min
Views89K

«Седой странник» пополняет запасы воды из артезианского источника в пустыне NT, насос питается ветряком

В Австралии очень длинный средний срок жизни — 85 лет. Для сравнения — у нас только недавно он перешагнул 70, до этого был в районе 65. Пенсия наступает в 55-65 лет. Остаётся ещё примерно 20-30 лет на то, чтобы что-то делать.

Представьте: вам 55, пенсии нормально хватает на жизнь без излишеств, дети уже разъехались. Вы живёте в своём доме где-то за городом и думаете, что бы такое сделать. Ну а дальше начинается странное. Настолько, что они смогли во многом изменить образ жизни очень многих мелких поселений.

Итак, дом сдаётся в аренду, и бабушки с дедушками покупают себе дом-на-колёсах. Это или прицеп к внедорожнику с контейнером-домом, или фургон типа «сухопутная яхта» или даже переделанный автобус. И едут в «кругосветку» по Австралии — это легко, потому что весь континент — это одна страна (раза в два меньше России), и есть кольцевая дорога вокруг. На годик-полтора, как поначалу думают эти прекрасные люди. И застревают на 10-15 лет.

Читать дальше →

Договоры — это как отладка

Reading time7 min
Views29K
7.2. Как форс-мажор указана забастовка в отрасли и регионе, это лучше вычеркнуть, т.к. неясно, в какой отрасли и в каком регионе.

Чтобы быть плохим юристом, не надо обладать специальными навыками: достаточно здравого смысла, чтобы разбираться в документах. Чтобы быть приемлемым юристом — ещё нужна хорошая память для того, чтобы помнить, что и где в нормативах и прецедентах. А чтобы быть отличным — ещё иметь огромную практику и нездоровое чувство юмора. Хотя последнее необязательно, конечно.

Каждый наш договор страхует юрист-отладчик, который как брекпоинтами размечает точки рисков. Сейчас покажу пару примеров того, что он видит и чувствует.
Читать дальше →

Путеводитель по исходникам LLVM

Reading time6 min
Views8.4K
В моём углубленном курсе компиляторов прошлой осенью мы провели некоторое время, изучая дерево исходников LLVM. Миллион строк кода на C++ выглядят пугающе, но я нахожу это интересным упражнением, и, по крайней мере, некоторые студенты с этим согласны, и я подумал, что я попытаюсь написать что-то подобное. Мы будем использовать LLVM 3.9, но предыдущие (и, возможно, будущие) релизы не сильно отличаются.

Читать дальше →

Штурм и натиск генной терапии старения

Reading time66 min
Views22K

Экспрессия генов и генная терапия


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

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

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

Вначале немного углубимся в теорию. Молекула ДНК — дезоксирибонуклеиновая кислота — является носителем кода, который управляет развитием и функционированием всего живого. В ДНК содержится программа, которая обеспечивает превращение одной единственной исходной клетки в слаженно работающий организм, состоящий из многочисленных клеток, объединенных в разнообразные ткани и органы.
Читать дальше →

Правила английского, которые нарушают ваши иностранные коллеги

Reading time4 min
Views62K


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

Двойное отрицание


Вы же помните, что в предложении на английском достаточно одного отрицания? А потом вдруг слушаем песню Rolling Stones и слышим “I can’t get no satisfaction”. Все дело в том, что это песня, тут можно, скажите вы. И это верно. Но еще стоит упомянуть, что двойное отрицание делает фразу эмоциональнее. Поэтому такие фразы и стали популярны. Но это неформальный способ, так что не увлекайтесь с двойными отрицаниями.
Читать дальше →

Бойтесь шахмат, Вам навязываемых

Reading time8 min
Views75K


В последнее время, все больше и больше разговоров о том, что детям начального школьного возраста надо преподавать шахматы. В данном вопросе выступили всевозможные руководители (Илюмжинов, фонд Тимченко, Васильева, Путин). Шахматный курс поступил на опробирование в школы в начальные классы, дети начали по нему обучение. И вот тут хорошие новости заканчиваются… Все на самом, все значительно сложнее чем кажется. И возможно хуже.

Если у Вас дети учатся в школах, и их используют для данного пробного внедрения системы «обучения» шахматам, то вам однозначно под кат. Если нет – то скоро будет ваша очередь.
В этой статье речь пойдет про курс «Шахматы в школе», авторы Э.Э. Уманская, Е.И. Волкова, Е.А. Прудникова. Добро пожаловать в ад…
Читать дальше →

13 сюрпризов неайтишной компании

Reading time9 min
Views93K
Отработав много лет в компаниях, занимающихся разработкой программного обеспечения на заказ, невольно начинаешь задумываться — а как всё-таки выглядит вся эта суета с другой стороны, со стороны заказчика? Грешным делом начинает казаться, что там всё просто и понятно, все люди сведущи и профессиональны, решения принимаются осмысленно и обоснованно, да и вообще, жизнь кипит, а не как в этом нашем айтишном болоте…

Пару-тройку лет назад подобные соображения подтолкнули меня попробовать поработать в компании, где источником дохода является что угодно, только не разработка софта. Удачно подвернулось предложение от бывших коллег занять должность IT-директора в одной из ведущих организаций финансовой сферы, и я приступил к кипучей деятельности, браво закатав рукава. Теперь, спустя некоторое время, с высоты, так сказать, полученного опыта, хочу поделиться сюрпризами, что ожидали меня на этом пути – конечно, те, кому уже довелось поработать в разных сферах и разных организациях, скорее всего не обнаружат тут для себя ничего ни нового, ни удивительного, однако для наивных айтишников вроде меня, видавших доселе только однотипные «бодишопы»-аутсорсеры, что-то может показаться и вправду неожиданным.
Итак, поехали

Что каждый программист на C должен знать об Undefined Behavior. Часть 1/3

Reading time7 min
Views32K
Часть 1
Часть 2
Часть 3

Люди иногда спрашивают, почему код, скомпиливанный в LLVM иногда генерирует сигналы SIGTRAP, когда оптимизация была включена. Покопавшись, они обнаруживают, что Clang сгенерировал инструкцию «ud2» (подразумевается код X86) — то же, что генерируется __builtin_trap(). В этой статье рассматривается несколько вопросов, касающихся неопределённого поведения кода на C и того, как LLVM его обрабатывает.

image

В этой статье (первой из трёх) мы попытаемся объяснить некоторые из этих вопросов, чтобы вы могли лучше понять связанные с ними компромиссы и сложности, и возможно, изучить немного больше тёмные стороны С. Мы выясним, что C не является «высокоуровневым ассемблером», как многие опытные программисты на C (особенно те, кто сфокусирован на низком уровне) предпочитают думать, и что C++ и Objective-C напрямую унаследовали множество таких проблем.
Читать дальше →

Почему LLVM может вызвать никогда не вызываемую функцию?

Reading time14 min
Views18K
Что бы ни сказал тебе твой дракон, он солгал. Драконы лживы. Ты не знаешь, что ждет тебя на другой стороне.
Майкл Суэнвик. «Дочь железного дракона»

Не так давно на Хабре был опубликован пост под названием "Как может вызваться никогда не вызываемая функция?". Выводы из статьи простые: в случае undefined behaviour компилятор вправе предпринимать любые действия, даже если они будут совершенно неожиданными. Однако меня заинтересовал сам механизм этой оптимизации. Результатом своего небольшого исследования я хочу поделиться с уважаемым сообществом хабра.


Читать дальше →

Деловая переписка на английском языке: фразы и советы

Reading time18 min
Views632K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

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

LIGO: линейка точностью в 1/10000 диаметра протона

Reading time13 min
Views41K
Нобелевская премия по физике за 2017 год ожидаемо досталась Кипу Торну, Райнеру Вайссу и Берри Беришу за экспериментальное обнаружение гравитационных волн на лазерно-интерферометрических приборах LIGO. Этот успех (а обнаружение гравитационных волн (ГВ) от двух сливающихся черных дыр первый раз произошло 14 сентября 2015 года) стал плодом примерно 50-летнего развития техники для детектирования ГВ. В результате этого развития инструмент LIGO обладает леденящими характеристиками, впрочем, никакие человеческие эпитеты не передают уровня прецизионности этой машины.

image
Лазерно-интерферометрическая гравитационная обсерватория LIGO в Ливингстоне, Луизиана, США.

Сегодня поговорим об инженерном устройстве LIGO. Но прежде — о гравитационных волнах вообще.

Впервые зарегистрированы гравитационные волны от слияния нейтронных звезд — и свет от них

Reading time10 min
Views29K
Коллаборация LIGO-Virgo вместе с астрономами из 70 обсерваторий объявила сегодня о наблюдении слияния двух нейтронных звезд в гравитационном и электромагнитном диапазонах: увидели гамма-всплеск, а также рентгеновское, ультрафиолетовое, видимое, инфракрасное и радио излучение.


Иллюстрация столкновения нейтронных звезд. Узкий выброс по диагонали — поток гамма-лучей. Светящееся облако вокруг звезд — источник видимого света, который наблюдали телескопы после слияния. Credit: NSF/LIGO/Sonoma State University/Aurore Simonnet

Нейтронные звезды, самые маленькие и плотные из всех звезд, образуются при взрыве сверхновой. Когда две нейтронные звезды образуются в паре, они вращаются друг вокруг друга, и постепенно теряют энергию, сближаясь и излучая гравитационные волны, пока наконец не сталкиваются. Такое столкновение и наблюдали телескопы LIGO, а через две секунды после — гамма-вслеск достиг космического телескопа Ферми, и в последующие дни и недели астрономы могли наблюдать событие в других электромагнитных диапазонах.

Впервые гравитационные волны были зарегистрированы два года назад — от слияния черных дыр. С тех пор еще три сигнала от черных дыр были приняты детекторами, последний — всего за три дня до этого события.

Под катом — о сигнале и открытиях, с ним связанных: точной оценке на скорость гравитационных волн, независимой оценке на постоянную Хаббла и новых данных по физике нейтронных звезд.

UPD Краткое изложение главной статьи о детектировании ГВ на русском — здесь.

Весь веб на 60+ FPS: как новый рендерер в Firefox избавился от рывков и подтормаживаний

Reading time16 min
Views68K
До релиза Firefox Quantum остаётся всё меньше времени. Он принесёт множество улучшений в производительности, в том числе сверхбыстрый движок CSS, который мы позаимствовали у Servo.

Но есть ещё одна большая часть технологии Servo, которая пока не вошла в состав Firefox Quantum, но скоро войдёт. Это WebRender, часть проекта Quantum Render.



WebRender известен своей исключительной скоростью. Но главная задача — не ускорить рендеринг, а сделать его более плавным.

При разработке WebRender мы поставили задачу, чтобы все приложения работали на 60 кадрах в секунду (FPS) или лучше, независимо от размера дисплея или от размера анимации. И это сработало. Страницы, которые пыхтят на 15 FPS в Chrome или нынешнем Firefox, летают на 60 FPS при запуске WebRender.

Как WebRender делает это? Он фундаментальным образом меняет принцип работы движка рендеринга, делая его более похожим на движок 3D-игры.
Читать дальше →
Если вы планируете или уже получаете оплату в валюте, вам в любом случае предстоит валютный контроль. Мы не знаем, какая часть предпринимателей отказывается от работы с иностранными клиентами или работает по-черному, лишь бы не связываться с валютным контролем. Но кажется, что его не любят многие. Мы подготовили инструкцию, которая поможет вам разобраться с валютным контролем. Мы не будем рассказывать обо всех трудностях - проговорим только те, которые чаще встречаются в сфере IT.
Подробная инструкция – под катом.

Наша методика расчета стека печатных плат

Reading time7 min
Views29K
Пока мы заканчиваем последние приготовления к серийному выпуску сервера VESNIN, хочу провести образовательный эксперимент — опишу наши внутренние методики и рекомендации для расчёта стека печатных плат. С одной стороны, приятно, если наш опыт будет кому-то полезен. С другой, мы сами рады получить дельные комментарии, чтобы улучшить нашу практику. Если интересно прочитать и обсудить — добро пожаловать под кат.


Погрузиться в детали

tig — улучшаем продуктивность работы с git

Reading time3 min
Views44K

Всем привет! Хочу рассказать о консольной утилите, которая значительно увеличила мою продуктивность работы с Git, и, надеюсь, ускорит и вашу также. Называется она tig и была написана канадским программистом Джонасом Фонсека (Jonas Fonseca) ещё в далёком 2006-м году, но по настоящий день она активно развивается и поддерживается в великолепном состоянии. Я хочу показать её функционал (внимание, есть относительно тяжелые gif-ки внутри) и поделиться самыми удобными способами использования.


Читать дальше →

Наглядное объяснение чисел с плавающей запятой

Reading time4 min
Views230K
image

В начале 90-х создание трёхмерного игрового движка означало, что вы заставите машину выполнять почти не свойственные ей задачи. Персональные компьютеры того времени предназначались для запуска текстовых процессоров и электронных таблиц, а не для 3D-вычислений с частотой 70 кадров в секунду. Серьёзным препятствием стало то, что, несмотря на свою мощь, ЦП не имел аппаратного устройства для вычислений с плавающей запятой. У программистов было только АЛУ, перемалывающее целые числа.

При написании книги Game Engine Black Book: Wolfenstein 3D я хотел наглядно показать, насколько велики были проблемы при работе без плавающей запятой. Мои попытки разобраться в числах с плавающей запятой при помощи каноничных статей мозг воспринимал в штыки. Я начал искать другой способ. Что-нибудь, далёкое от $(-1)^S * 1.M * 2^{(E-127)}$ и их загадочных экспонент с мантиссами. Может быть, в виде рисунка, потому что их мой мозг воспринимает проще.

В результате я написал эту статью и решил добавить её в книгу. Не буду утверждать, что это моё изобретение, но пока мне не приходилось видеть такого объяснения чисел с плавающей запятой. Надеюсь, статья поможет тем, у кого, как и у меня, аллергия на математические обозначения.
Читать дальше →

Австралия: небольшая реколонизация Земли

Reading time11 min
Views168K
Побывать в «ничейных землях» пустынь Австралии — это почти как попасть в научно-фантастический роман про колонизацию экзопланеты. Только взаправду. Белые люди системно пришли всего около 200 лет, и за это время успела сложиться молодая, эффективная и очень интересная инфраструктура. Так что ощущения просто космические.

В Австралии опасно. Не так, чтобы всё живое хотело вас убить, но близко. Смертей десятки в год, что близко не лежало в сравнении с ДТП, но зато они очень, скажем так, изобретательные. Например, к воде вообще нельзя подходить — там, в зависимости от водоёма, крокодилы, ядовитые кубомедузы, акулы и змеи. Благодаря одному немецкому туристу, последние слова которого были «Да нет тут никаких крокодилов», знаки об их наличии по шоссе Стюарта теперь на двух языках. А благодаря одной женщине, решившей искупаться во время менструации, мы теперь знаем, что акулы умеют подниматься вверх по течению ручья на 2 километра. Хворост около трассы для биваков туристов собирают строго гиды — отлучаться с асфальта опасно для жизни, потому что в топ-20 самых ядовитых змей мира всего 2 строки принадлежат неместным. К огромному неудовольствию австралийцев.


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

А ещё Австралия постоянно либо затоплена, либо горит, либо находится в короткой передышке между этими состояниями. Но давайте начну с самого начала. Сначала мы оказались в Nowhere Land Северной территории.
Читать дальше →

Information

Rating
2,756-th
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity