• Раздача домашнего спутникового ТВ в сеть

    Статья предназначена для тех у кого дома есть спутниковое телевидение, один тюнер и большего одного телевизора.
    Я давно хотел решить у себя дома одну проблему, а именно как смотреть смутниковое ТВ на телевизоре который не подключен на прямую к спутниковому ресиверу. Стандартная ситуация: есть основной ТВ в зале который подключен с спутниковому ресиверу HDMI кабелем и есть телевизор на кухне и в спальне к которым подведен или ethernet или wifi.

    «Из коробки» возможность трансляции (стриминга) картинки в сеть есть в ресиверах DreamBox, но они стоят существенно дороже аналогов. Платформа которая умеет стритмить называется Enigma и кастомные прошивки на ее основе доступны для очень большого количества спутниковых ресиверовв. В этой статье я расскажу как осуществить сабж на примере ресивера OpenBox S5.
    Читать дальше →
  • Как подружить xorg, vmware и 1080p

    Всем Привет!

    Предисловие

    После установки тестового стенда:
    root@:~# uname -a
    FreeBSD  9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Thu Sep 26 22:50:31 UTC 2013     root@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
    

    на виртуальную машину VMware 10.0.0 встала необходимость установки легкого оконного менеджера. Мой выбор пал в сторону openbox. Установка и «декор» последнего данная статья не охватывает, т.к в интернетах есть не плохие «рецепты». Здесь же я хочу выложить решение выхода из неприятного бага связанного с нежеланием xorg после установки vmware-tools правильно принимать нужное мне разрешение экрана. Возможно этот баг проявляется и в других unix-о подобных системах (кстати там я выложил это же решение ).

    Решение
    Читать дальше →
  • Vmware workstation и масштабирование системы

    По роду деятельности мне необходимо запускать большое количество различных приложений в разных виртуальных машинах в режиме бесшовной интеграции рабочего стола (unity mode в vmware, seamless mode в virtual box).

    Вообщем задача такая:
    Надо запускать 25-30 виртуальных машин в режиме аналогичном unity mode каждая из которых дает приличную нагрузку на процессор.
    При этом аппаратная часть должна быть более менее транспортабельной — я много времени провожу в командировках и мне надо иметь возможность брать железо с собой.
    Читать дальше →
  • Моё маленькое удивление

    Все началось с заказа на фрилансе.
    Надо было сделать расширение в хром, которое бы добавило некий функционал на сайт.
    Этот сайт довольно плотно работает с API Яндекс.Карт 1.x, а именно: запросы к серверу на получения новых адресов и проложения маршрутов от пункта А к пункту Б.
    Посмотрел исходники скриптов и первое что удивило это

    	setTimeout(function(){
    		window.location=window.location;
    	},	30*60*1000);
    


    Ну Бог с ним… хозяин-барин!

    Читать дальше →
  • Баг или фича в Java: Вывод кириллических символов в консоль

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

    Базовые типы

    Их в Java 8:
    • boolean;
    • byte, char, short, int, long;
    • float, double.


    Char — это символьный тип данных. Переменная такого типа занимает 2 байта памяти, так как хранится в кодировке unicode.
    С переменными этого типа можно производить только операции присваивания, но зато различными способами. Самый простой из них выглядит так:
    c = 'b';
    Символ можно представить также в виде его кода, записанного в восьмеричной системе счисления:
    c = '\077';
    Где 077 – это обязательно трехзначное число, не большее чем 377 (=255 в десятичной системе счисления).
    Или же в шестнадцатеричной системе счисления следующим образом:
    c = '\u12a4';
    Кроме того, существуют специальные символы, такие как знак абзаца, разрыв страницы и др. Знак абзаца запишется, например, так:
    c = '\n';
    Не нужно перечислять их здесь. При необходимости всегда можно заглянуть в справочник.
    Читать дальше →
  • Судьба молодых программистов или тех, кто хочет ими стать

    Для начала о себе: я учусь в 10 классе, хочу стать программистом, пытаюсь заниматься разработкой (HTML5,CSS,PASCAL), но я абсолютно не представляю, как и куда мне поступать после окончания школы.

    А вообще — я представляю несколько вариантов развития событий (исключительно для себя):
    1.Усиленно учусь, добиваю свой мозг, но сдаю экзамены на >240 баллов в сумме и поступаю практически в любой вуз страны.
    2.Хорошо учусь, сдаю экзамены на 200 баллов в сумме и поступаю в местный технический вуз (ИжГТУ).
    3.Задвигаю экзамены и поступаю в ПТУ\Колледж\Техникум.

    Дальше я рассмотрю плюсы и минусы каждого из вариантов.
    Читать дальше →
  • Почему для работодателя может быть приемлема удаленная работа?

    Прочитал статью Удаленная работа — это не «фриланс» и решил высказать свое понимание того, почему работодатель может отказываться от предложения работника работать на него удаленно.
    Читать дальше →
  • Модуль отлова нецензурных слов на Qt

    Мой младший двоюродный брат постоянно матерился в Интернете.
    Так как в семье только я умею программировать, меня попросила его мать написать программу отлова матерных слов.
    Я помучался. Получилось весьма забавно…
    Читать дальше →
  • Защита информации как сервис

    Доброго времени суток, дорогие хабрчане. Сегодня я хочу написать свой первый топик, о том, какая идея меня посетила пару дней назад.

    Я являюсь Java разработчиком с 4-х летним стажем работы как Back-end Developer, и мысль о том, что нужно подымать свой StartUP ни как не могла покинуть меня… Да, я хотел (и сейчас хочу) иметь свой собственный стартап. Но! На какую тематику? С чем? И какая от него будет выгода и польза???

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

    image

    Что же это?
    Сегодня, мы всё чаще и чаще видим/слышим новости о распространении пиратского ПО, публичной шаре «лицензионной» информации (музыки, фильмов) и т. д… И очень часто страдает не то человек, который делает эту «шару», а ни в чем не виноват — владелец сайта. Как же с этим бороться? И как можно это все автоматизировать так, что бы не страдали обои стороны??? Как предотвратить «блокировку» сайта и «шару» данных?

    Так вот, для этой цели я и решил придумать проект, под названием CopyrightGuardian.
    Читать дальше →
  • Шифрование home директории средствами eCryptfs в Arch Linux

    Будем считать, что у Вас уже есть установленная система на базе Arch Linux и создан пользователь, домашний каталог которого мы будем шифоровать.
    Устанавливаем пакет eCryptfs:
    pacman -S ecryptfs-utils

    Далее заходим под учетной записью root (нужно выйти из учетной записи, для которой шифруем домашнюю папку), и загружаем модуль ядра:
    modprobe ecryptfs

    Не забываем добавить его в автозагрузку (создав новый конфигурационный файл):
    vim /etc/modules-load.d/ecryptfs-mod.conf
    Записываем в файл строку: ecryptfs
    Читать дальше →
  • PuPHPet — Online GUI для Vagrant и Puppet



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

    Наверняка многие из вас знакомы с Vagrant. А если — нет, то вам не помешало бы ознакомиться. Vagrant — это утилита, упрощающая развертывание рабочего окружения с помощью виртуальных машин.
    Читать дальше →
  • Уязвимость в веб интерфейсе Mail.ru Агента на сайте mail.ru

    Здравствуйте.

    Я расскажу про найденную xss уязвимость в веб интерфейсе Mail.ru Агента на сайте mail.ru.

    При авторизации и переходе на страницу «Входящие письма» в правом нижнем углу появляется окошко Mail.ru Агента.
    При отправке сообщения содержащего ссылку, например example.com через веб интерфейс агента, mail агент оборачивает его в тег <a/>:
    Читать дальше →
  • Вывод информации о подключенном USB устройстве

    Моей целью было создать приложение которое, смогло бы определять подключение и отключение USB-устройств (Флешки, внешние диски, телефоны, камеры и подобные устройства)

    Решил использовать C++ потому что он не тащит за собой объемных библиотек как например C# .NET ну и WinApi потому что потребляет мало ресурсов и есть функция отлова событий WM_*

    Моей целью является получить ID устройства (будь то принтер или флешка) в виде USB\Pid_XXXX&Vid_XXXX\Serial_number чтобы потом уже можно было работать с этим устройством через классы Win32_PnPEntity Win32_USBHub.

    Начало понятно, ловим сообщение WM_DEVICECHANGE и из него берем DBT_DEVICEARRIVAL ну или если устройство отключено то DBT_DEVICEREMOVECOMPLETE. А вот далее я не могу понять что делать как извлечь ID устройства и подобное?

    вот нашел кусок кода но к сожалению он действует только с CDROM
    Читать дальше →
  • Об полетах на околоземной орбите у себя дома перед монитором и как я это делал

    Иногда я вижу сны в которых летаю. И после прочтения топика О космической Доброте мне захотелось полетать на яву хоть и виртуально но с настоящими снимками со спутника ЭлектроЛ. Эта публикация о том как я это делал.
    Я написал программку которая берет за основу снимки с космоса и отображает их на шар.
    Готового алгоритма преобразования изображения со спутника на землю не смог найти, хотя долго искал, поэтому сделал свой.
    Читать дальше →
  • Документация, которая всегда под рукой

    Сейчас, иметь хорошую скорость интернета становится не роскошью, а стандартом. По любым вопросам, связанным с разработкой, мы лезем в Google или Яндекс. Многие пользуются гитхабом и находят решения, которые кто-то уже использовал в своих проектах. Ну и конечно же практически все смотрят значения тех или иных функций в API, так как там расположена зачастую расположена самая свежая информация по языку или технологии. Но что делать, когда интернета под рукой, а посмотреть значение той или иной функции необходимо? На помощь приходит Zeal.

    image
    Читать дальше →
  • Апгрейд Blitz Templates для PHP


    Всем привет, хочу поделится своей наработкой, которой сам пользуюсь уже 2 года.
    Это апгрейд для Blitz Templates.

    Апгрейд позволяет итерировать блоки сквозь связанные шаблоны, используя инструменты Blitz.
    Очень удобно!
    Перед тем как рассказать об апгрейде напишу немного о Blitz Templates.
    Blitz Templates — это шаблонизатор, на мой взгляд не проблемный, то есть не доставляет каких либо не удобств при чтении готового шаблона.
    Все просто понятно и лаконично. Минимум инструментов которые покрывают все возможные и не возможные задачи в шаблонизациях.
    Вообщем кроме простаты ни чем не отличается от других.
    2 года назад у меня появилась идея почему бы его не научить итерировать сквозь связанные шаблоны.

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

    Вот как бы мы собирали к примеру такие шаблоны:

    Шаблон: tp1.blitz
    {{ BEGIN block }}hello {{ $body }} {{ END }}


    Шаблон: tp2.blitz
    {{ BEGIN block }} {{ $name }} {{ END }}


    Без апгрейда:
    	$tp1 = new Blitz('tp1.blitz');
    	$tp2 = new Blitz('tp2.blitz'); // приходится в ручную создавать еще один инстанс Blitz
    	$tp2->block('/block',array(array('name'=>'Петя', array('name'=>'Вася')));
    	$tp1->block('/block',array(array('body'=>$tp2->parse()))); // опять же в ручную, вставляем результат метода parse
    	echo $tp1->parse();
    


    С апгрейдом:
    	$tp1 = new myBlitz2('tp1.blitz');
    	// А здесь уже сразу связываем два шаблона одной строкой
    	// Инстанс создается но уже не вручную, а внутри апгреда автоматически.
    	$tp1->block('/block/body[tp1.blitz]/body',array(array('name'=>'Петя', array('name'=>'Вася')));
    	echo $tp1->parse();
    


    Хочу заметить что ограничений на вложенности шаблонов такого рода '/block/body[tp1.blitz]/body' нет,
    что еще больше сократит ваш код.

    Если кого за интересовал апгрейд пишите вышлю.
    Или с разрешения модераторов размещу ссылку здесь (повторных ошибок совершать не хочу).
  • Как установить Visual Studio 2013 БЕЗ Internet Explorer 10

    Как некоторые из вас уже могли заметить, новенкий Visual Studio 2013 не устанавливается без IE10. Это по меньшей мере не удобно, а в некоторых случаях просто шоу стопер. В моем случае было именно так: хотел установить на корпоративном компе, а IE10 ставить нельзя (да и очень не хочется).
    Читать дальше →
  • Авторизация на сайте с помощью файлов, или мой велосипед

    Здравствуй, $username.

    Программируя на PHP, меня очень беспокоил вопрос защиты хотя бы тех данных, по которым мы работаем с пользователями, я имею, введу данные для авторизации на сайте. И, по-моему, не важно, что за сайт, с которым работает пользователь, будь то соц. сеть, блог, браузерная игра или интернет-банкинг, защита данных, а особенно данных для авторизации пользователя есть первоочередной задачей для разработчика. Анализируя способы защиты учетных данных я пришел к выводу что, используя какой-то один способ практически невозможно защитить пользователя. Поэтому я решил «построить велосипед» и сделать систему авторизации с помощью логина (имейла), пароля и ключ-файла.
    Читать дальше →
  • Что такое математические способности и как их развить?

    Недавно потерпев очередное поражение в математике задался вопросом: что же все таки такое математические способности? О каких именно свойствах человеческого мышления идет речь? И как их развить? Потом решил обобщить этот вопрос и сформулировать его следующим образом: что такое способности к точным наукам? что в них общего и в чем их отличие? чем отличается мышление математика от мышления физика, химика, инженера, программиста итд. В интернете не было найдено практически никаких вразумительных материалов. Единственное, что понравилось — это эта статья про то существуют ли какие-нибудь специфические способности к химии и связаны ли они со способностями к физике и математике.
    Хотелось бы спросить мнение читателей. А ниже я изложу свое субъективное виденье проблемы.
    Читать дальше →
  • Как убрать кнопки-закладки в TabControl

    Иногда возникает необходимость сделать так, чтобы в определённом месте формы показывались то одни, то другие элементы интерфейса. Если логика показа задаётся пользователем, решение очевидно — вешаем TabControl, и пусть себе переключается между закладками.
    Однако, иногда требуется, чтобы логика переключения целиком управлялась программой — это создание мастеров (которые визарды), это создание форм, отражающих состояние процесса, это разнообразные фильтры данных и прочее.
    Конечно, кнопки-закладки тогда требуется скрыть.
    Читать дальше →