Pull to refresh
7
0
Макс Дьяченко @Mendel

Пользователь

Send message

Почему космонавтам недоступна искусственная гравитация?

Reading time5 min
Views56K

В космосе, хотя все массы во Вселенной подчиняются силе гравитации, как обычно, не ощущается «верха» и «низа», как на Земле, поскольку космический корабль и всё, что у него на борту, ускоряется гравитацией с одинаковой скоростью.

Если поместить человека в космос, подальше от гравитационных воздействий, испытываемых им на поверхности Земли, он испытает невесомость. Хотя все массы Вселенной продолжат притягивать его, они продолжат притягивать и космический корабль, поэтому человек будет «плавать» внутри. В сериалах и фильмах типа «Звёздный путь», «Звёздные войны», «Боевой крейсер „Галактика“ и множестве других нам всегда показывают, как члены команды стабильно стоят на полу корабля вне зависимости от прочих условий. Это потребовало бы возможности создания искусственной гравитации – но с учётом законов физики в том виде, в котором мы их знаем сегодня, это слишком трудная задача.
Читать дальше →
Total votes 55: ↑36 and ↓19+17
Comments196

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

Reading time5 min
Views232K
Когда я учился в университете мне довольно тяжело было понять ООП (Объектно-ориентированное программирование), сейчас я понимаю, что просто нас учили ООП на не совсем ясных и правильных аналогиях и вообще, кажется, сами преподаватели не совсем понимали, в чем же суть ООП.

image

Вспомните, классические аналогии ООП, вот есть класс Домашние любимцы с методами «голос» и «есть», от него мы наследуем Кошку и Собаку и все хорошо.

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

Мы уже запутались, но Вовочка спрашивает: «а где в этом зоопарке статические методы, интерфейсы, абстрактные классы и чем отличается объект класса от самого класса?». Объяснить, несомненно, можно, но сложно. Понять, еще сложнее.

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

Теперь подумаем как объяснить ООП лучше?
Читать дальше →
Total votes 68: ↑53 and ↓15+38
Comments474

Считаем до трёх

Reading time4 min
Views31K

Троичные вычисления


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



Я выбрал сбалансированную троичную систему, в которой один трит может представлять одно из трёх значений -1, 0 или 1. Весьма подробно о ней можно почитать тут.

На любые вопросы из разряда «зачем?!» я отвечаю заранее: «Because I can».


Читать дальше →
Total votes 85: ↑83 and ↓2+81
Comments64

Считаем до трёх: два

Reading time4 min
Views11K

Троичные вычисления


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

В прошлой статье я подробно рассказал для чего мне это нужно: это будет демонстрационная железка. Не поленитесь, ознакомьтесь с моей мотивацией.

Итак, вот список опубликованных статей цикла (будет обновляться):


Напоминаю, что единственным строительным блоком вычислителя будет троичный мультиплексор. Вот фотография оригинального тримукса дизайна Александра Шабаршина и моего исполнения на поверхностном монтаже. Одна такая плата несёт на себе два троичных (де-)мультиплексора:


Total votes 30: ↑28 and ↓2+26
Comments3

Считаем до трёх: три

Reading time5 min
Views15K

Троичный счётчик


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

Это уже третья статья, по мере готовности будет продолжение. Оглавление:


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


Total votes 35: ↑33 and ↓2+31
Comments31

Считаем до трёх: четыре

Reading time5 min
Views13K

Проверка жизнеспособности идеи: однотритный вычислитель


Это уже четвёртая статья, по мере готовности будет продолжение. Оглавление:


Вот так выглядит основная железка, о которой сегодня будет идти речь (больше перемычек богу перемычек!):


Total votes 49: ↑47 and ↓2+45
Comments22

Датасет: ассоциации к словам и выражениям русского языка

Reading time3 min
Views14K
В последнее время для оценки семантического сходства широкое распространение получили методы дистрибутивной семантики. Эти подходы хорошо показали себя в ряде практических задач, но они имеют ряд жёстких ограничений. Так, например, языковые контексты оказываются сильно схожими для эмоционально полярных слов. Следовательно, антонимы с точки зрения word2vec часто оказываются близкими словами. Также word2vec принципиально симметричен, ведь за основу берётся совстречаемость слов в тексте, а популярная мера сходства между векторами — косинусное расстояние — также не зависит от порядка операндов.

Мы хотим поделиться с сообществом собранной нами базой ассоциаций к словам и выражениям русского языка. Этот набор данных лишён недостатков методов дистрибутивной семантики. Ассоциации хорошо сохраняют эмоциональную полярность и они по своей природе асимметричны. Подробнее расскажем в статье.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments14

Поиск документов в сетевых шарах и файловых помойках

Reading time2 min
Views30K

Помойка


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

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments69

Загадки и мифы SPF

Reading time10 min
Views52K


SPF (Sender Policy Framework), полное название можно перевести как «Основы политики отправителя для авторизации использования домена в Email» — протокол, посредством которого домен электронной почты может указать, какие хосты Интернет авторизованы использовать этот домен в командах SMTP HELO и MAIL FROM. Публикация политики SPF не требует никакого дополнительного софта и поэтому чрезвычайно проста: достаточно добавить в зону DNS запись типа TXT, содержащую политику, пример записи есть в конце статьи. Для работы с SPF есть многочисленные мануалы и даже онлайн-конструкторы.


Первая версия стандарта SPF принята более 10 лет назад. За это время были созданы многочисленные реализации, выработаны практики применения и появилась свежая версия стандарта. Но самое удивительное, что почему-то именно SPF, более чем любой другой стандарт, оброс за 10 лет невероятным количеством мифов и заблуждений, которые кочуют из статьи в статью и с завидной регулярностью выскакивают в обсуждениях и ответах на вопросы на форумах. А протокол, казалось бы, такой простой: внедрение занимает всего пару минут. Давайте попробуем вспомнить и разобрать наиболее частые заблуждения.


TL;DR — рекомендации в конце.

Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments27

Знай сложности алгоритмов

Reading time2 min
Views987K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Как победить старение — план действий

Reading time8 min
Views53K

Старение — это генетическая патология, заложенная в каждого из нас. Это ВИЧ 2.0, неумолимая «возрастная инволюция человека». Я твёрдо верю, что нам нужно срочно бросить все силы на поиск средств её излечения или хотя бы купирования. Есть ли у меня план? Есть! Попробую изложить его ниже и буду рад любой критике или альтернативным предложениям. Мне важен лишь результат — продление человеческой жизни хотя бы на 50%.

До сих пор не существует никаких доказанных путей увеличения продолжительности жизни человека более чем на 10%. За последние десятиления было предложено множество различных подходов, и их всех объединяет лишь то, насколько они малоэффективны. Начиная от голодания или ограничения калорий (как показали опыты на приматах), метформина (на диабетиках), рапамицина (на мышах или собаках) и заканчивая целым рядом одинаково слабых «геропротекторов».

Продление на 10% лично меня не устраивает. Я считаю, что Человечеству необходимо срочно начать разрабатывать методы продления жизни хотя бы на 50%, иначе наши родители просто не доживут до того момента, когда механизмы старения будут разгаданы окончательно, и наука наконец-то сможет его остановить. Поэтому моя задача-минимум — разработать терапию, способную продлевать жизнь приматов хотя бы на 50%. Причем такую терапию, омолаживающее действие которой будет быстро заметно после её применения. Заметно по каким-либо достоверным возрастным биомаркерам: например, эпигенетическим часам или биохимическим показателям крови.
Total votes 40: ↑35 and ↓5+30
Comments364

О культуре разработки в группах программистов

Reading time5 min
Views33K
«Почему ж всё так плохо?» — каждый раз я задаюсь этим вопросом, когда приходится иметь дело с очередным кодом, продуктом или API, созданными для внутренних нужд в непрофильной организации.

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

И деньги ничего не решают: ужасный код и ужасные продукты пишут как маленькие бедные ВУЗы, у которых денег хватает только на рабский труд аспирантов, так и крупные и богатые компании, включая IT-компании, включая зарубежные: несколько раз сталкивался с кодом, который писали зарубежные подрядчики и каждый раз от него хотелось рыдать и биться головой об стену.

Организация может декларировать строгие стандарты, нанимать дорогостоящих разработчиков, вводить регламенты и методологии, надувать щеки на совещаниях и громогласно обличать «неправильное решение» в чужом продукте. И продолжать делать ужасные продукты с ужасным кодом, вопреки высокой квалификации своих разработчиков и очень правильными и нужными регламентами и стандартами.

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

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

Читать дальше →
Total votes 99: ↑91 and ↓8+83
Comments151

Методы обхода защитных средств веб-приложений при эксплуатации XSS-векторов

Reading time8 min
Views38K
image

 
Несмотря на большое количество рекомендаций по защите веб-приложения от клиент-сайд атак, таких как XSS (cross site scripting) многие разработчики ими пренебрегают, либо выполняют эти требования не полностью. В статье будут рассмотрены способы обхода средств фильтрации и при эксплуатации xss-векторов.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments12

Серьезное проектирование серьезных сайтов. Часть 1. Аналитика

Reading time25 min
Views40K
Почти 4 года назад мы написали одну из самых популярных статей в рунете про проектирование больших проектов с таким же названием, как и эта: часть 1 и часть 2. Только на Хабре её прочитало более 170 тыс. человек, а вообще она публиковалась в самых разных изданиях мира. Более 1000 стартапов использовали наработки из этой статьи для проектирования, и это только те, о которых я слышал и которые нам писали. Но время не стоит на месте, а мы постоянно развиваемся. С тех пор наша технология проектирования значительно эволюционировала и стала еще лучше. В этой статье мы опишем нашу обновленную технологию проектирования и покажем много живых примеров для каждой стадии.

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


Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments15

Проприоцепция для неспециалистов. Часть 1: Ровная спина стоя за 10 секунд

Reading time2 min
Views81K
Совсем недавно мою статью о чувствах человека сильно штормило – оценка пользователей колебалась от +5 до -4. В комментариях отмечались такие забавные моменты, как:

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

Урок из данной статьи займёт 10-15 секунд и он позволит вам найти то внутреннее ощущение, которое позволит удобно держать ровную спину стоя длительное время. Вы на собственном опыте сможете убедиться в том, стоит ли выделять отдельно проприоцепцию (суставно-мышечное чувство).
Total votes 35: ↑30 and ↓5+25
Comments65

[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1

Reading time10 min
Views92K


Это первая часть, вот вторая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.

Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments14

Стандарты кодирования и другие практики в IT

Reading time4 min
Views14K
Много приходится читать и обсуждать разные стандарты кодирования, ограничивающие применение тех или иных конструкций языка (goto, множественное наследование классов в C++) или приемов программирования (рекурсия, динамическое выделение памяти после инициализации приложения). Применительно к С/С++, наиболее известными стандартами кодирования являются MISRA, HICPP, Google C++ Style Guide. Интересной является и статья на Хабре про 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками.

Под катом немного юмора и серьезных рассуждений о применении различных практик ведения проектов.
Читать дальше →
Total votes 17: ↑7 and ↓10-3
Comments23

Знаменитая фотография из Чернобыльской АЭС — это селфи с длинной выдержкой

Reading time5 min
Views228K
Артур Корнеев, зам. директора объекта «Укрытие» на Чернобыльской АЭС, изучает ядерную лаву (так называемую «слоновью ногу»), Чернобыль, 1996. Фото: Министерство энергетики СШАНа первый взгляд, трудно понять, что происходит на фотографии. Из-под пола словно вырос гигантский гриб, а призрачные люди в касках как будто работают рядом с ним.Нечто необъяснимо жуткое в этой сцене, и тому есть причина. Вы видите крупнейшее скопление, вероятно, самого токсичного вещества, когда-либо созданного человеком. Это ядерная лава или кориум.
Читать дальше →
Total votes 70: ↑63 and ↓7+56
Comments246

PHP-Дайджест № 83 – интересные новости, материалы и инструменты (27 марта – 10 апреля 2016)

Reading time3 min
Views22K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments11

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views333K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23
1
23 ...

Information

Rating
Does not participate
Location
Кфар Саба, Хамеркац, Израиль
Date of birth
Registered
Activity