Pull to refresh
2
0
Артур Аверин @Artur_Averin

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

Send message

Гонки на выбывание, идущие в центре Галактики

Reading time5 min
Views2.1K

В районе центра Млечного Пути властвует находящаяся там сверхмассивная чёрная дыра. Перекрывающая всё гравитация Стрельца А* создаёт хаотичную область, где плотно упакованные, высокоскоростные звёзды врезаются друг в друга, как автомобили в гонках на выбывание.

Эти столкновения и удары навсегда меняют звёзды. Одни превращаются в странные маломассивные звёзды, а другие обретают новую жизнь.

Сверхмассивная чёрная дыра (СМЧД) Млечного Пути называется Стрелец А* (Sgr. A*). Sgr. A* примерно в четыре миллиона раз массивнее Солнца. При такой массе гораздо более мелкие звёзды поблизости легко попадают под воздействие мощной гравитации чёрной дыры и разгоняются до огромных скоростей.

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

Читать далее
Total votes 6: ↑4.5 and ↓1.5+3
Comments12

Как древние люди изучали и предсказывали солнечные затмения

Reading time6 min
Views1.7K

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

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

Читать далее
Total votes 8: ↑9 and ↓-1+10
Comments5

Что скрывает под собой скрытое (латентное) пространство?

Level of difficultyMedium
Reading time3 min
Views2.6K

Работа с латентными пространствами

Латентное пространство полезно для изучения функций данных и поиска более простых представлений данных для анализа.

Как используются латентные пространства в библиотеке eXplain-NNs?

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

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

Читать далее
Total votes 3: ↑2.5 and ↓0.5+2
Comments0

Юмор программистов из 80-х прошлого столетия

Level of difficultyEasy
Reading time4 min
Views53K

У современного читателя может возникнуть резонный вопрос — почему программисты, а не IT‑ишники? Ответ кроется в самом заголовке. В 70-х, 80-х годах прошлого столетия, а точнее в СССР не было понятия IT‑и. Были понятия «кибернетика», «вычислительная техника», «электронно‑вычислительные машины» (или просто ЭВМ), и были понятия «программист» и «машинист». Если с программистом все понятно, то машинисты отвечали за эксплуатацию ЭВМ, их ремонт, обслуживание и т. п. Их еще называли электронщиками. Современный IT‑шник может задаться вопросом — какое обслуживание, какой ремонт? И будет прав, но прав применительно к современности. А тогда ЭВМ занимали огромные помещения и требовали большого штата различных специалистов:

Читать далее
Total votes 95: ↑75 and ↓20+55
Comments273

16-битная операционная система на коленках

Level of difficultyMedium
Reading time15 min
Views13K

В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.

Заменит Windows?
Total votes 34: ↑37.5 and ↓-3.5+41
Comments32

Территория Большого Взрыва. От трёх китов к изначальной сингулярности

Level of difficultyEasy
Reading time11 min
Views4.6K

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

Читать далее
Total votes 13: ↑14 and ↓-1+15
Comments24

«Искусство схемотехники»: предисловие к 3 изданию

Level of difficultyEasy
Reading time7 min
Views6.9K

На днях узнал, что вышла русскоязычная версия третьего оригинального издания книги «Искусство схемотехники» (статья на Хабре). Новость заинтриговала. Так как достаточно давно увлекаюсь этой книгой и не понаслышке знаю, что отечественные читатели ее очень ждали. Точнее даже, заждались. Авторы оригинальной книги еще в 2015 году сделали рекламу своему произведению, разместив в свободном доступе, на сайте, посвященному книге, предисловие к третьему изданию. Но это не только реклама, но и достаточно детальное описание книги, а также декларация концепций и идей в ней заложенных. Надеюсь, мой скромный любительский перевод не будет воспринят издательством «Бином» в штыки: целей что-либо нарушать у меня нет. Если что, ко мне можно обратиться на почту. Я всегда рад конструктивному диалогу и считаю, что давно сложились условия, когда отечественная версия оригинальной книги просто обязана превзойти оригинал. Кроме того, реклама от самих авторов-корифеев еще никому не вредила.

Я заказал себе «первый том» от «Бинома». Скоро должна книжечка прийти. Я ее внимательно изучу, и по результатам будет рецензия. Надеюсь, книга оправдает мои ожидания. Даже интересно сравнить свои навыки в переводе с профессионалами. А пока, предлагаю приступить к чтению предисловия.

Читать далее
Total votes 5: ↑5.5 and ↓-0.5+6
Comments4

Не бойтесь бросать свои пет-проекты

Level of difficultyEasy
Reading time6 min
Views9.1K


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

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

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

И здесь я хочу рассказать о своём недавнем пет-проекте, который забросил в тот же день, в который запустил.
Читать дальше →
Total votes 49: ↑54 and ↓-5+59
Comments26

Умный дом на openHAB+MQTT+Arduino. Часть 1: Кластер

Level of difficultyMedium
Reading time14 min
Views4.5K

Изначально была мысль повысить доступность openHAB средствами виртуализации. Ставим два гипервизора, настраиваем High availability, при отказе хоста виртуалка с openHAB перезапустится на соседнем сервере. И все бы ничего, но для работы HA нужно общее хранилище. Какой-то NAS допустим у меня есть, но выход его из строя даже более вероятен, чем отказ хоста. А городить что-то на DRBD или подобном не хотелось. Поэтому было решено кластеризовать openHAB другим способом. 

см. рисунок ниже
Total votes 1: ↑1 and ↓0+1
Comments9

Пишу Minecraft сервера с нуля. Часть 1. Пинг

Reading time6 min
Views8.7K

Этот цикл статей о разработке серверного ПО совместимого с протоколом Minecraft: Java Edition.

В этой части я акцентирую внимание на основных вещах: типы данных, структура пакетов и как клиент получает информацию о сервере.

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments15

Как сделать интерактивные пиксельные изображения с D3.js?

Level of difficultyHard
Reading time6 min
Views1.5K

Hola, Amigos! На связи Артем Салеев, технический директор  и Арсений Захаров, frontend-разработчик агентства продуктовой разработки Amiga. Сегодня расскажем, как мы реализовали задачу для крупного заказчика: разместить на сайте «размытые» картинки, которые бы разблюривались по пользовательскому взаимодействию.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments0

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

Level of difficultyEasy
Reading time4 min
Views20K

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

Читать далее
Total votes 25: ↑19 and ↓6+13
Comments14

Системное мышление: как упростить его развитие?

Reading time9 min
Views14K


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

За последние 15 лет моей работы с профессионалами в сфере бизнеса и образования я пришёл к выводу, что эта дисциплина требует овладения целым набором навыков мышления.

Подобно опытному баскетболисту, который на автомате применяет множество отдельных навыков, необходимых для выполнения броска в игре — таких как ведение мяча на бегу и не смотря на мяч, выбор времени и точное координирование броска, продвижение мяча к корзине одной рукой, избегая при этом блокировки со стороны защитников, — «ветераны» системного мышления не осознают, что на самом деле применяют целый набор мыслительных навыков. Выделив эти отдельные компетенции, можно практиковать каждый навык в отдельности. Такой подход поможет овладеть всеми необходимыми навыками до того, как вы попытаетесь соединить их воедино в реальной ситуации.
Читать далее
Total votes 24: ↑21 and ↓3+18
Comments14

Как написать свою маленькую ОС

Level of difficultyEasy
Reading time7 min
Views36K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Total votes 108: ↑103 and ↓5+98
Comments25

Как я чтение всего контента на RSS переводил

Level of difficultyEasy
Reading time13 min
Views5.5K

TL;DR В статье рассказывается о том, как мне удалось перевести чтение лент в ВКонтакте**, Telegram, Facebook*, Instagram**, Reddit и почтовых рассылок в единый сервис InoReader. Причем почти без написания своих велосипедов.

Подписаться на RSS
Total votes 41: ↑40.5 and ↓0.5+40
Comments32

Иероглифы — хаос или система? Разбираемся из чего они состоят, как работают и в чём их сила

Level of difficultyEasy
Reading time15 min
Views36K

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

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

Заходите, будет интересно
Total votes 150: ↑149 and ↓1+148
Comments183

Проникновение в чужой ящик Gmail через скрытое расширение Chrome

Reading time3 min
Views34K


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

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

Посмотрим, как это сделано технически.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments5

Web Security: введение в HTTP

Reading time11 min
Views39K
HTTP — вещь прекрасная: протокол, который просуществовал более 20 лет без особых изменений.

image

Это вторая часть серии по веб-безопасности: первая часть была «Как работают браузеры».

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

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

При обсуждении HTTP, тем не менее, мы всегда должны различать семантику и техническую реализацию, поскольку это два совершенно разных аспекта работы HTTP.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments12

Заблуждения игроков при оценке рисков. Контроль генератора случайных чисел в разработке

Reading time13 min
Views25K
Человеческий мозг по своей природе очень плохо умеет оценивать вероятность срабатывания случайных событий, на основании выданной числовой оценки. И довольно хорошо на основании качественных оценок. А все потому, что человек мысленно делает конвертацию числовых вероятностей в качественные оценки, и делает это очень субъективно:

  • 80% попадания выстрела в игре — ну это почти гарантированное попадание;
  • 80% того, что ваш товарищ хоть когда-нибудь отдаст долг — не-не-не, так не пойдёт, это слишком большой риск;
  • 5% получения критического урона он NPC врага — маловероятно, риск можно игнорировать;
  • 1% риск падения сосульки, если пройти под крышей с капающими метровыми сосульками — ещё чего, лучше обойти с другой стороны тротуара;
  • 51% вероятность выигрыша в мини-игре в большой РПГ — можно рассчитывать на то, что после 20 ставок я чуть-чуть выиграю или, как минимум, останусь при своих… через 20 ставок… как такое могло случиться, что я проиграл половину всего своего золота? Тут явно сломан генератор случайных чисел!


В статье будут рассмотрены следующие вопросы:

  • ошибочные допущения в оценке вероятностей;
  • конкретные примеры заблуждений игроков и фактические вероятности «редких» событий;
  • генератор случайных чисел (вообще-то псевдослучайных);
  • ранние простые генераторы псевдослучайных чисел на примере Final Fantasy I;
  • подходы к реализации случайных событий с воспроизводимостью и без;
  • примеры удачно внедренных разных подходов и манипуляции в Fire Emblem.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments37

Telegram-клиент на PHP (и получение сообщений с помощью MadelineProto)

Reading time2 min
Views36K
Решив заняться бессовестным копипастом (а точнее его автоматизацией) постов с чужого Telegram-канала в свой, я первым делом полез в документацию по телеграм-ботам. Но как выяснилось, боты не только не имеют методов для получения сообщений, их просто-напросто нельзя добавить в чужой канал.

Решение нужно было на PHP и следующий час был потрачен на его поиск. Удивительно, как об этом мало информации (хотя нет, не удивительно… кто вообще пишет такое на PHP...). В общем, дорога со StackOverflow привела к MadelineProto. На библиотеку довольно мало ссылок в сети.

Что такое Madeline?
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments19
1

Information

Rating
Does not participate
Location
Колпино, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity