• Telegram сам добавляет чужие контакты? Это норма



      Пользуюсь Telegram не первый год. Всё хорошо, но вот какое-то время назад начала смущать одна странная деталь: время от времени Telegram самостоятельно добавлял в мои контакты неизвестных людей, сопровождая это уведомлением, что они зарегистрировались в Telegram. Вообще Telegram не должен показывать номера телефонов людей, которых нет в вашей телефонной книге, но для таких самопроизвольно появляющихся контактов я видел и номер телефона. Всё выглядело так, будто это контакты из моей телефонной книги. Но их там не было. Тогда я решил, что Telegram автоматически добавляет в мои контакты тех людей, которые добавили мой номер телефона в свою телефонную книгу. Поскольку мой номер телефона несколько лет назад был указан на одном небольшом сайте, я решил, что кто-то из немногочисленных посетителей зачем-то добавил меня в свои телефонные книги, и это какое-то время выглядело правдоподобно.
      Читать дальше →
    • Need For Speed III Modern Patch: более 100 изменений без исходных кодов

        imageКогда я впервые увидел Need For Speed III, от изумления я даже присел. Диск шёл в подарок к видеокарте моего первого компьютера, и это была первая трёхмерная игра в моей жизни. До этого момента я совершенно не подозревал, что графика в играх может быть настолько потрясающей. Это был далёкий 2000 год. Не счесть количество часов, потраченных на игру в сплитскрине за одной клавиатурой с моим двоюродным братом… Музыке — отдельное слово. Мне она настолько нравилась, что я даже записывал её на кассету, а с кассеты потом обратно на компьютер, при помощи стандартной «Звукозаписи». Это единственное что я тогда смог придумать. Слушал я эти записи по кругу по много часов подряд. MP3? Что это за странные буквы? Только WAV, только хардкор!

        И вот, годы спустя, мне захотелось сыграть в эту игру. Но она не заработала на современном железе. Пришлось разбираться. В процессе захотелось ещё и поддержку широкоформатных разрешений… и понеслась! Немного увлёкся этим делом, и в результате получился внушительный патч. Более 8000 строк на ассемблере, исписано 18 листов А4, огромный список изменений…
        Читать дальше →
      • Sound Keeper — предотвращает «засыпание» цифровых аудио-выходов SPDIF или HDMI

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

          Ранее для этих целей существовала одна программа с названием SPDIF Keep Alive. Но на мой взгляд она слишком тяжёлая для решения такой простой задачи: требует наличия фреймворка .NET, расходует слишком много памяти и процессорного времени. Поэтому я написал на C++ новую программу для решения проблемы.

          Читать дальше →
        • Advanced Locationbar для Firefox

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

            Locationbar² отлично демонстрирует это. Данное расширение добавляет в стандартную адресную строку возможность простым кликом по нужному сегменту URL подняться на несколько уровней вверх по структуре сайта, причём это «волшебное» поведение активируется только в том случае, если вести курсором мыши слева-направо от иконки типа соединения (можно рассматривать это как жест) или при нажатии Ctrl/Alt/Shift. Однако, кроме этого полезного изменения, как оказалось, Locationbar² ломает работоспособность доменов IDN — они отображаются в закодированном виде, а субдомен и вовсе целиком отбрасывается. Расширение не дорабатывается с 2011 года, со временем в нём возникли небольшие конфликты с новыми версиями Firefox, а автор расширения не выходит на связь.

            Пришло время сделать форк: встречайте Advanced Locationbar!
            Читать дальше →
          • В Miranda NG 0.95 появилась поддержка полноценных мета-контактов в ядре. Что дальше?

              Прошло уже почти 2 года, как основные разработчики Miranda IM перешли в форк Miranda NG. С тех пор Miranda IM практически не развивается, а вот Miranda NG медленно, но верно идёт вперёд. В начале 2014 года вышла версия 0.94 с поддержкой шифрования в ядре, а совсем недавно вышел релиз 0.95, где была реализована полноценная поддержка мета-контактов взамен костылю, который годами использовался ранее. Теперь у каждого контакта своя история, а у мета-контакта — общая история без дублирования записей в базе.
              Читать дальше →
            • Эмуляция Денди. Nestopia с поддержкой нового расширения ZNS (Zipped NES)

                Вам ничего не напоминает этот скриншот? Сомневаюсь. Китайские друзья постарались на славу — уверен, что большинство из вас сейчас вспоминает свой первый картридж для Денди. На картридже было несколько простых игр, которые приедались в первый же день. Но вы ведь помните это меню с красивыми видами на каждой странице, приятной музыкой и даже небольшим романтическим сюжетом? Да, черт возьми, вы помните! В Денди играл наверное каждый ребенок в этой стране. Мы часами просиживали за экранами телевизоров, меняли картриджи один за другим и нам было совсем не важно, что это какой-то пиратский клон японской NES, и тем более не интересно, почему в играх на наших картриджах затерты все копирайты. Кто-нибудь тогда вообще понимал что это такое? =)
                Сегодня совершенно нет необходимости покупать эту приставку, чтобы вспомнить все и заново пройти Super Mario или Contra. Существует армия эмуляторов на любой вкус и цвет, дампы практически всех игр давно доступны в сети. Каждый уважающий себя эмулятор умеет открывать игры прямо из архивов. Это очень удобно, ведь чаще всего дампы игр распространяются именно в сжатом виде. Только вот есть одна неприятность — связывать напрямую с программой расширение .zip достаточно глупо, а хотелось бы запускать игры из архивов одним кликом. Поэтому я предлагаю для сжатых NES файлов использовать расширение ZNS (Zipped NES).
                Читать дальше →
              • Избавляемся от www в адресе сайта

                  Универсальное решение проблемы постоянных редиректов на домен без www при помощи mod_rewrite. Просто и полезно. Работает на любом домене без необходимости править для каждого сайта. Ранее на хабре видел подобное, но без независимости от доменного имени.
                  В корень бросаем файл .htaccess со следующим содержимым:
                  <IfModule mod_rewrite.c>
                  RewriteEngine On
                  RewriteBase /
                  # В переменную окружения %{ENV:PROTOCOL} помещаем протокол
                  RewriteRule ^(.*)$ - [E=PROTOCOL:http]
                  RewriteCond %{HTTPS} ^on$ [NC]
                  RewriteRule ^(.*)$ - [E=PROTOCOL:https]
                  # Если нужно убираем www
                  RewriteCond %{SERVER_PORT} ^80$
                  RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
                  RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
                  RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
                  RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
                  </IfModule>