Статьи по меткам ‘Unix’

20 лет первому посту о Linux :)

Сентябрь 1st, 2011

Перепечатано с BugTraq:

25 августа 1991 года в 20:57:08 GMT некий студент из Хельсинки с адресом torvalds@kruuna.helsinki.fi отправил в конференцию comp.os.minix сообщение под заголовком «What would you like to see most in minix?», в котором рассказал, что пишет бесплатную операционную систему, свободную от кода minix (чисто хобби, не будет такой большой и профессиональной, как gnu), в которой уже вроде работают bash 1.08 и gcc 1.40, но нет переносимости, и вряд ли когда-нибудь она будет работать с чем-то помимо ATшных винчестеров.

От себя: Читая этот блог, вы читаете его с Linux сервера :) Неплохая бесплатная операционнная система получилась! ;-) Что уж говорить про Linux-ы Google

SSH Telnet под Windows

Июль 21st, 2011

Давно работаю под ShellGuard, но в последнее время стал искать замену (мало того что он платный и уже не поддерживаемый, дак еще и не работает с UTF-8). Перепробовал много telnet-ов, но остановился на проверенном и нормально работающем — PuTTY. Но вот есть у него довольно неприятная проблема. ShellGuard работает почти с теми же клавиами, что привычные Unix терминалы — Alt + F1(F2, … F12) — переключает на нужные открытые консоли, а PuTTY работает всегда с одной консолью и для новой надо заново запускать новый процесс, а переключаться между ними не удобно — Alt+Tab — обычное переключение в Windows.

Долго искал — можно ли как-то приблизиться к сервису, близкому ShellGuard, и нашел максимально хорошее решение » Читать дальше: SSH Telnet под Windows

perl, utf8 и encode & decode термины

Июль 20th, 2011

Полезно будет знать Perl программерам. Дело в том, что часто в документациях к perl (perldoc utf8) и модулям (например JSON) употреблаются такие термины, которые лично меня часто путали своим смыслом, а именно: encode to UTF-8, decode to UTF-8. Что подумает нормальный программер, услышав слово encode to? То, что что-то кодируется во что-то, а именно «encode to UTF-8″ -> «кодирование в UTF-8″. Я знаю, что perl хранит внутри себя строки UTF-8 со специальным флагом — если он установлен — строка UTF-8, если нет — бинарная. Поэтому, когда в доке я читал encode to UTF-8, я все время путался — думал, что говорят про установку этого флага. Оказалось, все в точности наоборот.

Правильно так: когда пишут encode to UTF-8, это значит, что внутри перла строка с UTF-8 данными остается как есть, но флаг UTF-8 убирается, и perl начинает вести себя со строкой так, как будто там бинарные (octet) байтовые данные (то есть посути, строка внутри перла перестает быть UTF8, хотя слово «encode» несет в себе другой смысл). И наоборот — decode to UTF-8 -> UTF8 флаг ставится (то есть для perl-а строка становится UTF8).

P.S. В Perl есть такая функция — encode (модуль Encode). Смысл ее в том, чтобы перевести строку из внутреннего содержания на perl (которое всегда UTF-8 внутри, т.е. Unicode символы) в байтовую последовательность, которая бы отражала ту кодировку, которую ей указали (то есть раз байтовая — значит всегда utf8 флаг в результате отсутсвует). Если мы делаем $result = encode(‘utf-8′, $string), то результат как раз будет в том, что флаг utf8 будет просто снят для $result и в реальности никакого переводирования не будет (то есть побайтово внутри perl-а $string & $result будут содержать одни и те же байты, только $string еще будет иметь взведенный utf8 флаг). И это как раз вписывается в те понятия, которые я описал ранее. Для decode и байтового UTF8 всё обратно — флаг utf8 просто ставится в $result.

Вот такая абракодабра… Будьте внимательны!

Немного о супер направлениях в Web на Perl

Июль 19th, 2011

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

Я сам программирую динамические веб сайты (CGI) только на Perl. Никогда не использовал PHP. Это не только потому, что я фанат Perl, но и дань эффективности — под Perl много модулей, много возможностей, и при грамотном подходе сайты на Perl будут работать быстрее PHP — ведь Perl код после компиляции хранится в памяти в виде байт кода (типа «Пи кода» кода в Pascal). А если знаешь Perl, то и разработка может идти гораздо быстрее. » Читать дальше: Немного о супер направлениях в Web на Perl

DNS — как сделать обратную запись (PTR), если зона не ваша

Июль 12th, 2011

Бывают моменты, когда вам надо сделать корректное резрешение DNS из IP ареса в доменное имя для IP, который принадлежит провайдеру (и соответственно, он управляет DNS-ом обратной зоны), но сервер на этом IP ваш. Конечно, без его участия сделать это нельзя, но можно попросить провайдера прописать следующие настройки в DNS, чтобы вы могли в любое время на своём DNS менять имя записи PTR, а не просить сделать это каждый раз своего провайдера.

Здесь на английском официальная инструкция, как это сделать. Основной смысл — провайдер ставит записи CNAME вместо PTR в обратной зоне (IN-ADDR.ARPA), а вы уже меняете на своем DNS настройки. В примере дан более развернутый пример, когда провайдер описывает записи для целой подзоны, например сетки /27 (32 машины) и указывает NS записи вашего DNS. Можно сделать проще для одного IP — провайдер ставит на вас CNAME вместо PTR (но не NS), CNAME указывает на ваш доменный адрес (на адрес под вашим доменом), для которого вы уже описываете PTR запись. Тем самым, если захотели другое имя для IP, меняете его у себя в DNS и телемаркет…

Если не знаете, зачем это, то знайте: обратное разрешение нужно для более правильной работы e-mail (если у вас есть почтовый сервер — для его IP это лучше сделать ;-) ). В противном случае, письма, оправленные через ваш SMTP, могут «отвегаться» большинством почтовых релеев (relay).

Летнее время навсегда?

Февраль 9th, 2011

Вот приняли в России закон об отмене перевода времени. Может, это и хорошо. Меня смущает другое. То, что этой весной, будет последний перевод стрелок. Вот несколько аргументов, что это не правильно, с моей точки зрения. Забегая вперед, скажу от себя, что считаю, если и надо было «останавливаться» в переводе стрелок, то делать это надо осенью после перевода на зимнее время. » Читать дальше: Летнее время навсегда?

Samba & Archive аттрибут = -Executable

Январь 20th, 2011

Заметил неприятную особенность дефолтной конфигурации Samba — при сбрасывании из под Windows Archive аттрибута редактируемого файла разными редакторами, сбрасываются permissions ‘x’ (права файла) на Unix для пользователя, который владеет файлом. Например, есть на Unix файл с правами rwxr-xr-x. Если вы его через Samba поредактируете в Windows каким либо редактором, который любит сбрасывать аттрибут archive (far или komodo edit), то после сохранения изменений файл будет иметь permissions как rw-r-xr-x. Для Unix пользователей это очень плохо — файл перестает быть исполняемым для самого владельца, зато остается исполняемый для всех, кроме него. Долго искал причину, почему после редактирования в Komodo Edit теряется исполняемый бит, грешил на редактор, а выловил такую особенность default Samba configuration :)

Для решения этой проблемы надо просто напросто добавить строку map archive = no в smb.conf файл. После перезапустить samba: service smb stop & service smb start

Если у вас не работает OpenCV под 64 бит…

Январь 10th, 2011

Боролся недавно с одной проблемой — решил поделиться с вами ее решением, если вдруг вы нашли мою страницу, например, через Google ;-) Вряд ли рядовой читатель моего блога сталкивался с такой же проблемой. Потому и уповаю на Google :-) » Читать дальше: Если у вас не работает OpenCV под 64 бит…

Оптимизация MySQL — select/insert

Январь 10th, 2011

Было как то раз у меня постоянно проблема — очень долго исполнялись SELECT с JOIN запросы. Грешил я на долгое исполнение JOIN операций, хотя с индексами у меня был полный порядок. Что я только не делал — и настройки крутил MySQL, и код местами переписывал, чтобы оптимальнее работал. Но проблема оставалась. Причем это что-то грузило сервак конкретно, несмотря на оченбь мощное железо. Но вот нашел в инете одну статейку и она меня натолкнула на мысль — изменить priority операции INSERT/DELETE. Правки для двух строк кода убрали проблему совсем! И очень мощный сервак стал работать очень быстро… Я даже не ожидал такого! А теперь немного поподробнее…

» Читать дальше: Оптимизация MySQL — select/insert

git — краткое введение

Ноябрь 22nd, 2010

Давненько уже работаю с такой классной штукой, как git. Git — это программа для контроля версий программ. В дальнейшем я планирую публиковать статейки, связанные с этой темой. Но чтобы как-то начать это, решил написать этот пост — краткое ознакомление с ней. » Читать дальше: git — краткое введение

Share to Facebook Share to Twitter Stumble It More...