С сожалением и прискорбием могу отметить, что начиная с 2011 года google стремительно и неуклонно катится в говно. Google Apps стал глючить иногда почаще говноэса - почта то уходит, то приходит, то не пересылается нужным людям, google reader превратился в такое ублюдство, что пришлось купить greader, причем ублюдством стала (убрали нужные функции!) как android так и web версия ридера. Android market блядь запрашивает мои личные данные и, блядь, не принимает их, для оплата всякого говна при помощи кредитной карты! Из google adsense внезапно и безповоротно удален мой аккаунт, на котором, слава Великому Макаронному монстру, денег не было, причем удален под предлогом "смены механизма аккаунтов" или какого-то подобного говна, которое даст фору даже вебманям по глубине своей дибильности. Техподдержки у гугла нет. В ближайшие два года буду вынужден уйти с гугла к ёбаной матери. Впрочем, может оно и к лучшему. Параноик внутри меня говорит, что это кто-то дает знак что гугля под жосским колпаком, а все мои сообщения читают сомалийские пираты.
Я тут подумал и решил открыть на своем оффициальном™ блоге список компаний, услугами которых я никогда не буду пользоваться. Почему? Все просто - они звонят и отвлекают меня от работы. А я не то что не люблю. Я НЕНАВИЖУ когда меня отвлекают. Вот и сейчас. Звонит. Говорю не надо спасибо, мне не нужен ваш спам. И нет чтобы положить трубку, нет, блядь. Мне продолжают доказывать как мне охуенно нужен консультант++, хотя на работе и так уже есть один. В общем, я буду вести отдельную колоночку и прилагать все усилия, чтобы ни одна из организаций, с которыми я имею дело, услугами этих компаний не пользовалась. Ту, которая сейчас звонила, не запомнил, но не первая и не последняя же. Все такие компании будут находиться в категории под названием "Чёрный список". В первую очередь чтобы я сам не забыл.
Странное неочевидное для меня решение с англоязычного форума.
sudo nano /etc/nsswitch.conf file
search for the line starting with hosts (my line was like this "hosts: files dns")
add "wins" to the line ("hosts: files dns wins")now ping netbios name should also work from the linux pcs
После этого можно использовать netbios имена вместо ip из-под линукса:
$ ping FF6E8234
PING FF6E8234 (192.168.1.101) 56(84) bytes of data.
^C64 bytes from 192.168.1.101: icmp_req=1 ttl=128 time=0.166 ms
А как вытянуть из этого всего искомый IP-адрес мне уже не надо, а вы наверное лучше меня сделаете. Если не лень - потом допишите в комментарии. Спасибо.
Может случиться, если вы заставили sshd крутиться на нестандартном порту и забыли, а на роутере пробросили порт 22. Второй раз у��е, блядь. Второй. Третьего не повторится.
На дворе 21 век, а функцию двунаправленной обратимой транслитерации на основе ГОСТ 16876-71 я так и не нашел! Поэтому написал собственную.
<?php
/**
* Функция обратимой транслитерации на основе ГОСТ 16876-71
* @author http://space1000.zxcv.one
*/
function translit_url($text,$decode = false)
{
// Split text into array of unicode chars.
preg_match_all('/./u', $text, $text);
$text = $text[0];
$simplePairs = array(
'а' => 'a' , 'л' => 'l' , 'у' => 'u' ,
'б' => 'b' , 'м' => 'm' , 'т' => 't' ,
'в' => 'v' , 'н' => 'n' , 'ы' => 'y' ,
'г' => 'g' , 'о' => 'o' , 'ф' => 'f' ,
'д' => 'd' , 'п' => 'p' ,
'и' => 'i' , 'р' => 'r' ,
'А' => 'A' , 'Л' => 'L' , 'У' => 'U' ,
'Б' => 'B' , 'М' => 'M' , 'Т' => 'T' ,
'В' => 'V' , 'Н' => 'N' , 'Ы' => 'Y' ,
'Г' => 'G' , 'О' => 'O' , 'Ф' => 'F' ,
'Д' => 'D' , 'П' => 'P' ,
'И' => 'I' , 'Р' => 'R' ,
);
$complexPairs = array(
'ж' => 'zh' , 'ч' => 'ch' , 'х' => 'kh' ,
'з' => 'z' , 'ц' => 'c' , 'к' => 'k' ,
'я' => 'ja' ,
'щ' => 'shh' , 'ю' => 'ju' ,
'э' => 'eh' , 'ш' => 'sh' , 'й' => 'jj' ,
'е' => 'e' , 'с' => 's' , 'ё' => 'jo' ,
'Ж' => 'ZH' , 'Ч' => 'CH' , 'Х' => 'KH' ,
'З' => 'Z' , 'Ц' => 'C' , 'К' => 'K' ,
'Я' => 'JA' ,
'Щ' => 'SHH' , 'Ю' => 'JU' ,
'Э' => 'EH' , 'Ш' => 'SH' , 'Й' => 'JJ' ,
'Е' => 'E' , 'С' => 'S' , 'Ё' => 'JO' ,
'Ь' => "^'" , 'Ъ' => "^`" ,
'ь' => "'" , 'ъ' => "`" ,
);
$specialSymbols = array(
"_" => "__",
"-" => "_-",
"'" => "_'",
"`" => "_`",
"^" => "_^",
" " => "-",
);
$translitLatSymbols = array(
'a','l','u','b','m','t','v','n','y','g','o',
'f','d','p','i','r','z','c','k','e','s',
'A','L','U','B','M','T','V','N','Y','G','O',
'F','D','P','I','R','Z','C','K','E','S',
);
$simplePairsFlip = array_flip($simplePairs);
$complexPairsFlip = array_flip($complexPairs);
$specialSymbolsFlip = array_flip($specialSymbols);
$charsToTranslit = array_merge(
array_keys($simplePairs),
array_keys($complexPairs)
);
$translitTable = array();
foreach($simplePairs as $key => $val) $translitTable[$key] = $simplePairs[$key];
foreach($complexPairs as $key => $val) $translitTable[$key] = $complexPairs[$key];
foreach($specialSymbols as $key => $val) $translitTable[$key] = $specialSymbols[$key];
$result = "";
if($decode)
{
$char = array();
$translitDisabled = false;
for($pos = 0; $pos < count($text); $pos++)
{
$char[0] = $text[$pos];
$char[1] = isset($text[$pos+1]) ? $text[$pos+1] : null;
$char[2] = isset($text[$pos+2]) ? $text[$pos+2] : null;
// Decoding specsymbols: [_-'`^ ]
foreach($specialSymbolsFlip as $key => $val)
{
$search = "";
for($j = 0; $j < strlen($key) ; $j++) $search.= $char[$j];
if($search == $key)
{
$result.= $val;
$pos += strlen($key) - 1;
continue 2;
}
}
// Lone '_' symbol disables or enables translitting.
if($char[0] == '_')
{
$translitDisabled = !$translitDisabled;
continue;
}
// When translit is disabled, simply add char to result.
if($translitDisabled)
{
$result.= $char[0];
}
else
{
if(in_array($char[0],$simplePairs))
{
$result.= $simplePairsFlip[$char[0]];
continue;
}
foreach($complexPairsFlip as $key => $val)
{
$search = "";
for($j = 0; $j < strlen($key); $j++) $search.= $char[$j];
if($search == $key)
{
$result.= $val;
$pos += strlen($key) - 1;
continue 2;
}
}
// if nothing up worked
$result.= $char[0];
continue;
}
}
}
else
{
$translitDisabled = false;
foreach($text as $char)
{
if(in_array($char,array_keys($specialSymbols)))
{
$result.= $translitTable[$char];
}
elseif(in_array($char,$charsToTranslit))
{
if($translitDisabled)
{
$result.= "_";
$translitDisabled = false;
}
$result.= $translitTable[$char];
}
else
{
if(!$translitDisabled
&& in_array($char,$translitLatSymbols))
{
$result.= "_";
$translitDisabled = true;
}
$result.= $char;
}
}
}
return $result;
}
Есть такая штука, называется ингалятор махольда. Весьма полезная. Последний раз я покупал его где-то год назад по смешной цене в 100 рублей, выздоровел и подарил болеющему знакомому. Уже тогда его было трудно найти, но я не придал этому факту значения. А зря. Сейчас его цена взлетела аж до 1600руб. Почему? Все просто - эффективные миньетжеры придумали продавать их "с наборами эфирных масел", которые нахуй никому не вперлись. И для каждого разумного мыслящего человека очевидно, что набор этих самых масел стоит от силы рублей 300, если туда вообще не нассали. Надеюсь я еще найду нормальный ингалятор махольда без торсионных масел, а тех кто поднял стоимость со 100 руб. до 1600 очень хочется послать на хуй. Чтоб вы сдохли. И дети ваши и родители и никто вам не помог. Я бы лично и с радостью пришел поссать на вашу могилу. Проблем вам, ребята. И чем больше тем лучше. Рака, СПИДа, коклюша, в конце концов.
А я ушел искать ингалятор по нормальной цене.
Маньяк отравленные деньги
На счёт детдома перевёл.
Погибло двадцать депутатов,
Два мэра и один префект.
Раскопал свой старый годовалой давности фреймворк под php. Потыркался в него, понял почему идея классная, но не взлетит. А дело все в том, что php сам по себе язык скриптовый, а apache сам по себе такой сервер. И любые надстройки над этим всем будут выглядеть громоздко и уродливо. Если хочется фреймворков - надо ставить Node.JS и под него писать. И гораздо лучше использовать инструменты в их традиционном способе выполнения. Пускай даже с недостатками. Сделать из топора бензопилу в любом случае не получится. Лучше уж научиться хорошо пользоваться топором (а там есть свои нюансы).
Стандарт LSB предполагает, что в /opt устанавливаются все программные пакеты, которые не управляются пакетным менеджером.
Прим: таким как aptitude или yum.
http://unixforum.org/index.php?showtopic=83650
Был у меня оригинальный диск с драйверами для HP LaserJet 1200 PCL series, а потом я его просрал. А потом переустановил. И полезло из принтера говно вместо текста. Вместо драйверов на сайте hp.ru невнятная каша с говном, где выбрать что-либо адекватное с первого раза возможным не представляется, а если и скачаешь, то установщика там не будет (пичалька). Ну и в общем, починил я кое-как это говно, зайдя в настройки принтера и выставив там вместо "Использовать встроенные шрифты", "Использовать загружаемый шрифт". Казалось бы, проблема решена. А вот хуй! Говноэс новейшей версии не дремлет! Он сбросит нахуй все ваши настройки печати для принтера, ведь испортить вам (и мне) жизнь - основное, если не единственное назначение этого ёбаного казахского поделия. После долговременно-продолжительной ебли, выяснилось:
Помимо основных настроек в панели управления принтерами говнофорточек есть также еще одна сраная, тщательно запрятанная поебень, из которой говноэс и вытаскивает косячные настройки написанные ублюдками из эйч-пи. Собственно, вот эта ёбаная дрянь:

Если там донастроить, то говно перестанет дурно пахнуть.