Pull to refresh
56
0
Илья @WST

Инженер-программист

Send message

Электромагнитный апокалипсис или надежда на полярные сияния

Reading time4 min
Views44K
Мощная вспышка Х9.3 на Солнце уже привлекла к себе немало внимания, но, по последним новостям, во время нее произошел крупный выброс солнечного вещества, и он, оказывается, направлен в сторону Земли. Электромагнитный апокалипсис или шикарное зрелище — чего ждать в ближайшие сутки-двое?


Вспышка X9.3, фото обсерватории SDO/NASA

Что за чёрт, Python

Reading time24 min
Views103K


Недавно мы писали о забавных, хитрых и странных примерах на JavaScript. Теперь пришла очередь Python. У Python, высокоуровневого и интерпретируемого языка, много удобных свойств. Но иногда результат работы некоторых кусков кода на первый взгляд выглядит неочевидным.


Ниже — забавный проект, в котором собраны примеры неожиданного поведения в Python с обсуждением того, что происходит под капотом. Часть примеров не относятся к категории настоящих WTF?!, но зато они демонстрируют интересные особенности языка, которых вы можете захотеть избегать. Я думаю, это хороший способ изучить внутреннюю работу Python, и надеюсь, вам будет интересно.


Если вы уже опытный программист на Python, то многие примеры могут быть вам знакомы и даже вызовут ностальгию по тем случаям, когда вы ломали над ними голову :)

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

Переобученные нейросети в дикой природе и у человека

Reading time6 min
Views83K
Представьте, что вы проектируете птенца чайки. ТЗ такое — у него довольно плохое зрение, маленький мозг, но ему нужно как можно больше есть, а то сдохнет. Еду ему приносит мама-чайка. Основная задача — распознать маму-чайку и получить у неё еды. Во входной поток зрения поступает, скажем, 320х200 px, и дальше 10 сантиметров от глаза он не умеет фокусироваться. Природа решила так — надо разметить клюв чайки ярким оранжевым округлым пятном. Вот таким:



В ходе реверс-инжиниринга чайки в 1950-х Нико Тинберген провёл 2431 опыт с 503 птенцами (часть его коллега Рита Вейдманн высидела сама). Выяснилось, что птенец реагирует и не только на клюв, но и на картонный прямоугольник с круглым оранжевым пятном. И пытается получить у него еду как у обычной чайки. Звучит логично, особенно в условиях нехватки вычислительных ресурсов птенца, правда? «Появляется сверху», «длинный» — это важно. Но самая высокая ценность сигнала «оранжевый на белом» — и она по мере эволюции завышается.

Под самый конец внезапно нашёлся ультранормальный сигнал. Если птенцу показать прямоугольник с тремя оранжевыми полосами, он распознает его куда быстрее, точнее, и среагирует в разы активнее. То есть сильнее распознаётся другой образ, которого нет в природе.

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

Легион одиноких мужчин

Reading time21 min
Views160K

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


image

В четверг, 13 июля 1995 года высокое давление в верхних слоях атмосферы над Чикаго опустило огромное количество горячего воздуха на землю, из-за чего температура подымалась до отметки 41°C. В городе Среднего Запада, не готовом к тропической жаре, деформировались дороги, на улицах ломались машины и закрывались школы. В пятницу три трансформатора энергетической компании Consolidated Edison вышли из строя, оставив 49000 людей без электричества. В апартаментах небоскрёбов без кондиционирования воздуха температура поднималась до 49°C даже с открытыми окнами. Жара не ушла и в субботу. Тело человека способно справляться с такой жарой лишь в течении 48 часов подряд, после чего оно начинает отключать защитные механизмы. Отделения скорой помощи в больницах были так переполнены, что не принимали жертв солнечного удара. Воскресенье было не лучше, в результате чего выросло количество смертей – от обезвоживания, жары и почечной недостаточности. Морги переполнились, тела хранились в грузовиках для перевозки мяса. В целом 739 человек погибло в этот период сильной жары.
Читать дальше →

Переходим на сторону сервера с bem-express

Reading time14 min
Views15K

— Сначала вы его отрицаете, потом вы его ненавидите, а потом вы не можете без него жить.
из доклада Артема Курбатова «БЭМ: мастер-класс»


Методология БЭМ существует достаточно долго и принята на вооружение в Google, EPAM Systems, BBC, Альфа-Банке. При этом она все еще вызывает беспокойство у типичного разработчика и менеджера проектов среднего звена.




У некоторых смельчаков изучение БЭМ не ушло дальше ограничения возможностей CSS для получения более предсказуемых результатов. И хотя БЭМ давно вышел за пределы верстки, до сих пор на вопрос «Знаете ли вы БЭМ?» можно услышать: «Конечно, это про подчеркивания в классах».


Если ваше представление о БЭМ близко к этому, я отвечу вам словами работодателя при приеме на работу новоиспеченного выпускника: «Забудьте о том, что вы слышали о БЭМ ранее». Методология БЭМ настолько интересна, насколько большинству о ней ничего не известно. Чтобы понять всю прелесть БЭМ, необходимо иметь представление обо всех технологиях, библиотеках, фреймворках и инструментах, которые БЭМ предоставляет. Изучите их, оставайтесь инопланетянином, ребенком, который удивляется тому, с чем взрослые смирились.


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

На пути к звездам: чем опасны космические перелеты

Reading time7 min
Views32K


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

Когда на планете не осталось белых пятен, мы стали задумываться о космосе. Программы освоения Луны и Марса не фантастика, а неизбежное будущее. За ними — далекие перелеты к ближайшим звездам. Чем дальше человек будет уходить от Земли, тем больше трудностей встретит по пути. Мы подошли к рубежу, за которым не техника, а сами люди испытывают запредельные перегрузки.

Какие угрозы ждут нас в космосе, и какие технологии позволят выжить — об этом расскажем дальше.
Читать дальше →

Управление памятью в Python

Reading time9 min
Views119K


Одна из главных проблем при написании крупных (относительно) программ на Python — минимизация потребления памяти. Однако управлять памятью здесь легко — если вас вообще это волнует. Память в Python выделяется прозрачно, управление объектами происходит с помощью системы счётчиков ссылок (reference count), и память высвобождается, когда счётчик падает до нуля. В теории всё прекрасно. А на практике вам нужно знать несколько вещей об управлении памятью в Python, чтобы ваши программы эффективно её использовали. Первая вещь, надо хорошо в ней разбираться: размеры основных объектов в Python. И вторая вещь: как устроено управление «под капотом» языка.


Начнём с размеров объектов. В Python есть много примитивных типов данных: целые числа (int), long (версия int с неограниченной точностью), числа с плавающей запятой (они же числа с двойной точностью, double), кортежи (tuple), строковые значения, списки, словари и классы.

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

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

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

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


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

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

«Магическая константа» 0x5f3759df

Reading time9 min
Views127K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →

Чудо-лента из США: выдержит тонну, весит несколько граммов

Reading time4 min
Views32K
Бандеролька рассказывает о Braeön — суперпрочной ленте, которой можно скрепить всё, что угодно. 30 метров такой ленты весят всего полкилограмма, а шестиметровый рулон стоит всего $20. Разорвать эту «композитную броню» пока ни у кого не вышло. В качестве бонуса вспоминаем еще несколько необычных материалов, в том числе светящийся цемент и абсолютно чёрную субстанцию ↓

image

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

Reading time9 min
Views86K

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


image

Биофизик Джереми Ингланд взбудоражил общественность в 2013 году своей новой теорией, делающей происхождение жизни неизбежным следствием термодинамики. Его уравнения подразумевают, что при определённых условиях группы атомов естественным образом перегруппировываются так, чтобы тратить всё больше и больше энергии, содействуя непрерывному рассеянию энергии и появлению «энтропии», или беспорядка во Вселенной. Ингланд говорит, что этот эффект реструктуризации, называемый им адаптацией под воздействием рассеяния, стимулирует рост сложных структур, включая и живые организмы. Существование жизни – не загадка и не удача, писал он в 2014-м, оно следует из основных физических принципов и «должно быть настолько же неудивительно, как катящиеся с горы камни».

Чистый код на PHP

Reading time19 min
Views114K


Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


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


Статья вдохновлена clean-code-javascript.

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

Kotlin: опыт боевого применения

Reading time9 min
Views21K
Александр Карягин, член Ассоциации ISDEF, возглавляет маркетинг в компании Devexperts. Мы отдали ему и его коллегам трибуну для рассказа о достаточно свежем опыте разработки. Мы всё-таки Independent Developers :)

В последнее время рост интереса к языку программирования Kotlin приблизительно такой же, как рост курса Bitcoin. Повышенное внимание обусловлено еще и тем фактом, что в мае 2017 года Kotlin был объявлен официальным языком разработки под Android. Конечно же, мы не могли не приобщиться к изучению этой темы, и решили поэкспериментировать с Kotlin, применив его в одном из новых проектов под Android.

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

Неделя после форка: дела у Bitcoin хороши, как никогда

Reading time3 min
Views32K
На той неделе, 1 августа, произошло разделение основной криптовалюлты Bitcoin на, собственно, биткоин и его форк Bitcoin Cash. О причинах такого разделения говорили много и подробно. Ну а сейчас пришло время подвести итоги. Да, пока что промежуточные, но за прошедшие девять дней довольно много чего случилось, так что не написать об этом просто нельзя.



Помимо самого форка, основными событиями прошедшей недели стали рекордный курс Bitcoin, фиксация протокола SegWit и предсказания ряда аналитиков о том, что в скором времени курс биткоин достигнет отметки в $5000, подкреплённые весьма логичными доводами.
Читать дальше →

Почему Большое красное пятно Юпитера никак не умрёт

Reading time8 min
Views26K
image

«Увлекаться чтением – это ошибка», – говорит мне за чашечкой кофе в кофейне близ кампуса Филип Маркус, вычислительный физик и профессор департамента машиностроения в Калифорнийском университете в Беркли. «Вы слишком многое узнаёте. Именно так я подсел на динамику жидкостей».

А было это в 1978-м, когда Маркус первый год работал в качестве доктора наук в Корнелле, специализируясь на числовых симуляциях солнечной конвекции при помощи спектральных методов. Но ему хотелось изучать эволюцию космоса и общую теорию относительности; проблема, по его словам, была в том, что люди утверждали, что за всю жизнь так и не увидели результатов работы ОТО. В итоге «это область немножечко затихла, и все специалисты по ОТО расходились в другие области».
Читать дальше →

Load Average в Linux: разгадка тайны

Reading time18 min
Views242K


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

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

Золотой век отказов от обязательств

Reading time4 min
Views28K
image

Совершенно очевидно, что мы живём в золотом веке отказов. По всей Америке люди по понедельникам решают, что встретиться за кружечкой чего-либо с Х в четверг будет отличной идеей. Но когда внезапно приходит четверг, они понимают, что гораздо лучше будет всё-таки пойти домой, упасть на кровать и посмотреть видео с канала Carpool Karaoke. Поэтому они отправляют СМС или письмо с текстом «Извините, придётся мне отказаться от сегодняшних посиделок. Много дел. У бабушки обнаружили бубонную чуму…»

Откладывание дел – одно из определяющих свойств текущего момента, ибо оно служит связующим звеном более крупных трендов: неопределённость современных социальных связей, разложение обязанностей, то, что мой друг Хэйли Дарден называет «этикой гибкости», быстро поднявшейся благодаря приложениям для смартфонов. Не говоря уже об упадке цивилизации, разрушении морали и исчезновении всего, что нам дорого.
Читать дальше →

Разрушители легенд — Gentoo Linux

Reading time6 min
Views107K
Дочка Убунту прибежала к Дебиану и, весело смеясь, поцеловала его в лоб: "С днём рождения, папа!". Затем она окинула радостным взглядом сидящих за столом гостей и спросила своим звонким голосом:
— Папа, а где Gentoo, разве он ещё не пришёл?
— Нет, он ещё только собирается.

Среди прочих Linux дистрибутивов Gentoo выделяется тем, что его окружает множество мифов, светлой и темной окраски. Я его использую более 10 лет в качестве домашней и офисной рабочей станции и хочу с вами разоблачить несколько мифов и создать парочку новых.




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

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

Борьба бобра с ослом, или Адаптация MSVC кода под gcc

Reading time3 min
Views9.4K

Статья описывает некоторые затруднения, которы мы встретили при попытке адаптации одного из наших старых Windows-only проектов (плагин к MT4 серверу) к кросскомпиляции под Linux (CI, статический анализ, автотесты и прочие модные слова). Точнее, в коде присутствовал ряд конструкций, которые спокойно съедались MSVC, но категорически отказывались компилироваться с использованием mingw/gcc.


image


Под катом 7 наиболее часто встретившихся примеров кода, которые будут компилироваться MSVC, но не будут с gcc, и способы это лечить.

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

Состояние спутника «Маяк»

Reading time9 min
Views44K

Всем привет, это Александр Шаенко! Самые последние новости от разработчиков КА "Маяк".


Если коротко, то сейчас мы считаем, что “Маяк”, вероятнее всего, не раскрылся и то, что наблюдают многочисленные астрономы-любители и немногочисленные профессионалы — это другие кубсаты, оснащенные бликующими на Солнце солнечными батареями.


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


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


Итак, начнем.

Information

Rating
Does not participate
Location
Красногвардейское, Адыгея, Россия
Date of birth
Registered
Activity