ash bash root nash
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/286478.html
Прокомментировать заметку можно по ссылке выше.
ash bash root nash
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/286478.html
Прокомментировать заметку можно по ссылке выше.
Мини-совет для Windows, но поскольку средство для работы (в т.ч. и удаления) метаданных кросс-платформенное, то инструкция будет не сильно и отличаться.
1. Качаем утилиту ExifTool отсюда. Она бесплатная, может обрабатывать файлы пакетом, для начинающих пользователей есть один минус — это утилита командной строки.
2. Распаковываем архив, переименовываем файл exiftool(-k).exe в exiftool.exe и копируем/переносим его в C:Windows или любой другой каталог, который указан в переменной окружения PATH. Кому лень — качаем отсюда самораспаковывающийся архив, в котором уже все переименовано, и распакуется он в директорию, куда установлена Windows. Для этого потребуются права администратора.
3. Команда для удаления всех EXIF-данных такая:
exiftool -all= -overwrite_original *.jpg
где:
exiftool — имя нашей программы
-all= — удаляем все данные
-overwrite_original — перезаписать оригинальные файлы
*.jpg — обработаны будут все файлы JPG из данного каталога (т.е. если надо обработать PNG, то вместо *.jpg надо написать *.png)
Команду выполняем из Far’а или командной строки в каталоге с изображениями.
Вот более подробная инструкция по использованию ExifTool.
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/282661.html
Прокомментировать заметку можно по ссылке выше.
Пишет Панкарь, тащемта:
***: Встретил вчера нашего бывшего клиента, он говорит, сгорел блок питания. [ATX самый обыкновенный, прим. мое] Пошел в магазин, ему продали новый за 2500, а в прошлом он такие же видел за 800. Спрашивает, не наебали ли меня. Я ответил, не не наебали. Новости смотришь? Курс доллара видишь? Блоки питания где производятся знаешь? И под чьими брендами? Вот. Зато Крым ваш. Утритесь.
Плюнул и пошел дальше. Чел остался щелкать ебалом на улице.
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/281898.html
Прокомментировать заметку можно по ссылке выше.
Прослушать или скачать The Dartz Полюбила программиста бесплатно на Простоплеер
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/281080.html
Прокомментировать заметку можно по ссылке выше.
за не с глаголом просьба неругать
пробелсукаглючитблять!
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/278488.html
Прокомментировать заметку можно по ссылке выше.
Вот хипста-дизайнеры wos’а мудаки то.
Есть хорошая статья, но читать ее невозможно совершенно из-за мельтешащего на краю зрительного поля изображения, а еще блять сайт, на котором кроме текста вообще нихуя толком нет, который блять информационный ресурс, и текст там, епта, основное, не работает без JS.
Медицинские дебилы. Хуже, блять, просвиньина.
Если вы когда-нибудь будете делать сайт — не делайте его так, пусть говна в мире будет поменьше.
UPD: оно все-таки потом съебало с экрана, но осадок остался.
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/275518.html
Прокомментировать заметку можно по ссылке выше.
Проблема при использовании Vegas, с которой ко мне обращалось несколько пользователей, была в том, что выходной видеофайл, даже при небольшой продолжительности, получался довольно солидных размеров. Например, даже двухминутный ролик занимал около 400 Мб.
Vegas имеет довольно много возможностей для регулирования параметров сжатия видео, а соответственно для настройки размера и качества. Однако, начинающему пользователю довольно сложно разобраться во всем зоопарке кодеков, форматов и их настроек. Поэтому ниже я представлю быстрый, буквально в два клика, метод получения качественного, и в то же время небольшого видеофайла. Может быть способ не совсем «академичен» и «профессионален», но очень прост. В меню Файл выбираем пункт меню Создать как
В появившемся окне достаточно выбрать при создании ролика формат MainConcept AVC/AAC (mp4) со встроенным шаблоном.


Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/273342.html
Прокомментировать заметку можно по ссылке выше.
Кавер на Супер Марио, выкладываю специально для прекрасного
negandtiv@ljr, бо в тему его .
Я так думаю, оно или опенсорсное, или за давностью лет из интернетов про… терялось, потому против никто не будет. Скачать (EXE Installer) [3 Mb]
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/272046.html
Прокомментировать заметку можно по ссылке выше.
Прямая ссылка
Текстовая версия совета
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/271548.html
Прокомментировать заметку можно по ссылке выше.
Специально для Тихого Лехи который забыл пароль
Скачать [PDF, 355 Kb]
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/271317.html
Прокомментировать заметку можно по ссылке выше.
Превращение элементов панелей в окна и наоборот.
Особенности перемещения окон и панелей
Любому пользователю Windows, который пользовался любимой многими Фотошопой 😉 понятно — перетаскиваешь окошко внутри программы Read more… на панель, оно становится частью панели, тянешь за заголовок — опять отдельное окошечко. Но дизайнеры интерфейса Sony поступили нестандартно — окошечко прикрепить к области экрана/панели можно также, но на дергание заголовка окно уже не реагирует.
С этой проблемой обратилась ко мне в письме одна девушка, и попросила решить ее.
Так вот, отвечаю, чтоб открепить окно, т.е. окно опять стало отдельным окном, а не частью панели, надо тащить окно за следующий элемент управления с левой стороны области панели:

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/270848.html
Прокомментировать заметку можно по ссылке выше.
Продолжаем модифицировать скрипт, точнее ответить на вопрос:
Q: Можно ли объединить первую и последнюю версию скрипта, чтоб без параметра скрипт проверял IP, передаваемый сервером, а если указан параметр GET — переданный в параметре IP?
A:
Да, и опять же довольно просто. Надо лишь условие проверки переменной модифицировать соответственно. Условие у нас было:
//проверка наличия переменной
if (!isset($_GET['ip'])) {
echo 'ERROR|NOT DATA'; //не нашли - вывели сообщение об ошибке и прекратили работу
die();
}
Модифицируем условие следующим образом:
$ip="";
//проверка наличия переменной
if (isset($_GET['ip']))
{
$ip=$_GET['ip'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
Сначала инициализируем переменную $ip, далее проверяем, если в запросе GET есть параметр ip, то его значение присваиваем переменной $ip, иначе берем ее значение из $_SERVER['REMOTE_ADDR'];
Далее, все как в 3 серии
Скачать можно здесь, Посмотреть как работает — здесь.
Картинки — такие же как и в предыдущих выпусках. Посему дублировать не буду.
Предыдущая серия Окончание
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/269411.html
Прокомментировать заметку можно по ссылке выше.
Вот анон задает справедливый вопрос, до которого из парней догадался лишь умник-Ильюша, четырнадцатилетний переросток из Харькова. Из девок — никто.
Итак.
Q: Что будет, если нашему скрипту подсунуть валидный ip, но не с какой точки зрения смысла не имеющие: адреса частных сетей, адреса для «обратной петли» (LOOPBACK)
A: Будет нечто некрасивое: в геобазе закономерно нет частных ip, коих одинаковых миллионы на Земле, но вообще разработчики, конечно, недоработали. Надо штатный ответ на такой запрос.
Т.е. если просто передать частный IP геобазе, то она выдаст что-то типа такого:

0.0.0.0 - 0.255.255.255, заодно это закрыло дырку в регулярном выражении (пропускались конструкции вида 1.1.1.1.1). Надо было бы подправить регулярку, но мне влом, кто хочет — помогите и подправьте. Дам я вам за это ничерта, спасибо скажу только лишь.
$ip_pattern="#(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)#";
function chkdiapip ($user_ip, $ip_from, $ip_to) //попадает ли ip в нужный диапазон
{
return ( ip2long($user_ip)>=ip2long($ip_from) && ip2long($user_ip)<=ip2long($ip_to) );
}
function get_spec_diap ($user_ip) //определение, попал ли IP в специальный диапазон
{
$ret=1;
//Частные IP
if (chkdiapip ($user_ip,'10.0.0.0','10.255.255.255'))
{
$ret="WRN|IP PRIVATE ADDRESS 10.0.0.0-10.255.255.255";
return $ret;
}
if (chkdiapip ($user_ip,'172.16.0.0','172.31.255.255'))
{
$ret="WRN|IP PRIVATE ADDRESS 172.16.0.0-172.31.255.255";
return $ret;
}
if (chkdiapip ($user_ip,'192.168.0.0','192.168.255.255'))
{
$ret="WRN|IP PRIVATE ADDRESS 192.168.0.0-192.168.255.255";
return $ret;
}
//Wrong IP
if (chkdiapip ($user_ip,'0.0.0.0','0.255.255.255'))
{
$ret="WRN|IP WRONG ADDRESS 0.0.0.0-0.255.255.255" ;
return $ret;
}
//IP LOOPBACK
if (chkdiapip ($user_ip,'127.0.0.0','127.255.255.255'))
{
$ret="WRN|IP LOOPBACK ADDRESS 127.0.0.0-127.255.255.255";
return $ret;
}
return $ret;
}
//проверяем, не попал ли IP в особый диапазон
$check_diap = get_spec_diap($ip);
if ($check_diap!=1)
{
echo "IP|".$ip."n";
echo $check_diap;
die();
}
die();
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/269169.html
Прокомментировать заметку можно по ссылке выше.
В формате CSV, только двухбуквенные, разделитель «;»:
Afghanistan;AF и т.д.
Aland Islands;AX
Качать здесь
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/268848.html
Прокомментировать заметку можно по ссылке выше.
Мне сегодня в почту поступило довольно закономерных вопросов от моих читателей.
Итак, отвечаю
Q: Как модифицировать скрипт, чтоб можно было проверить любой IP, который захочется задать?
A:
Очень просто. Достаточно передать скрипту нужный IP (здесь я сделаю это с помощью метода GET)Сначала модифицируем скрипт таким образом:
После
// Подключаем SxGeo.php класс
include("SxGeo.php");
Вставляем код проверки наличия соответствующей переменной GET пусть у нас она будет ip
//проверка наличия переменной
if (!isset($_GET['ip']))
{
echo 'ERROR|NOT DATA'; //не нашли - вывели сообщение об ошибке и прекратили работу
die();
}
Далее, нам потребуется проверить IP на валидность, мало ли что нам в GET сунули.
Я обычно организую вначале файла «Область функций», хотя с точки зрения PHP это необязательно, но мне так удобно.
После
//Область заголовков
header('Content-type: text/plain; charset=utf8');
Добавляю функцию проверки IP на валидность
// ---------Область функций ---------
function isip($ip_str) //проверка соответствия данных формату IP
{
$ip_pattern="#(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)#";
$ret=FALSE;
if (preg_match($ip_pattern,$ip_str))
{
$ret=TRUE;
}
return $ret;
}
// ---------Конец области функций ---------
Далее, после проверки наличия переменной, вставляем проверку на валидность IP
$ip=$_GET['ip'];
// проверка на соответствие формату
if (!isip($ip))
{
echo 'ERROR|NOT IP'; //не IP - вывели сообщение об ошибке и прекратили работу
die();
}
Далее, все как в предыдущей серии. Создаем объект SxGeo и скармливаем ему айпишник, да выводим данные в удобной форме.
Скачать можно здесь, Посмотреть как работает — здесь. Для примера в ссылку вставлен IP прокси анончика из комментария к предыдущей заметке.



Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/268782.html
Прокомментировать заметку можно по ссылке выше.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/267835.html
Прокомментировать заметку можно по ссылке выше.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/267742.html
Прокомментировать заметку можно по ссылке выше.
Ну и байка о ее появлении, заодно:
Идет экзамен по странному и ненужному предмету «История Информатики и ВТ», сдает студент, который ессно, нихрена не знает:
Препод: «Ладно, ответите на вопрос, поставлю вам 3. Вопрос очень простой. Как звали первую известную в истории женщину программистку»?
Студент: «Ада, Ада точно. В ее честь язык программирования назвали…»
Препод: «Ну а фамилия»?
Студент (пыхтя минут 5 и напряженно думая): «О! Легалайз! Точно! Ада Легалайз!»
Занавес.
ЗЫ. Когда-то давно рассказал Панкарь, на моем курсе не повторялось.
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/267324.html
Прокомментировать заметку можно по ссылке выше.
В сети по этому поводу довольно много материала, но я расскажу как это сделал я.
Понадобилось мне написать серверный back-end к одной программе (о ней я при случае расскажу позже), определающей ip клинта и его местоположение.
Задачи определить, сидит ли клиент через неанонимный прокси не было. Если кого-то интересует этот момент, рекомендую статью [Скачать PDF]
Итак, для определения IP нам понадобится собственно IP клиента, который нам обычно любезно предоставляет сервер в переменной $_SERVER['REMOTE_ADDR'] (о других случаях где можно если нужно искать IP — смотрите вышеуказанную статью).
Теперь о б определении местоположения по IP. Для сего действия необходима база геолокации (база, где сопоставлены диапазоны IP и страны, опционально города). Такие базы бывают платные/бесплатные, автономные (можно унести себе на сайт) и не автономные (сидят у кого-нибудь на сервере и выдают информацию по запросу) и т.д.
Для моей задачи нужна была автономная и бесплатная БД. Я воспользовался SxGeo: статья о ней на Хабре, Еще одна и сайт проекта.
Там все довольно просто. Скачиваем нужные базы, скрипт, который ими управляет, ставим на сайт. В комплекте есть небольшой пример.
Чтобы не тыкать по ссылкам, я собрал все в один архив, который можно скачать здесь
А теперь скрипт. Моя задача была небольшая, потому мне хватило просто изменить скрипт примера:
// Переделано из примера [8^12]
header('Content-type: text/plain; charset=utf8');
// Подключаем SxGeo.php класс
include("SxGeo.php");
// Создаем объект
// Первый параметр - имя файла с базой (используется оригинальная бинарная база SxGeo.dat)
// Второй параметр - режим работы:
// SXGEO_FILE (работа с файлом базы, режим по умолчанию);
// SXGEO_BATCH (пакетная обработка, увеличивает скорость при обработке множества IP за раз)
// SXGEO_MEMORY (кэширование БД в памяти, еще увеличивает скорость пакетной обработки, но требует больше памяти)
$SxGeo = new SxGeo('SxGeoCity.dat');
//$SxGeo = new SxGeo('SxGeoCity.dat', SXGEO_BATCH | SXGEO_MEMORY); // Самый производительный режим, если нужно обработать много IP за раз
1. Выдаем нужный заголовок, подключаем основной скрипт SxGeo.php
2. $ip = $_SERVER['REMOTE_ADDR']; — получаем IP клиента, и записываем информацию в переменную $ip
3. $add_info = $SxGeo->getCityFull($ip); // Вся информация о городе — передаем IP объекту
$main_info = $SxGeo->get($ip); // Краткая информация о городе или код страны (если используется база SxGeo Country)
SxGeo, записываем всю полученную информацию в переменные $main_info и $add_info (соответственно, основную и дополнительную информацию)
3. Выводим данные в удобном для дальнейшей обработки виде:
echo "IP|".$ip."n";
echo "ISO_CODE|".$main_info['country']['iso']."n";
echo "CITY|".$main_info['city']['name_en'].'|'.
$main_info['city']['lat'].'|'.
$main_info['city']['lon']."n";
echo "COUNTRY_INFO|".$add_info['country']['name_en'].'|'.
$add_info['country']['lat'].'|'.
$add_info['country']['lon']."n";
echo "REGION_INFO|".$add_info['region']['iso'].'|'.
$add_info['region']['name_en']."n";
Посмотреть, как работает скрипт, можно на HexProject, скачать его здесь, а пакет из необходимых баз, скрипта API SxGeo и вышеуказанного скрипта здесь

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/267126.html
Прокомментировать заметку можно по ссылке выше.
Оказывается, до сих пор у некоторых возникает вопрос — как заставить FAR распаковывать и запаковывать ZIP-архивы. Открываются они и так. Способов есть много разных и все они гуглятся, кроме (бля!) самого простого. Достаточно скачать соответствующую консольную утилиту PKZIPC и положить ее в какой-то каталог, который прописан в переменной PATH. Если у вас винда, FAR, лень добавлять каталог в PATH, и вообще лень заморачиваться — то вот вам готовое решение. Качаете этот архив и копируете единственный содержащийся в нем файл в C:Windows и все работает.
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/262177.html
Прокомментировать заметку можно по ссылке выше.