Электромагнитные поля - загадочные и интересные. Мы давно покорили их и они несут нам верную службу во всех областях науки и техники. Но и по сей день главным вопросом, который больше всего всех волнует остаётся их влияние на человеческий организм. В основном это следствие того, что мы знаем о нашем теле наверное даже меньше чем о самих полях, что даёт просто огромный простор для спекуляций. Эта статья прольёт немного света на данную тему (Ахтунг! Много трафика!).
JavaScript
Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно
— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?
Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.
Ноль смертей: как выжить в ДТП
В прошлом году проект “Карта ДТП” опубликовал исходные коды сайта по анализу дорожно-транспортных происшествий. Наша работа получила большой отклик, и мы продолжили развитие. Теперь работает мобильная версия, пропали проблемы с масштабированием, можно поделиться любым сегментом в виде ссылки. Картой пользуются городские активисты, депутаты, архитекторы и транспортные чиновники. Но остается нерешенным вопрос, который мы задавали с самого начала: как добиться минимальной смертности на дорогах?
В 2019 году в ДТП на дорогах и улицах России погибло 16 981 человек
Фокусное расстояние глаза. Какое же оно?
Поехали!
В этой статье я постараюсь обойтись без аналогий глаза с фотоаппаратом и мозга с компьютером. Почему?
С самых первых попыток изучения мозга человеком люди искали аналогии для облегчения понимания/объяснения его работы. Для каждой эпохи были свои примеры — человек сравнивал мозг с самым сложным устройством своего времени:
— паровые машины,
— ламповая техника,
— сегодня это компьютеры,
— в будущем…
Обратимся за материалом к учебникам по физиологии, дабы избежать ненужных заблуждений.
Глаз как оптическая система
Веселее. Я серьёзно
Я много лет занимаюсь эффективностью работы программистов. Испробовал кучу методов, и вычитанных из книг, и выдуманных, составил несколько кейсов и написал тысячи строк кода, чтобы всё это автоматизировать. И всё вроде ничего, но чего-то всё время в моем уравнении не хватало.
Я не мог понять диких скачков этой самой эффективности, в первую очередь у себя самого. Я веду учет своей эффективности на протяжении нескольких лет, в единой системе координат, и все время наблюдаю просто жуткие перепады. Не, ну ладно там скачки при смене места работы, должности, языка программирования – адаптация, время на изучение и т.д. Но почему эффективность скачет при неизменном, казалось бы, контексте?
Поначалу думал, что дело во мне. Ну, такой вот я дурак, не могу стабильно работать. Потом стали бросаться в глаза скачки в работе команды, которой руковожу – опять же, дикие, в 2-3 раза. Не говоря уже о перепадах эффективности отдельных программистов.
Вот вроде всё на месте, без особых изменений. Методы работы не меняются, квалификация только растет, задачи однородные, и по сложности, и по объему. Но вот скачет эффективность и всё.
Потом привел к одной системе координат эффективность разных команд, с которыми работал, и опять вижу существенную разницу – причем, и в абсолютных значениях, и в стабильности. Одни команды всё время тупо росли, другие всё время скакали, по бешеной синусоиде.
Ответ пришел случайно. Всё дело в настроении.
Wechat или действительно всеобъемлющее приложение. Что с ним может делать разработчик
Про одного парня
Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.
До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.
Но все это позиции были несколько тупиковые, в первую очередь по доходу. Все мы тогда получали примерно одни и те же деньги, работали в одних и тех же условиях.
Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Я растерял веру в разработку, выгорел, но меня спас культ инструмента
Я часто критикую технологии, которые кажутся мне неправильными, и в ответ получаю не только аргументы, но и откровенную злобу, обиду, и даже в морду.
Уколы в адрес технологий разрабы воспринимают на свой счет. Культ инструмента — очень странная штука, которую не объяснить логически. Одни говорят, что культ есть у всех, потому что мышление плотно сплетается с япом. Другие говорят, это джунироская болезнь — ты впервые что-то написал, оно получилось, от восторга ты посчитал свой яп чудом божьим.
Чем бы оно ни было, я эту фигню не понимал никогда.
Сторонники культов кажутся мне непроходимыми тупицами. А я всегда пытаюсь понять, как тупицы стали тупицами, и почему тупицей не стал я. Начал думать и бам! — понял, что все-таки стал. Я тупица-культист, который восхваляет F#. И конечно за этим есть история.
Дональд Кнут: «3:16» — книга про Библию (72,73,74/97)
«Я бы прочитал книгу теолога о программировании.»
— Дональд Кнут
На Youtube есть серия из коротких 97 роликов, где Дональд Кнут рассказывает про свою жизнь. Пару лет назад я начал публиковать самые интересные моменты, а вот сейчас решил продолжить знакомить читателей с образом мыслей и способом принятия решений «самого великого программиста всех времен и народов».
«3:16» — это книга, которая отличается от любой другой книги, которая когда-либо была написана. Я полагаю, что наконец-то созрел, чтобы написать такую книгу. Во всяком случае, 3:16 — это изучение Библии в другом ракурсе, не имеющее аналогов. Попробую пояснить.
Для ученых из области компьютерных наук естественно изучать сложные вещи, разбивая их на множество простых вещей и затем исследовать случайно выбранную часть. Таким образом, собирая несколько частей, они имеют представление в целом. Это похоже на опрос Гэллапа.
72
Взяв интервью у тысячи человек, вы знаете, что думают миллионы людей. Я использую выборку при исследовании документов. Если кто-то дает мне курсовую, и у меня нет времени, чтобы прочитать все 50 страниц курсовой работы, я буду выбирать случайную страницу и делать соответствующие выводы. Студент не знает заранее, какую страницу я собираюсь проверить. Таким образом, отбор проб это то, чем занимается компьютерный ученый.
Однажды, в 70-е, я задался вопросом, а что если я таким образом «исследую» Библию?
(Прим. переводчика: пожалуйста, комменты по вашим рекомендациям перевода присылайте в личку, статья лежала 2 года в черновиках, вот решил доделать Кнута, так что помогайте, дедушка крайне непросто говорит)
RE: Возможны ли путешествия во времени?
Если для Вас википедия — главный оплот истины и знаний, а физические законы непоколебимы — Вам пора на работу в инквизицию. Еще столько людей, опровергающих теоретические выдумки физиков 18 века, не сожжено!
Такого уровня воинствующего невежества я давно не видал, и уж на Хабре-то его видеть вдвойне странно.
Поскольку я, в отличие от автора, сциентист, то постараюсь в ответ рассказать любознательному читателю, что мы в действительности знаем о природе времени, причинности и путешествиях во времени.
Время
В классической механике время считается абсолютным и неизменным в том смысле, что при переходе от одной системы отсчёта к другой временные интервалы не изменяются:
Здесь (x, y, z, t) — координаты в старой системе, (x', y', z', t') — координаты в новой системе. Здесь и далее предполагается (для упрощения формул), что одна система движется относительно другой параллельно оси x со скоростью v.
Это т.н. преобразования Галилея — что происходит с координатами при смене системы отсчета. В галилеевом смысле «поток времени» один на всю Вселенную, и временные координаты у всех объектов одинаковы. При этом классическая механика никак не трактует уникальность стрелы времени; более того, само понятие движения времени в ньютоновы формулы не входит никак.
В классической механике мы сами вводим движение от прошлого к будущему. Допустим, у нас задан набор материальных точек (координаты и скорости) и действующих сил. Далее мы задаёмся каким-то интервалом dt и смотрим, как система будет эволюционировать во времени. Никто не мешает нам двигаться в обратном направлении и следить, что происходило с системой в прошлом.
Однако «путешествие во времени» — т.е. перемещение одного конкретного объекта по шкале t в прошлое — ньютоновой механикой запрещено (см. выше — временной поток один на всю Вселенную).
Ситуация стала гораздо веселее, когда Максвелл сформулировал свою электродинамику, а затем Эйнштейн в попытках решить противоречия электродинамики и классической механики создал теорию относительности.
Мобильные браузеры и их пушистые лапки
Когда на телефонах стало возможным просматривать веб-странички, мало кто из разработчиков задумывался об оптимизации сайтов для мобильных устройств, и забота мобильных браузеров об удобстве пользователя вполне объяснима. Но с тех пор много воды утекло, и теперь эта оптимизация включает в себя борьбу с самими браузерами. О том, с какими проблемами можно столкнуться и как их решать – читайте под катом.
Screen Space Ambient Occlusion
Планетарный ландшафт
Рис.1 карта высот + плоскость = ландшафт
Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Убийцы оптимизации JS уже не такие страшные
И вот новый оптимизатор в v8, называемый TurboFan, за последний год научился оптимизировать этот самый практически весь es6, es5 и даже try-catch больше не является проблемой.
class TestClass {
megaFunc() {
try {
let sum = 0;
for (let val of [1, 2, 3]) {
sum += val;
}
throw new Error(`sync error, sum = ${sum}`);
}
catch(err) {
return err;
}
}
}
let test = new TestClass();
checkOptimizationStatus(test.megaFunc);
Function is optimized by TurboFan
Что осталось не оптимизированным, а так же как проверить свою функцию на предмет оптимизации или деоптимизации буквально в 1 действие можно увидеть под катом
Factory Refurbished: покупаем электронику дешево, и с гарантией
В комментариях к одной из статей блога прозвучал вопрос о покупках восстановленной техники за рубежом. Спрашивали — отвечаем.
Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан
Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.
Особенности продвижения приложений в СНГ, на западных рынках и в Азии
В данной статье вас ожидает большой текст (TLD:DR!) о продвижении приложения в СНГ, на западных рынках и в Азии, с подробным разбором каждого из рынков и большим количеством полезных ссылок.
Запасайтесь чаем и добро пожаловать под кат.
Важные аспекты работы браузера для разработчиков. Часть 2
Автор: Антон Реймер
В первой части статьи, основанной моем вебинаре, мы рассмотрели общие принципы работы браузера. Во второй — я сконцентрировал внимание на важных событиях: repaints и reflows — и на принципах работы event loop.
Repaints and reflows
При загрузке страницы, если она не пустая, всегда выполняется, как минимум, по одному reflow и repaint. Далее эти события возникают в следующих случаях:
1. Часть дерева отображения нуждается в перерасчете, т. е. у какого-то узла изменились ширина, высота или координаты. Вызывается событие reflow.
2. В результате изменений часть отображаемого контента должна обновиться. Речь идет, в первую очередь, о свойствах стилей: цвет фона, радиус и т. д. Вызывается событие repaint.
Если вызывается reflow, после него обязательно вызовется и repaint. Но обратное неверно: repaint может вызываться независимо от reflow.
Какие действия вызывают reflow и/или repaint
[Письмо молодым] Мечтайте. Мечты сбываются. И я не знаю почему
В детстве я мечтал о том, что стану богатым и буду путешествовать по уютным городам Европы. Но, находясь в центре Барселоны я не ощущал особенности момента. Все произошло последовательно и даже логично. Мой путь, который начался в небольшой деревне, продолжился в столице неожиданным для многих образом. А все потому, что я не боялся мечтать.
«Хакеры и Художники». Как мы 13 лет всем рунетом Пола Грэма переводили
— к/ф «Трасса 60»
Пол Грэм написал книгу «Hackers and Painters» (оригинал в PDF на английском) когда еще был больше программистом, чем инвестором. С тех пор некоторые моменты устарели (да и arc не взлетел), но большинство мыслей остались актуальными (роль и место
Спасибо Байраму Аннакову за «наводку» на Пола Грэма и Николаю Кононову, который подтвердил, что я на правильном пути.
Содержание
Глава 1 Why Nerds Are Unpopular — За что не любят ботанов.
Глава 2 Hackers and Painters — Хакеры и художники (Habr edition)
Глава 3 What You Can't Say — О чем вы не можете сказать.
Глава 4 Good Bad Attitude — Слово «хакер».
Глава 5 The Other Road Ahead — Другая дорога в будущее, Другая дорога в будущее, продолжение.
Глава 6 How to Make Wealth — Как стать богатым.
Глава 7 Mind the Gap — Осторожно, разрыв.
Глава 8 A Plan for Spam — План для спама.
Глава 9 Taste for Makers — Вкус — созидателям.
Глава 10 Programming Languages Explained — Языки программирования «в разрезе».
Глава 11 The Hundred-Year Language — Языки программирования через сто лет.
Глава 12 Beating the Averages — Lisp: побеждая посредственность.
Глава 13 Revenge of the Nerds — Месть ботанов 1, 2, 3.
Глава 14 The Dream Language — Быть Популярным, часть 2.
Глава 15 Design and Research — Проектирование и исследование.
Под катом хронология переводов и благодарности.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity