• Обзор 98 одноплатных компьютеров. Часть 1

    • Перевод
    Часть 1
    Часть 2
    Часть 3
    Часть 4

    От переводчика: Предлагаю вашему вниманию перевод отчёта по одноплатным компьютерам, который был опубликован на сайте LinuxGizmos.com. В отчёт включены краткие описания 98 плат стоимостью до 200 долларов. В отчёте такие платы называют «хакерскими», чтобы подчеркнуть их пригодность для различного творчества.
    Так как объем информации весьма велик, я разбил перевод на несколько частей.

    Также хочу предупредить, что под катом очень много картинок!

    Итак, часть 1.



    КДПВ

    В течение последнего года, LinuxGizmos сообщал о дюжинах новых одноплатных компьютерах с открытыми спецификациями, дружественных к разработчикам и «хакерам», на которых можно запустить Linux и Android. Мы добавили их в наш каталог вместе со старыми платами. Платы, попавшие в наш обзор, стоят меньше 200 долларов без учёта пересылки, доступны для доставки в июле этого года, и удовлетворяют нашим (весьма гибким) критериям открытости.
    Читать дальше →
  • Классификация текста с помощью нейронной сети на Java

    • Tutorial
    – Наша Лена уходит в декрет, – сообщил начальник, – поэтому нам надо искать замену на время ее отсутствия. Часть задач мы распределим, а вот как быть с задачей перенаправления обращений пользователей?

    Лена – это наш сотрудник технической поддержки. Одна из ее обязанностей – распределение поступающих на электронную почту обращений между специалистами. Она анализирует обращение и определяет ряд характеристик. Например, «Тип обращения»: ошибка системы, пользователю просто нужна консультация, пользователь хочет какую-то новую функциональность. Определяет «Функциональный модуль системы»: модуль бухгалтерии, модуль паспортизации оборудования и т.д. Проставив все эти характеристики, она перенаправляет обращение соответствующему специалисту.

    – Давай я напишу программу, которая это будет делать автоматически! – ответил я.

    На этом увлекательный роман заканчиваем и переходим к технической части.

    Читать дальше →
  • Миллион WebSocket и Go

      image


      Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.


      Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.


      Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.

      Читать дальше →
    • Автоэнкодеры в Keras, Часть 3: Вариационные автоэнкодеры (VAE)

      • Tutorial

      Содержание



      В прошлой части мы уже обсуждали, что такое скрытые переменные, взглянули на их распределение, а также поняли, что из распределения скрытых переменных в обычных автоэнкодерах сложно генерировать новые объекты. Для того чтобы можно было генерировать новые объекты, пространство скрытых переменных (latent variables) должно быть предсказуемым.

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


      Читать дальше →
    • Чек-лист по выживанию сайта



        В последнее время я как-то подозрительно часто наблюдаю примитивнейшие однотипные и довольно легко решаемые проблемы на самых разных web-проектах. Разные базы, разные языки, разные сферы деятельности и схемы монетизации. Всех их объединяет одно — лозунг «бизнес не дает переписать». Продолжающийся или только-только оконченный этап рапид-разработки растущего и агрессивно отжимающего у конкурентов долю рынка проекта родил огромную кучу т.н. «говнокода». Сомнительные архитектурные решения либо уже приносят кучу проблем, либо обещают их в будущем, но работают. Поток новых требований не дает времени навести порядок даже в инфраструктуре, не говоря уже о коде. Если вам такая ситуация знакома — добро пожаловать под кат поностальгировать, поучиться чему-то новому и/или поучить нас. Кому поржать, а кому и поплакать.

        «Это все только для хайлода» — скажет вдумчивый и прозорливый читатель. Плох тот веб-проект, который не мечтает стать популярным хайлодом.

        Читать дальше →
      • Intel открывает доступ к clDNN [высокопроизводительной библиотеке для глубокого обучения]

          Официальный репозиторий проекта был запущен буквально пару дней назад. Расскажем немного подробнее об этой новости и приведем полезные источники по теме.


          Читать дальше →
          • +19
          • 7,9k
          • 4
        • Неочевидные вещи при старте разработки под Android под Windows 7

            Добрый день, друзья! Захотелось мне изучить react native под Windows7 64. На мою беду, у меня процессор AMD, который не поддерживает VT-x or SVM.

            image

            В результате гугления выяснилось, что нужно в биосе активировать виртуализацию, причём в моём случае это сработало с N-ного раза, естественно каждый раз после изменения параметра значение в биосе сохранялось и всё перезапускалось.
            Читать дальше →
            • +4
            • 11,9k
            • 8
          • Подборка штук на основе искусственного интеллекта для личного использования (1/3)

            • Перевод

            Искусственный интеллект и четвёртая промышленная революция (wiki) достигли значительного прогресса за последние несколько лет. Большинство из того, что можно использовать уже сейчас, разрабатывается для коммерческих и промышленных целей, как вы увидите в следующих постах. Научно-исследовательские институты и специализированные компании работают над достижением конечной цели создания ИИ (а именно, создание сильного искусственного интеллекта artificial general intelligence), разрабатывая открытые платформы и исследуя появившиеся этические вопросы. Существуют также несколько компаний, разрабатывающих ИИ-продукты для конечных потребителей, их мы и рассмотрим в рамках этого поста.


            Создание искусственного интеллекта — это как взбираться на дерево, пытаясь добраться до Луны. Можно сообщать о стабильном прогрессе, вплоть до самой вершины дерева.

            image

            Читать дальше →
          • Модель сланцевого бассейна Permian


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

            Чтобы ответить на вопрос, что же будет с баррелем и с нами, необходимо построить модель месторождения, что позволит рассчитать потенциальные объемы добычи при тех или иных условиях. В качестве основы можно взять данные Drilling Productivity Report (DPR), однако тут есть ряд проблем, которые налагают существенные ограничения на возможности прогнозирования.

            Для начала стоит понять, что кажущиеся гладенькими линии такого ключевого показателя как «Продукция с одной буровой за первый месяц» указаны с точностью не большей, чем ответ первоклашки о смысле жизни в рамках концепции трансгуманизма. Если у вас есть привычка просыпаться по ночам, выпивать кефир и регулярно скачивать отчеты DPR, то просматривая их вы можете заметить, что разница между изначальной оценкой и уточнением через год может достигать 34% и еще значительно меняться даже после этого:
            Читать дальше →
          • DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов



              Предыдущие публикации:

              Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
              DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

              Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
              Читать дальше →
            • Создание игры на Unreal Engine 4 за 150 часов (видео + исходники)

                Приветствую, Хабр! Хотел бы познакомить вас с относительно небольшим проектом, который я сделал c нуля примерно за 150 часов (50 заходов ~3 часа каждый) на Unreal Engine 4. Проект я делал в прямом эфире только на стримах раз в неделю (в общей сложности ушел год), попутно отвечая на вопросы пользователей.

                Сам проект не предназначался как коммерческий. Целью я ставил на практике показать всю сложность разработки игр, а именно такие проблемы, как:

                • Планирование и прототипирование проекта
                • Продумывание и реализация архитектуры проекта и отдельных его компонентов
                • Реализация интерфейса пользователя
                • Отладка и исправление ошибок
                • Работа с ассетами и графикой

                image

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

                Если вам интересны подробности проекта, записи стримов, исходники и прочее, читайте далее.
                Читать дальше →
              • Легальный вывод средств с Upwork в РФ

                • Tutorial
                На Хабре уже написано достаточно много статьей по теме, в частности:


                В ответ на повторяющиеся просьбы написать статью, в которой:

                • разбросанные по разным статьям крупицы будут собранны в единое целое
                • всевозможные противоречия будут устранены
                • все сведения будут иметь актуальный характер
                • будут учтены пожелания такие как «а можно с картинками? :)»

                родилось следующее руководство.
                Читать дальше →
              • Алгоритм Джонкера-Волгенанта + t-SNE = супер-сила

                • Перевод
                До:



                После:



                Заинтригованы? Но обо всем по порядку.

                t-SNE


                t-SNE — это очень популярный алгоритм, который позволяет снижать размерность ваших данных, чтобы их было проще визуализировать. Этот алгоритм может свернуть сотни измерений к всего двум, сохраняя при этом важные отношения между данными: чем ближе объекты располагаются в исходном пространстве, тем меньше расстояние между этими объектами в пространстве сокращенной размерности. t-SNE неплохо работает на маленьких и средних реальных наборах данных и не требует большого количества настроек гиперпараметров. Другими словами, если взять 100 000 точек и пропустить их через эту волшебный черный ящик, на выходе мы получим красивый график рассеяния.
                Читать дальше →
                • +63
                • 27,8k
                • 2
              • Как лечат сумасшедших. 1.1 — Фармакотерапия: основы и шизофрения

                  Приветствую тебя, %username%!



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

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

                  Если вышеизложенное вас не отпугивает, предлагаю окунуться в увлекательный мир психофармакологии. В посте много букв и картинок, предупреждаю сразу.
                  Читать дальше →
                • Runtyper — инструмент для проверки типов при выполнении JavaScript кода

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


                    Runtyper warning example

                    Читать дальше →
                  • Уменьшение размера дистрибутива в Java 9

                      Через четыре месяца планируется выпустить Java 9 (надеемся, что переносов сроков больше не произойдёт). Ничто не мешает уже сейчас на предварительной версии проверить, насколько соответствует ожиданиям главная возможность новой версии — модульность (проект Jigsaw).



                      В статье описываются изменения, требуемые для сборки дистрибутива с поддержкой модульности. Сборка дистрибутива производится в операционных системах Windows, macOS и Linux.
                      Читать дальше →
                      • +33
                      • 13,6k
                      • 6
                    • Анализ исходного кода Another World

                      • Перевод
                      image

                      Я потратил две недели на чтение и реверс-инжиниринг исходного кода Another World (в Северной Америке игра вышла под названием Out Of This World). Моя работа основана на обратной разработке Грегори Монтуа (Gregory Montoir) оригинального исполняемого файла для DOS из двоичного кода в C++.

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

                      Всё это умещалось на гибкий диск ёмкостью 1,44 МБ и работало на 600 КБ ОЗУ. Совсем неплохо для 1991 года! Как обычно, я привёл свои заметки в порядок — это поможет кому-нибудь сэкономить несколько часов работы.
                      Читать дальше →
                    • Еще один алгоритм для восстановления смазанных изображений

                      Доброго времени суток. Уже столько сказано о методах деконволюции изображений, кажется добавить больше нечего. Однако всегда найдется алгоритм лучше и новее предыдущих. Не так давно был описан итерационный алгоритм, имеющий линейную скорость сходимости при малых затратах памяти, стабильный и хорошо распараллеливаемый. А через некоторое время он был улучшен еще и до квадратичной сходимости. Встречайте: (Fast) Iterative Shrinkage-Thresholding Algorithm.


                      Читать дальше →
                    • Как измерить скорость работы 3Д-принтера – его хотэнда. И не только скорость


                        Рис.0 КДПВ – мой мой стенд для испытания головок

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

                        Если Вам это интересно — прошу под кат.
                        Читать дальше →
                      • Изменение размера изображения с учётом содержимого

                        • Перевод

                        Изменение размера изображения с учётом содержимого (Content Aware Image Resize), жидкое растяжение (liquid resizing), ретаргетинг (retargeting) или вырезание шва (seam carving) относятся к методу изменения размера изображения, где можно вставлять или удалять швы, или наименее важные пути, для уменьшения или наращивания изображения. Об этой идее я узнал из ролика на YouTube, от Shai Avidan и Ariel Shamir.


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


                        Для подопытной картинки, я поискал по запросу1 "sample image", и нашел её2:


                        image

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