• Про применимость Novec©®™ 1230©®™ для погруженного в жидкость компьютера

      По мотивам статьи про фреон для пожаротушения: habrahabr.ru/company/3mrussia/blog/200840

      В комментариях появилась куча желающих использовать эту жидкость для создания компьютера, погруженного в жидкость. Попытаюсь обосновать, почему это плохая идея. Жидкость буду называть фреоном, потому что так короче и в целом это и есть фреон. Для полного восприятия желательно помнить химию и физику в объеме чуть меньше школьной программы, ну или уметь быстро загуглить. Заодно проверю свое давнее подозрение о том, что образованный и умеющий пользоваться мозгом человек может базово освоить абсолютно постороннюю область знаний за очень короткое время. Вещи, описанные в посте, для меня очевидны, поэтому где-то мог упустить ключевые для понимания моменты. Пишите в комментариях, буду исправлять. И подскажите, как вставлять ТеХовские формулы в пост — переделаю нынешний ужас.

      Про летучесть, образование паров и прочие фазовые переходы


      Самые базовые вещи.
      Читать дальше →
    • Завершен аудит кода TrueCrypt

        Сайт Open Crypto Audit Project сообщает о завершении второй стадии аудита кода популярного открытого средства шифрования TrueCrypt, разработчики которого 28 мая 2014 года очень странно покинули сцену, посоветовав переходить на BitLocker — решение для шифрования данных от Microsoft. По сути, аудит кода завершен, ребятам из OCAP осталось только написать финальный документ с выводами.

        Согласно результатам аудита, никакой закладки в TrueCrypt 7.1a нет. Аудиторы отметили только 4 потенциально нехороших места, которые не приводили к компрометации каких-либо данных при обычных условиях:
        1. Отсутствие проверки подлинности зашифрованных данных в заголовке тома
        2. Смешивание ключевого файла происходит не криптографически устойчивым образом
        3. Реализация AES может быть уязвима к атаке по времени
        4. CryptAcquireContext может оказаться неинициализированным без сообщений об ошибке
        Читать дальше →
      • Несмешная первоапрельская шутка от разработчиков Magic Lantern

        Magic Lantern (ML) — неофициальная прошивка для фотоаппаратов Canon, которая обеспечивает повышенную функциональность (например, dual-iso, стекинг по фокусу, raw-видео, тонкая настройка параметров съемки и многое другое). Прошивка устанавливается непосредственно на flash-карту, что позволяет безболезненно удалить ее или обновить простой заменой файлов.

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

        Все описанные действия производились с использованием камеры Canon 650D со стоковой (1.01) прошивкой.

        28 марта. Началось все тогда, когда жажда исследования чего-то нового накопилась до критической массы и в сети была случайно обнаружена информация о возможности автоматической съемки фокус-стека на моем фотоаппарате. Но данные возможности требовали установки неофициальной прошивки Magic Lantern.

        Быстрый поиск показал, что:
        • текущая прошивка фотоаппарата не поддерживает текущие сборки ML;
        • для модели 650D нет стабильной сборки, есть только ночные билды;
        • некоторые функции ML в 650D не работают/работают криво;
        • авторы предупреждают, что можно закирпичить фотоаппарат неверными действиями по прошивке.

        После чего фотоаппарат был успешно перепрошит на последнюю официальную версию для Canon 650D 1.04. И строго по инструкции, со сбросом всех настроек и полным форматированием карты, был установлен последний ночной билд Magic Lantern (от 28 марта).
        Читать дальше →
      • Что такое хорошо: как мы разрабатывали критерии для оценки качества вёрстки веб-проектов



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

          Очевидно, что учить нужно так, чтобы потом люди (не все из которых «технари») могли приходить в компании и работать «правильно» — то есть создавая вёрстку, которая красиво выглядит и не требует больших усилий по поддержке. Процесс создания списка универсальных критериев для оценки занял довольно длительное время и был сопряжён с рядом трудностей. Сегодня мы расскажем о том, что же у нас в итоге получилось.
          Читать дальше →
        • Почему я не испытываю неприязни к Git: скрытая целостность

          • Translation


          Предлагаю вашему вниманию перевод небольшой статьи из блога Armin Ronacher — автора Flask, Jinja2 и много чего еще. На этот раз он поделится своими мыслями о Git — распределенной системе управления версиями файлов.

          Git для меня интересная тема. Впервые я попробовал использовать Git, когда там не было вообще никакой системы команд, а Cogito считался многообещающим проектом. Не могу сказать, что мне это понравилось, в то время я в основном пользовался SVN, и он полностью решал все мои задачи. Вскоре я познакомился с Mercurial, и это была любовь с первого взгляда, положившая начало долгому и позитивному опыту использования этой VCS (version control system), которая получила в моем лице преданного сторонника. Только в 2008 году я перешел на Git, и мне потребовалось несколько попыток, прежде чем я понял, что пора переносить на него мои репозитории.
          Читать дальше →
        • Программируем роботов — бесплатный робосимулятор V-REP. Первые шаги



            Программирование роботов — это интересно.

            Многие наверное видели японских гуманоидных роботов, или французский учебный робот NAO, интересным выглядит проект обучаемого робота-манипулятор Baxter. Промышленные манипуляторы KUKA из Германии — это классика. Кто-то программирует системы конвейерной обработки (фильтрации, сортировки). Дельта роботы. Есть целый пласт — управление квадрокоптером/алгоритмы стабилизации. И конечно же простые трудяги на складе — Line Follower.

            Но всё это как правило — не дешевые игрушки, поэтому доступ к роботам есть в специализированных лабораториях или институтах/школах где получили финансирование и есть эти направления. Всем же остальным разработчикам (кому интересна робототехника) — остаётся завистливо смотреть.

            Некоторое время назад я вышел на достаточно интересную систему — 3д робосимулятор V-REP, от швейцарской компании Coppelia Robotics.

            К своему (приятному) удивлению я обнаружил, что эта система:
            • имеет большой функционал (система разрабатывается с марта 2010 года)
            • полностью open-source (выложена в открытый доступ в 2013 году)
            • кроссплатформенная — windows, mac, linux (работает на Qt)
            • имеет API и библиотеки для работы с роботами через C/C++, Python, Java, Lua, Matlab, Octave или Urbi
            • бесплатная для некоммерческого использования!

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

            Поработав некоторое время с этой системой, я решил рассказать про неё читателям хабра.

            Да, и на картинке скриншот из V-REP, и модели роботов — которые вы можете программировать, и смотреть поведение, прямо на вашем компьютере.
            Читать дальше →
          • Анонимные платежи: Dash или Bitcoin+Миксеры?

              image

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

              ПОТРЕБНОСТЬ

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

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

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

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

              Хорошо, я не буду углубляться в философию, а просто констатирую тот факт, что у большинства людей и бизнесов имеется желание (а зачастую — необходимость) сохранить анонимность своих финансов. И причина этого не в том, что они замышляют что-то плохое, а в том, что они сами не хотят стать жертвами чужих злонамеренных или преступных планов.
              Читать дальше →
            • Файловая система Linux полностью на tmpfs — скорость без компромиссов

              Предыстория


              Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

              Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

              Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
              Читать дальше →
            • Программа для расчета минимальной цены радиодеталей в реальном времени

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

              На самом деле, расчет себестоимости по списку деталей — это неприятный и рутинный процесс, связанный с долгими поисками по on-line каталогам, обзвоном дистрибуторов, перепиской и ожиданием ответов и проч. и проч. Но хуже даже не это, а то, что это итерационный процесс. Увидев вдруг, что себестоимость оказалась выше допустимой, разработчик начинает искать другие варианты схемотехники и другие комплектующие. И снова поиски…. А рутина — это враг разработчика. Чтобы ее избежать, многие жертвуют оптимальностью. Но, к счастью, эту проблему можно облегчить.
              Читать дальше →
            • 10 вещей, которых вы не знали о Java

              • Translation
              Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

              Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
              Читать дальше →
            • Троичный компьютер в браузере

                000. Предыстория


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

                Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
                Приступим.
              • Асинхронность: назад в будущее


                  Асинхронность… Услышав это слово, у программистов начинают блестеть глаза, дыхание становится поверхностным, руки начинают трястись, голос — заикаться, мозг начинает рисовать многочисленные уровни абстракции… У менеджеров округляются глаза, звуки становятся нечленораздельными, руки сжимаются в кулаки, а голос переходит на обертона… Единственное, что их объединяет — это учащенный пульс. Только причины этого различны: программисты рвутся в бой, а менеджеры пытаются заглянуть в хрустальный шар и осознать риски, начинают судорожно придумывать причины увеличения сроков в разы… И уже потом, когда большая часть кода написана, программисты начинают осознавать и познавать всю горечь асинхронности, проводя бесконечные ночи в дебаггере, отчаянно пытаясь понять, что же все-таки происходит…

                  Именно такую картину рисует мое воспаленное воображение при слове “асинхронность”. Конечно, все это слишком эмоционально и не всегда правда. Ведь так?.. Возможны варианты. Некоторые скажут, что “при правильном подходе все будет работать хорошо”. Однако это можно сказать всегда и везде при всяком удобном и не удобном случае. Но лучше от этого не становится, баги не исправляются, а бессонница не проходит.

                  Так что же такое асинхронность? Почему она так привлекательна? А главное: что с ней не так?
                  Назад в будущее...
                • Шестерни и рейки на ЧПУ фрезере без дополнительной оснастки и модульной фрезы

                    Наверное, многие, просматривающие раздел «DIY или сделай Сам» сталкивались с необходимостью найти/подобрать подходящую пару шестерней или готовый редуктор под свой проект. А так же сталкивались с трудностями данного поиска.

                    Возможность изготовлять шестерни самостоятельно давно меня интересовала. Заводские методы нарезки шестерней модульными фрезами и пр. промышленными способами мало применимы в домашних условиях. А изготовить на заказ стоит безумные деньги за одну штуку или хотят партию от 1000 шт.
                    Читать дальше →
                  • Ara, да? Или модульный смартфон будущего

                      В конце января в Сингапуре прошла конференция Google, посвященная Project Ara.

                      Любителям конструкторов будет интересно узнать о свежем состоянии проекта, а остальным читателям напомню, что Project Google Ara (название не я придумал) — это модульный смартфон будущего, в котором пользователь сам выбирает компоненты не только по стоимости, но и по функционалу.

                      image
                      Работа смартфона будущего с модулем измерения радиации.

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

                      Конференцию мы посетили, как официально признанные разработчики собственного устройства DO-RA.Module.

                      Далее, по-порядку.
                      Читать дальше →
                    • Опыт маскировки OpenVPN-туннеля с помощью obfsproxy

                      • Tutorial

                      Преамбула


                      В связи с наметившимися тенденциями решил я обфусцировать свой скромный OpenVPN-туннель, просто чтобы набить руку — мало ли пригодится…

                      Дано: дешевая VPS с белым IP, работающая под Ubuntu Trusty Server Edition и служащая OpenVPN сервером.
                      Требуется: по-возможности скрыть OpenVPN туннель, желательно без изобретения велосипедов.
                      Ну и что дальше?
                    • Хабраэффект для 130 000 камер Москвы

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


                        Читать дальше →
                      • Ресайз картинок в браузере. Все очень плохо

                          Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

                          function resize(img, w, h) {
                            var canvas = document.createElement('canvas');
                            canvas.width = w;
                            canvas.height = h;
                            canvas.getContext('2d').drawImage(img, 0, 0, w, h);
                            return canvas;
                          }
                          

                          Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

                          img
                          Читать дальше →
                        • Общаемся с SIM-картой на низком уровне


                          f: не могу представить, как крусач может работать) Наши курсачи обычно пыляться где-то на полках
                          m: Вот у меня есть плата. К ней нужно подрубить сим-карту, и эта плата должна прочитать смс оттуда)
                          m: плата покупная, а вот программируем ее мы)
                          f: а нельзя смс с телефона прочитать?

                          — из жизни, орфография сохранена





                          Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…

                          Читать дальше...
                        • Сделай шаг к ПЛИС



                            Ты ждал знак? Вот он!

                            Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

                            Сейчас я помогу сделать первый шаг и тебе!

                            Я готов!