• Паровой двигатель Тауэра

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



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



      чуть помедленнее, гифка

      Красные стрелки — подача свежего пара, синие — выпуск отработанного.
      Читать дальше →
    • Чебурашка и торренты (сказка)

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


        Сказка — ложь, да в ней намёк — добрым молодцам урок!


        Жил да был Чебурашка, как водится, в телефонной будке. Жил — не тужил, и был у него диалап — ни в сказке сказать, ни пером описать. Не 4G, конечно, но книжки с рецептами мороженого и чертежи вертолётов с трекера volshebnik.su он регулярно скачивал. И картинки с апельсинами. И жил бы он себе припеваючи, но злобная Шапокляк послала к его провайдеру крыску Лариску со спецзаданием: заблокировать Чебурашке доступ к volshebnik.su!
        Скоро сказка сказывается, да не скоро дело делается. Тридцать дней крыска Лариска грызла провода, куда-то что-то закорачивала да хвостом по клавиатуре ночами лупила. А на тридцать первый день набрал Чебурашка адрес любимого сайта — а ему заглушка: так мол и так, сайт заблокирован.

        Читать дальше →
      • Как обучается ИИ


          Источник изображения.

          Есть ли связь между трехглазой жабой и нейронными сетями? Что общего у программы, выигрывающей в го, и приложением Prisma, перерисовывающим фотографии под стили картин известных художников? Как компьютеры одолели нарды, а затем покусились на святое — и выиграли у человека в “Космических захватчиков”?
          Дадим ответы на все эти вопросы, а еще поговорим о революции, связанной с глубоким обучением, благодаря которому удалось добиться прорыва во многих областях.
          Читать дальше →
        • Режиссер потратил 7 лет на создание собственной версии Star Trek

            Видео продолжительностью почти в час выложено на YouTube



            22 июля выходит Star Trek Beyond. В мире насчитывается несколько миллионов поклонников вселенной Star Trek, которые именуют себя Trekkies (или Trekkers). Все они вместе с любителями научной фантастики ждут выхода фильма на экраны. Кинокритики предрекают картине успех.

            До похода в кинотеатр есть еще одна возможность насладиться миром Star Trek. 35-летний режиссер из Баварии по имени Юрген Кайзер (Jürgen Kaiser) потратил семь лет жизни на создание своей версии фильма. Его версия называется Star Trek Enterprise II: The Beginning of the End. Идея создать свой фильм по вселенной Star Trek пришла к режиссеру после завершения третьего сезона Star Trek: Enterprise. В этом сериале зрителю показывали самое начало освоения человечеством космических просторов Вселенной — в 2151 год, за 100 лет до событий основной сюжетной линии. В своем фильме режиссер показывает побочную сюжетную линию.
            Читать дальше →
          • Большая улыбка от маленьких фемтометров: LISA Pathfinder превзошла ожидания


              Фемтометр — это 10-15 метра. Для наглядности, диаметр протона составляет примерно 1,7 фемтометра. 10-14 м/с2 — это одна миллионная от одной миллиардной ускорения свободного падения на Земле. И именно такую точность, минимум в пять раз выше изначально запланированной, показал технологический демонстратор гравитационного телескопа LISA Pathfinder.
              Читать дальше →
            • Настраиваем URL Overrides в Keepass2


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


                По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
                Вместо этого я хотел бы рассказать об одной его интересной функции:


                Функция называется "URL Overrides", и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass'а.


                Например, вы можете хранить в keepass'е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
                Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.


                Идея состоит в том, что бы использовать Keepass как единую точку входа на все удаленные сервера.

                Читать дальше →
              • Работаем с бюджетным учреждением. Часть 2

                  Если вы работаете или только собираетесь поработать с бюджетным учреждением… то для того, чтобы быть в курсе событий, лучше начать с предыдущей статьи. А если вы ее уже читали или просто уверены в своих силах, то сегодня в меню:
                  — как заказчик собирается тратить деньги (44-ФЗ, 223-ФЗ и другие страшные аббревиатуры);
                  — снова открытые данные;
                  — еще раз об обещаниях и об их отсутствии;
                  — ООО — это не всегда то, о чем вы подумали;
                  — к чему приводит невнимательность;
                  — и другое.
                  Все еще интересно? Тогда прошу под кат.
                  Читать дальше →
                • Как настроить двухфакторную аутентификацию для логина и sudo

                  • Перевод
                  • Tutorial


                  Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

                  Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
                  Читать дальше →
                • Технологии фондового рынка: 10 заблуждений о нейронных сетях

                  • Перевод
                  image

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

                  Количественный аналитик хедж-фонда NMRQL Стюарт Рид в статье на сайте TuringFinance попытался объяснить, что это означает, и доказать, что все проблемы кроются в неадекватном понимании того, как такие системы работают. Мы представляем вашему вниманию адаптированный перевод его статьи.
                  Читать дальше →
                  • +11
                  • 32,5k
                  • 2
                • Runtime программирование промышленного робота на RCML



                  Под runtime программированием в этой статье понимается процесс создания исполняемой программы для контроллера робота (далее просто робота) на внешнем контроллере. Процесс исполнения роботом созданной программы в таком случае, происходит итерационно, путем передачи ему минимальной исполняемой команды или пакета команд. Другими словами, при runtime программировании, исполняемая программа передаётся роботу порционно, при этом робот не обладает, не хранит и не знает заранее всю исполняемую программу. Такой подход позволяет создать абстрактную параметризованную исполняемую программу, которая формируется внешним устройством «на ходу», т.е. runtime.

                  Под катом описание и реальный пример того, как работает runtime программирование.
                  Читать дальше →
                • Meduza.io: а как же лайки?

                  Как-то раз, читая новости на Медузе, я обратил внимание на то, что у разных новостей разное соотношение лайков из Facebook и ВКонтакте. Какие-то новости мегапопулярны на fb, а другими люди делятся только во ВКонтакте. Захотелось присмотреться к этим данным, попытаться найти в них интересные закономерности. Заинтересовавшихся приглашаю под кат!


                  image

                  Читать дальше →
                • Спецслужбы начали перехватывать SMS-коды авторизации Telegram

                  • Новость
                  Похоже, авторизация по SMS в мессенджере Telegram скомпрометирована. Об этом сегодня предупредил пользователей сам Павел Дуров.

                  «Судя по всему, спецслужбы РФ решили начать давить на операторов связи, чтобы те стали осуществлять перехват авторизационного SMS-кода. Обычно такое встречается только в рамках людоедских, не заботящихся о своей репутации режимах — средняя Азия, иногда Ближний Восток. Но внезапно случилось в России (если, конечно, отсечь коррупцию внутри МТС)», — говорит Павел Дуров.

                  Рекомендацию для жителей проблемных стран я уже опубликовал; также будем делать массовую Телеграм-рассылку по России с советом всем находящимся под угрозой пользователям включать двухфакторную авторизацию, так как операторы связи РФ как верификатор ненадёжны».
                  Читать дальше →
                • Чем GearVR отличается от картонной коробки, или погоня за latency

                    Disclaimer: пост написан на основе изрядно отредактированных логов чата closedcircles.com, отсюда и стиль изложения, и наличие уточняющих вопросов.


                    image


                    Главный термин который надо знать относительно VR — motion-to-photon latency.
                    Иначе говоря, задержка между поворотом головы и последним фотоном изображения (отрисованного с ракурса нового положения головы) покинувшим экран.
                    Эмпирически выведено что motion-to-photon latency 20 msec и ниже позволяет достигать presence — т.е. ощущения что двигаешь головой в виртуальном мире.
                    Важны ли значения меньше 20 ms или нет — непонятно, но в общем цель — достигнуть 20.
                    GearVR правдами и неправдами достигает, и я расскажу как.

                    Читать дальше →
                  • Intel ME. Как избежать восстания машин?



                      В прошлый раз мы рассказали об Intel Management Engine (ME) — подсистеме, которая встроена во все современные компьютерные платформы (десктопы, лэптопы, серверы, планшеты) с чипсетами компании Intel. Эта технология многими воспринимается как аппаратная «закладка», и на то есть причины. Достаточно сказать, что Intel ME является единственной средой исполнения, которая:
                      • работает даже тогда, когда компьютер выключен (но электропитание подаётся);
                      • имеет доступ ко всему содержимому оперативной памяти компьютера;
                      • имеет внеполосный доступ к сетевому интерфейсу.


                      Ошарашенный присутствием такого компонента в компьютере, пользователь (получается, что именно «пользователь», а не «владелец») наверняка задавался вопросом: можно ли выключить Intel ME?

                      Эта статья целиком посвящена этому вопросу.

                      Читать дальше →
                    • Очередной способ обхода Windows AppLocker

                        image

                        Несколько лет назад компания Microsoft анонсировала новый инструмент — AppLocker, который, по задумке разработчиков, был призван повысить уровень безопасности при работе в Windows. Не так давно исследователь Кейси Смит (Casey Smith) обнаружил в данном функционале уязвимость, позволяющую обойти его. Смит нашел способ, при котором в системе можно запустить любое приложение в обход AppLocker и без прав администратора.

                        Что такое AppLocker


                        AppLocker от Microsoft работает исходя из черных и белых списков приложений, которые могут быть запущены в системе. Поставляться он начал как компонент операционных систем Win 7 и WinServer 2008 R2. С его помощью системные администраторы получили возможность создавать правила для запуска исполняемых файлов .exe, .com, а так же файлов с расширениями .msi, .msp, .bat, .scr, .js, .dll и другие.
                        Читать дальше →
                      • Исследование скорости вызова метода различными способами

                          Результат и выводы для тех кто не любит длинный текст



                          100.000 вызовов, 20 итераций теста, x86 100.000 вызовов, 20 итераций теста, x64 1.000.000 вызовов, 10 итераций теста, x86 1.000.000 вызовов, 10 итераций теста, x64
                          Прямой вызов
                          Min:	1 ms
                          Max:	1 ms
                          Mean:	1 ms
                          Median:	1 ms
                          Abs: 1
                          

                          Min:	1 ms
                          Max:	1 ms
                          Mean:	1 ms
                          Median:	1 ms
                          Abs: 1
                          

                          Min:	7 ms
                          Max:	8 ms
                          Mean:	7,5 ms
                          Median:	7,5 ms
                          Abs: 1
                          

                          Min:	5 ms
                          Max:	6 ms
                          Mean:	5,2 ms
                          Median:	5 ms
                          Abs: 1
                          

                          Вызов через отражение
                          Min:	32 ms
                          Max:	36 ms
                          Mean:	32,75 ms
                          Median:	32,5 ms
                          Rel: 32
                          

                          Min:	35 ms
                          Max:	44 ms
                          Mean:	36,5 ms
                          Median:	36 ms
                          Rel: 36
                          

                          Min:	333 ms
                          Max:	399 ms
                          Mean:	345,5 ms
                          Median:	338 ms
                          Rel: 45
                          

                          Min:	362 ms
                          Max:	385 ms
                          Mean:	373,6 ms
                          Median:	376 ms
                          Rel: 75
                          

                          Вызов через делегат
                          Min:	64 ms
                          Max:	71 ms
                          Mean:	65,05 ms
                          Median:	64,5 ms
                          Rel: 64
                          

                          Min:	72 ms
                          Max:	86 ms
                          Mean:	75,95 ms
                          Median:	75 ms
                          Rel: 75
                          

                          Min:	659 ms
                          Max:	730 ms
                          Mean:	688,8 ms
                          Median:	689,5 ms
                          Rel: 92
                          

                          Min:	746 ms
                          Max:	869 ms
                          Mean:	773,4 ms
                          Median:	765 ms
                          Rel: 153
                          

                          Вызов через делегат с оптимизациями
                          Min:	16 ms
                          Max:	18 ms
                          Mean:	16,2 ms
                          Median:	16 ms
                          Rel: 16
                          

                          Min:	21 ms
                          Max:	25 ms
                          Mean:	22,15 ms
                          Median:	22 ms
                          Rel: 22
                          

                          Min:	168 ms
                          Max:	187 ms
                          Mean:	172,8 ms
                          Median:	170,5 ms
                          Rel: 22.7
                          

                          Min:	218 ms
                          Max:	245 ms
                          Mean:	228,8 ms
                          Median:	227 ms
                          Rel: 45.4
                          

                          Вызов через dynamic
                          Min:	11 ms
                          Max:	14 ms
                          Mean:	11,5 ms
                          Median:	11 ms
                          Rel: 11
                          

                          Min:	12 ms
                          Max:	14 ms
                          Mean:	12,5 ms
                          Median:	12 ms
                          Rel: 12
                          

                          Min:	124 ms
                          Max:	147 ms
                          Mean:	132,1 ms
                          Median:	130 ms
                          Rel: 17
                          

                          Min:	127 ms
                          Max:	144 ms
                          Mean:	131,5 ms
                          Median:	129,5 ms
                          Rel: 26
                          

                          Вызов через Expression
                          Min:	4 ms
                          Max:	4 ms
                          Mean:	4 ms
                          Median:	4 ms
                          Rel: 4
                          

                          Min:	4 ms
                          Max:	5 ms
                          Mean:	4,15 ms
                          Median:	4 ms
                          Rel: 4
                          

                          Min:	46 ms
                          Max:	55 ms
                          Mean:	50 ms
                          Median:	50,5 ms
                          Rel: 6.7
                          

                          Min:	47 ms
                          Max:	51 ms
                          Mean:	47,7 ms
                          Median:	47 ms
                          Rel: 9.4
                          



                          При использованиии .NET Framework 3.5 лучше всего использовать вызов методов через делегат с оптимизацией вызова. Для .NET Framework 4.0+ отличным выбором будет использование dynamic.
                          UPD: новый вывод от mayorovp: лучше всего использовать Expression

                          UPD: и как подсказал CdEmON, такое исследование было опубликовано на хабре ранее

                          Читать дальше →
                        • WPS Pixie Dust Attack — Взлом Wi-Fi сети за 5 минут. Описание уязвимости



                            Уязвимость не новая, но ввиду отсутствия материалов в «РУ» сегменте — решил написать данную статью.

                            Базово о WPS:
                            WPS — Wi-Fi Protected Setup. Второе название QSS — Quick Security Setup.
                            Стандарт разработанный для упрощения процесса настройки беспроводной сети.
                            WPS позволяет подключится двумя различными способами:
                            — ввод 8-ми значного пин кода (обычно указывается c обратной стороны роутера)
                            — нажатием специально предназначенной для этого кнопки на роутере

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

                            В конце 2014 года специалист по компьютерной безопасности Доминик Бонгард (Dominique Bongard) нашел уязвимость в WPS, которая позволила взломать Wi-Fi роутер за несколько минут.

                            Проблема была в генерации случайных чисел (E-S1 и E-S2) на многих роутерах. Если мы узнаем эти числа — мы сможем легко узнать WPS pin, так как именно они используются в криптографической функции для защиты от брутфорса по получению WPS pin.
                            Роутер отдает хэш, сгенерированный с использованием WPS pin и данных (E-S1 и E-S2) чисел, что бы доказать, что он его так же знает (это сделано для защиты от подключения к фейковой точке, которая могла бы просто принять ваш пароль и слушать трафик).
                            Читать дальше →
                          • Хабразвук

                              Увидев наполненный красивыми графиками и трагическим пафосом пост "Хабр умирает?", я задумался: а как бы вся эта красота могла звучать? Когда выдалось немного свободного времени, я скачал данные и натравил на них Sonic Pi. Теперь я знаю, как звучит Хабрахабр, и хочу поделиться этим забавным опытом.
                              Читать дальше →
                            • Неожиданная встреча. Глава 3

                                Ангар освещался тусклым резервным освещением. В продырявленной, как сито, железной стенке ангара лазерным резаком вырезали проём. Когда линия реза замкнулась, кусок железа с грохотом упал на палубу ангара. За проёмом на полу, усыпанном осколками железа и пластика, виднелось тело человека. Рядом с ним лежала электромагнитная импульсная граната (ЭМИГ) зализанной формы, весь корпус которой был перфорирован мелкими отверстиями.



                                Читать дальше...
                              • Выбираем библиотеку для работы с WebGL

                                  Как-то утром, пробегая мимо славного урока, я подумал: «Это круто, только всё же кой-чего тут не хватает». Если надо много кода написать легко и быстро, то нужна нам, без сомнений, для сего библиотека. Только как её нам выбрать, если каждый, кто умеет на гитхабе заводить репозиторий, запилил велосипед свой? И об этом для тебя, друг, напишу сегодня пост вдруг.
                                  Дальше проза