• Превращаем GIMP в удобный редактор

    Доброго времени суток!

    В этом посте я хочу рассказать о том, как превратить GIMP в более-менее удобный графический редактор.
    До недавних пор я сам, мягко говоря, очень его не любил, как и наверное 90% многие из тех, кто с ним вообще сталкивался после Photoshop.

    Вот скриншот того, что у меня получилось в итоге:


    Читать дальше →
  • Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

    • Tutorial


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

    Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
    Вперед!
    • +101
    • 90.3k
    • 75
  • Мощный лабораторный блок питания

    Не так давно приобрёл паяльную станцию. Давно занимаюсь любительской электроникой, и вот настал момент когда точно осознал что пора. До этого пользовался батиным самопальным блоком, совмещавшим лабораторный блок питания и блок питания низковольтного паяльника. И вот встала передо мной проблема: паяльную станцию я ставлю, а старый блок держать ради хилого и не точного блока питания 0-30в 3А или таки купить нечто современное, с защитой по току и цифровыми индикаторами? Поползав по ебею понял что максимум что мне светит это за 7-10 тыс купить Китайский блок с током максимум в 5А. Жаба сказала своё веское «ква», руки зачесались и…
    Читать дальше →
  • Вы опасно некомпетентны в криптографии

    От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
    Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

    Читать дальше →
  • USB TV-тюнеры на rtl2832 — или как услышать в радиоэфире все за 600 рублей

      Давно я собирался купить какой-нибуть универсальный радиоприемник/радиосканер, чтобы полазить по эфиру, послушать о чем говорят ночью матёрые и бородатые радиолюбители…

      До недавнего времени, это удовольствие обходилось от 300$ и до бесконечности. Ну а с переходом гос.органов (и России и за бугром) на цифровую (но пока еще не зашифрованную) связь APCO P25 стоимость удовлетворения нездорового любопытства стала ещё выше.

      Год назад все изменилось — умельцы выяснили, что многие из продающихся у нас китайских USB TV-тюнеров за 600 рублей — фактически являются универсальным радиоприёмником, на который без каких-либо доработок можно послушать практически все-что угодно в диапазоне 50-900Мгц (если повезет — до 2200Мгц, но там голосом особо ничего не передают): переговоры самолётов с диспетчерами, строителей, такси, жучки в вашей квартире и многое другое.

      Под катом я расскажу что и где покупать, как подключить и настраивать, ну и наконец — что можно послушать.
      Читать дальше →
    • Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

      • Translation
      Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

      Быстрое изменение состояния посреди анимации

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

      @keyframes toggleOpacity {
        50% { opacity: 1; } /* Turn off */
        50.001% { opacity: 0.4; }
      
        /* Keep off state for a short period */
      
        52.999% { opacity: 0.4; } /* Turn back on */
        53% { opacity: 1; }
      }
      

      Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


      Читать дальше →
    • Пусть компьютер сам принимает решение или пишем ИИ для игры вместе

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

      image
      Под катом gif-файлов мегабайт на 10.
      Начать побеждать
    • Цена бесплатного сыра

        image
        Давно известна поговорка про бесплатный сыр. Давайте посмотрим, как эта поговорка действует среди компаний, ведущих счета пользователей или абонентов. Интересный аспект, на который я хочу обратить внимание — списание средств при переходе в режим «неактивного пользователя». Если вас интересует небольшой «рейтинг жадности», добро пожаловать под кат.
        Читать дальше →
      • Вы можете развить свой интеллект: 5 способов максимально улучшить свои когнитивные способности

        • Translation
        Не стоит преследовать цели, которые легко достичь. Стоит нацеливаться на то, что удается сделать с трудом, приложив немалые усилия — Альберт Эйнштейн

        Несмотря на то, что Эйнштейн не был нейробиологом, он точно знал все, когда говорил о способности человека добиваться чего-либо. Он интуитивно догадывался о том, что лишь сегодня нам удалось подтвердить с помощью данных, а именно: что заставляет когнитивные способности работать на максимально высоком уровне. По существу: То, что тебя не убивает, делает тебя умнее.
        Читать дальше →
      • «МультиФон» — VoIP-звонилка для абонентов «МегаФона»



          Не все знают, что у «МегаФона» существует свой «ответ Скайпу» — VoIP-проект «Мультифон». Между тем, это весьма интересный продукт, выпущенный ещё в 2008 году, а сейчас развиваемый инновационным подразделением MegaLabs. Это первый операторский VoIP-сервис в мире. Но на этом его особенности не заканчиваются.
          Читать дальше →
        • Как находить и устранять утечки памяти на примере Яндекс.Почты

          • Tutorial
          На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

          image

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

          Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
          Читать дальше →
        • Введение в топологию (для чайников и гуманитариев)

          Не помню, когда я впервые узнал про топологию, но меня эта наука сразу заинтересовала. Чайник превращается в бублик, сфера выворачивается наизнанку. Многие слышали про это. Но у тех, кто хочет углубиться в эту тему на более серьёзном уровне, часто возникают трудности. Особенно это относится к освоению самых начальных понятий, которые по своей сути очень абстрактны. Более того, многие источники, как будто специально стремятся запутать читателя. Скажем русская вики даёт весьма туманную формулировку того, чем занимается топология. Там говорится, что это наука изучающая топологические пространства. В статье про топологические пространства читатель может узнать, что топологические пространства — это пространства снабжённые топологией. Такие объяснения в стиле лемовских сепулек не очень проясняют суть предмета. Я попробую далее изложить основные базовые понятия в более ясной форме. В моей заметке не будет превращающихся чайников и бубликов, но будут сделаны первые шаги, которые позволят в конце концов научиться этой магии.

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

          Впервые я написал эту заметку, как начало цикла статей о топологии, для своих гуманитарных друзей, но никто из них читать ее не стал. Исправленную и расширенную версию я решил выложить на хабр. Мне показалось, что здесь существует определенный интерес к этой теме и статей как раз такого рода еще не было. Заранее благодарен за все комментарии об ошибках и неточностях. Предупреждаю, что я использую много картинок.
          Читать дальше →
        • Создание многопользовательской realtime игры на node.js

          • Translation


          Несколько месяцев назад мы с коллегами решили сделать многопользовательскую realtime игру, которая могла бы работать в вебе. Мы решили использовать node.js для нашего сервера. Это решение привело к очень убедительному успеху — наш сервер работал несколько месяцев без единого падения или перезагрузки процесса.

          Мы решили написать нашу игру на node.js, потому что мы слышали много хорошего об этой платформе и очень хотели немного с ней поиграть. И это было потрясающе — мы очень быстро вошли в тему. Для node.js существует множество любопытных библиотек, способных решать абсолютно разные задачи. Побочным преимуществом использования node для серверной части является, собственно, javascript — очень простой в обращении язык. Это позволило нам сфокусироваться на проблемах, которые встречаются во всех realtime играх, без лишней суеты, ограничений и необходимости компилировать код, как это случается при использовании менее динамических языков.

          Также node.js проявил себя как очень легковесный язык, даже в моменты пиковой нагрузки. Для нашей игры, процесс node.js использовал только один поток и потреблял всего около 3-4% CPU при одновременной работе 8-10 копий игры, каждая со своим собственным движком обнаружения столкновений.
          Читать дальше →
        • Wi-Fi с логином и паролем для каждого пользователя или делаем WPA2-EAP/TLS подручными средствами

          • Tutorial
          С практической точки зрения было бы удобно управлять Wi-Fi сетями, выдавая пароль каждому пользователю. Это облегчает задачу с доступом к вашей беспроводной сети. Используя так называемую WPA2 PSK авторизацию, чтобы предотвратить доступ случайному пользователю, нужно менять ключ, а также заново проходить процесс авторизации на каждом отдельном Wi-Fi устройстве. Кроме того, если вы имеете несколько точек доступа, ключ нужно менять на всех из них. А если Вам надо скрыть пароль от кого-нибудь, придется раздать всем сотрудникам новый.

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

          Мы сделаем удобную схему, применяемую в корпоративных сетях, но полностью из подручных средств с минимальными финансовыми и аппаратными вложениями. Ее одобрит служба безопасности и руководство.
          Читать дальше →
        • Imax B6 — Универсальный зарядочный комбайн

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

            Итак, что на обещают производители?
            • Заряд аккумуляторов Li-ion, Li-pol, LiFe, NiCd, NiMH, PbAcid(свинцовые всех типов)
            • Полностью автоматический процесс заряда, управляемый микроконтроллером. Отсечка по току и напряжению для литиевых аккумуляторов, по температуре и ΔV для никелевых. Для всех типов — выключение по максимальному времени и емкости.
            • Тренировка NiCd и NiMH. Балансировочный заряд Li-pol аккумуляторов(для батарей с несколькими банками)
            • Ток заряда до 5А, разряда — до 1А.
            • Экран с показаниями текущего напряжения, тока, емкости. Выгрузка всех этих параметров на компьютер и построение графиков.
            Читать дальше →
          • Ремонтируем монитор содой!

              В последнее время, как мне кажется, пластиковые рудники на грани истощения. Чем больше и тяжелее монитор, тем меньше и тоньше подставка. Так 23'' монитор Samsung постигла участь одуванчика. Случайно наткнулся, в одной из местных news групп, на способ восстановления пластика при помощи пищевой соды. Под катом ремонт стойки монитора.
              Далее...
            • Лабораторный источник постоянного напряжения из блока питания

              image

              Несколько недель назад мне для некого опыта потребовался источник постоянного напряжения 7V и силой тока в 5A. Тут-же отправился на поиски нужного БП в подсобку, но такого там не нашлось. Спустя пару минут я вспомнил о том, что под руки в подсобке попадался блок питания компьютера, а ведь это идеальный вариант! Пораскинув мозгами собрал в кучу идеи и уже через 10 минут процесс начался.
              Читать дальше →
            • Манга «Занимательная статистика», «Тайна катастроф» и другие похожие книги

                Речь идет о необычных учебниках, которые стоят посередине между вузовскими учебниками и чисто научно-популярными брошюрами. Тем не менее между научпопом и такими учебниками есть четкий водораздел — последние нацелены именно на обучение, развлекательные фишки — лишь форма подачи серьезного материала. Общее для всех таких книг, как мне представляется — подача материала в виде комикса и\или в виде диалога двух или больше людей. Обычно два собеседника — ученик и учитель, один постоянно задает вопросы, часто глупые или смешные, второй пытается объяснить в игровой форме.

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

                Я сделал что-то вроде ретроспективы: первая книга — свежий японский комикс-манга о матстатистики издания 2010 года, дальше — книга из 80-х о математике, теории катасроф. Последняя — учебник радиоэлектроники для начинающих, знакомый нескольким поколениям читателей по всему миру, начиная с 30-х годов.

                В качестве иллюстрации поста приведу обложку другой манги из той же серии, что и книга о статистике:

                image

                Читать дальше →
              • Бесплатные звонки в США и Канаду с любого SIP устройства

                  image

                  Как многие уже могли догадаться, речь пойдёт о возможности, которую предоставляет сервис Google Voice. В посте трёхгодичной давности уже описывался процесс регистрации аккаунта в GV. При этом можно было принимать звонки на SIP устройства, но для инициализации вызова всё равно приходилось заходить в аккаунт и звонить оттуда, что довольно неудобно. В этом посте я расскажу о том, как полностью подружить Google Voice и SIP.
                  Читать дальше →