Как стать автором
Обновить
2
0

Физика высоких энергий; Вычислительная физика.

Отправить сообщение

Hack. Sleep. Repeat

Время на прочтение10 мин
Количество просмотров13K
Привет. Меня зовут Дима, и я бэкенд-разработчик в Avito. Мне довелось поучаствовать в кучке хакатонов: мелких и крупных, российских и зарубежных, внешних и внутри компаний, удалённых, распределённых и классических. Хочу рассказать, как они помогли познакомиться с омским дедом, заразиться криптобактериями, запустить виртуальный космический корабль в эрланг-вселенную и спасти человечество от вымирания.


Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии4

Отжиг и вымораживание: две свежие идеи, как ускорить обучение глубоких сетей

Время на прочтение4 мин
Количество просмотров15K


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


Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии21

Dotty – будущее языка Scala

Время на прочтение17 мин
Количество просмотров19K
В конце мая я оказался среди слушателей конференции Scala Days в Копенгагене. Одним из ключевых спикеров был создатель языка Scala Мартин Одерски. Он рассказал о развитии языка и, в частности, о разработке компилятора, названного Dotty. Планируется, что на основе Dotty будет разработан новый компилятор для версии 3.0.

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


Мартин Одерски. План развития Scala на ближайшие несколько лет

Этот пост будет полезен и знатокам, и совсем новичкам, для которых разговор о Dotty я предваряю рассказом об особенностях Scala, а также о том, что лежит в его математической основе.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии51

Антивирус на батниках в прошлом ㅡ пришло время сниффера на PowerShell

Время на прочтение6 мин
Количество просмотров23K


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

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

ТОП 100 англоязычных сайтов об IT

Время на прочтение8 мин
Количество просмотров98K


Привет, Хабр!

Чтение на английском может быть полезно как в изучении иностранного языка, так и в пополнении профессиональных знаний. Мы задались вопросом, какие новостные порталы, блоги и прочие Интернет-ресурсы на английском языке имеют четкую IT-направленность и наиболее интересны разработчикам, админам, тестировщикам, веб-дизайнерам и людям других технических специальностей в России?

Чтобы создать ТОП полезных англоязычных IT-ресурсов, мы решили воспользоваться статистикой Хабрахабра. Наряду с авторскими публикациями, здесь публикуются и переводы интересных материалов. Такие посты отмечены тегом «Перевод» и содержат ссылку на оригинал.

Всего за последние полгода на Хабре было около 1000 переводных статей. Мы посчитали для каждого источника переводов средний рейтинг публикации, среднее число просмотров и количество добавлений в Избранное. Затем были удалены сайты со средним рейтингом публикаций менее 16 и числом просмотров менее 4000. Полученные сайты мы отсортировали по числу переводов на Хабре из этого источника, так как, возможно, это характеризует ресурс как часто обновляемый и «объёмный».

Собрав и проанализировав таким образом данные о публикациях, мы получили наш ТОП100 компьютерных сайтов на английском, который мы надеемся будет полезен и вам.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии12

Обзор систем мониторинга серверов. Заменяем munin на…

Время на прочтение9 мин
Количество просмотров185K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


Читать дальше →
Всего голосов 79: ↑76 и ↓3+73
Комментарии111

Как сделано интро на 64k

Время на прочтение13 мин
Количество просмотров38K

Введение в интро


Демосцена — это о создании классных штук, которые работают в реальном времени (как бы «крутятся в вашем компьютере»). Их называют демки. Некоторые из них по-настоящему маленькие, скажем, 64k или меньше — такие называются интро. Название происходит от рекламирования или представления взломанных программ (crack intro). Итак, интро — это просто маленькая демка.

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

Бинарник под Windows: guberniya_final.zip (61.8 kB) (немного ломается на картах AMD)
Всего голосов 91: ↑90 и ↓1+89
Комментарии24

Баг в NTFS, или как подвесить всю систему

Время на прочтение5 мин
Количество просмотров82K
Не так давно при разработке фильтра файловых систем возникла проблема, которая приводила к подвисанию всей системы. Казалось бы, фильтр выполнял очень простые действия и сам был очень примитивным. Чтобы выяснить причину, пришлось спуститься до отладки и реверс-инжиниринга драйвера NTFS. Анализ выявил очень интересный эффект. Если скомпилировать и выполнить очень простую программу, изображенную на рисунке ниже, то доступ к соответствующему тому подвиснет.


Т.е. в данном примере, если попытаться открыть любой файл относительно файла $mft, доступ ко всему тому «С» повиснет, а так как этот том является системным, подвиснет и вся система. При этом не нужно иметь каких-либо прав. Если же том был не системным, то повиснет только доступ к этому тому, но если выполнить перезагрузку, то система повиснет на ней.
Читать дальше →
Всего голосов 127: ↑126 и ↓1+125
Комментарии305

Что намазать на зубы, чтобы они не выпали

Время на прочтение8 мин
Количество просмотров194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

Читать дальше →
Всего голосов 209: ↑206 и ↓3+203
Комментарии693

В ответ на украинские (и не только) запреты: децентрализованная система EmerDNS против блокировок сайтов

Время на прочтение3 мин
Количество просмотров22K
Скандальная тема запрета на Украине множества российских сайтов пока больше медийное, чем реальное событие: запрет есть — а как его исполнять, пока только решается. Украинцы спешно осваивают методы обхода блокировок, уже освоенные россиянами, но не менее актуален этот вопрос и для владельцев сайтов. Одним из действенных методов защиты от государственных атак будет запуск зеркал в альтернативных доменных зонах, поддерживающих децентрализованый DNS на технологиях Emercoin.



Что это такое: альтернативная система доменных имён с распределённым хранением DNS-записей в блокчейне Emercoin, что исключает возможность их централизованного отключения кем-либо по чьему бы то ни было запросу в принципе. Этот способ успешно используется библиотекой «Флибуста» и сами-знаете-что-за-сайтом Pornolab, которые используют зеркала в доменной зоне .lib.
Читать дальше →
Всего голосов 42: ↑30 и ↓12+18
Комментарии110

Быстрая загрузка данных из файлов в R

Время на прочтение3 мин
Количество просмотров10K
Недавно мы писали приложение на Shiny, где нужно было использовать очень большой блок данных (dataframe). Это непосредственно влияло на время запуска приложения, поэтому пришлось рассмотреть ряд способов чтения данных из файлов в R (в нашем случае это были csv-файлы, предоставленные заказчиком) и определить лучший.

Цель этой заметки — сравнить:

  1. read.csv из utils — стандартный способ чтения csv-файлов в R
  2. read_csv из readr, который в RStudio заменил предыдущий метод
  3. load и readRDS из base, и
  4. read_feather из feather и fread из data.table.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии5

Самые полезные приёмы работы в командной строке Linux

Время на прочтение5 мин
Количество просмотров157K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

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

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →
Всего голосов 146: ↑130 и ↓16+114
Комментарии149

Как сделать невозможные обои: история запрещённых симметрий

Время на прочтение4 мин
Количество просмотров43K
image
Слева – узор обоев с симметрией вращения шестого порядка вокруг каждой из коричнево-зелёных розеток. Справа – узор обоев с зеркальной симметрией относительно горизонтальных линий, проходящих через каждый эллиптический элемент орнамента витража.

На первый взгляд придумывать обои не сложнее, чем выполнять задания из детского сада. Дизайнеры могут выбрать любое сочетание цветов и форм для первоначального кусочка, и просто размножить его в двух направлениях. В зависимости от узора начального кусочка и выбора направлений могут появляться и дополнительные симметрии – к примеру, симметрия шестого порядка на первой картинке, или зеркальная на второй. Оба узора созданы математиком Фрэнком Фарисом [Frank Farris] из калифорнийского университета Санта-Клары.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии26

Год без единого байта

Время на прочтение7 мин
Количество просмотров18K
Об авторе. Арчи Рассел (Archie Russell) — инженер бэкенда во Flickr

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

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

История затрат


Небольшие арифметические расчёты на салфетке показывают, что затраты на хранение представляют собой предмет реального беспокойства. В день с высокой посещаемостью пользователи Flickr загружают до 25 млн фотографий. Каждая из них требует в среднем 3,25 МБ, что в сумме составляет 80 ТБ. Наивно размещая их на облачном хостинге вроде S3 фотографии одного дня потянут на $30 тыс. в год и продолжат генерировать затраты каждый последующий год.
Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии12

Subversion vs. Git: Развенчивание мифов о развенчивании мифов

Время на прочтение4 мин
Количество просмотров59K
Subversion vs. Git: Myths and Facts утверждает, что развеивает некоторые мифы о системах контроля версий. Я усомнился в их «фактах» и проверил некоторые из них. Результатом проверки стал подорванный авторитет сайта, и скептическое отношение к остальным утверждениям.
Читать дальше →
Всего голосов 91: ↑75 и ↓16+59
Комментарии292

Внешние зависимости в гите: submodule или subtree?

Время на прочтение3 мин
Количество просмотров55K
Давным-давно я усвоил, что зависимости должны храниться вместе с кодом проекта. Тогда, при возврате к старой версии кода, гораздо проще восстанавливать окружение.

У моего проекта несколько зависимостей. Бóльшая часть зависимостей живет в гитовых репозиториях. Сам проект тоже живёт в гите.

Одна из используемых нами библиотек часто обновляется. Мы сидим на девелоперской версии, и нередко сами контрибутим в неё код, который требуется нашему проекту. То есть требуется оперативно пропускать наши правки через основной репозиторий этой библиотеки — создавать и поддерживать свой форк по ряду причин совершенно не хочется.

Раньше я просто копировал зависимости в папку проекта, и добавлял к каждой файл VERSION.TXT с её версией. Но, если нужно работать с текущей версией стороннего кода, это неудобно. Да и копировать файлы руками когда есть гит как-то глупо. Хочется найти более современное решение.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии14

Вероятностное программирование на Scala

Время на прочтение7 мин
Количество просмотров10K
Здравствуйте, дорогие читатели. Сегодня мы публикуем внеочередной перевод — это будет обзорная статья блистательного Ноэля Уэлша о принципах вероятностного программирования. Статья публикуется по заявкам читателей, которые задают нашему блогу все более высокую планку — и это, безусловно, здорово!
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии4

TOP'ай сюда

Время на прочтение5 мин
Количество просмотров179K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Всего голосов 401: ↑389 и ↓12+377
Комментарии122

Создание зашифрованной флешки Kali Linux Encrypted Persistence

Время на прочтение3 мин
Количество просмотров46K
В данной статье описывается метод создания загрузочной флешки с системой Kali Linux, функционал которой позволяет создать зашифрованный раздел, где будут храниться все её параметры, установленные программы и данные. Шифрование производится посредством алгоритма aes c ключом 256 бит (настроить шифрование вы можете на свой вкус, изучив команду cryptsetup).

1. Создание загрузочной флешки


Для записи образа используйте программу Rufus. Выберите устройство, на которое будет распакован образ, далее выберите iso-образ системы и из выпадающего списка выберите DD-образ.

image

После развертывания образа структура разделов флешки примет следующий вид:

image
Читать дальше →
Всего голосов 26: ↑20 и ↓6+14
Комментарии18

Названия больших чисел в idle-играх

Время на прочтение5 мин
Количество просмотров24K


(Прим. пер.: приведённые в статье алгоритмы относятся к названиям степеней тысячи по короткой шкале.)

Некоторое время назад я получил возможность поучаствовать в разработке игры в жанре idle. Что же такое idle-игра? Если вы впервые слышите об этом быстро развивающемся жанре, попробуйте поиграть в Adventure Capitalist. На сайте Gamasutra также есть несколько статей (1, 2, 3, 4), позволяющих рассмотреть жанр немного глубже.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность