Архив метки: notes

Низкоуровневое форматирование flash/SD/microSD под Linux

Несколько раз приходилось форматировать флешки (к которым относятся и различные SD и microSD карточки), а поскольку происходит это довольно редко — вынужден был лезть в гугл. Конспективная памятка по форматированию флешек под Linux:

Проверить подключение flash

fdisk -l
Выведет список подключенных дисков и их разделов. Обычно флешка — /dev/sdb, но нужно обязательно проверить, так ли это!

Проверить, примонтирована ли флешка

df -h
Если флешка примонтирована — покажет это и точку монтирования. Перед форматированием — отмонтировать: umount /dev/sdb.

Проверить защиту от записи и геометрию

При желании — можно проверить защиту от записи и геометрию (защита от записи в линуксе не важна):
hdparm /dev/sdb

Если нужно низкоуровневое форматирование — забить нулями

dd if=/dev/zero of=/dev/sdb
В выводе покажет объем флешки (должен соответствовать заявленному), скорость и время записи. Также покажет, сколько было записано байт на флешку, что полезно при проверке флешки на физические ошибки (см. ниже).

Проверить на физические ошибки

head -c N /dev/sdb | md5sum
head -c N /dev/zero | md5sum
где N равно числу байт, записанных на флешку при помощи dd. Если контрольные суммы не совпадают — флешка «битая» или были ошибки записи (в реальности сталкивался с форматированием microSD через плохой кард-ридер — даже когда не выскакивали ошибки ввода-вывода при операциях — контрольные суммы не совпадали, с заменой кард-ридера проблема ушла).
Пример:

dimio@ibm $ dd if=/dev/zero of=/dev/sdb
dd: запись в «/dev/sdb»: На устройстве кончилось место
3932161+0 записей считано
3932160+0 записей написано
скопировано 2013265920 байт (2,0 GB), 1010,99 c, 2,0 MB/c

dimio@ibm $ head -c 2013265920 /dev/zero | md5sum
5d0fd6273bed1c500c6fc22d86a59630  -

dimio@ibm $ head -c 2013265920 /dev/sdb | md5sum
5d0fd6273bed1c500c6fc22d86a59630  -

Ну и для полного счастья при желании:

dimio@ibm $ perl -we '
> print "OK" if q{5d0fd6273bed1c500c6fc22d86a59630}
> eq q{5d0fd6273bed1c500c6fc22d86a59630};'

OK

Разбиваем на разделы при помощи fdisk

fdisk /dev/sdb
Опции: m — справка, d — удалить раздел, p — просмотреть список разделов, n — создать раздел, t — поменять тип раздела, w — сохранить изменения.

Последний шаг — создать файловые системы на разделах флешки

mkfs.ext{2,3,4} /dev/sdbX
где X — порядковый номер раздела, на котором нужно создать файловую систему.

Также полезны

mkfs.msdos, mkfs.vfat (создаёт «стандартную» файловую систему флешек — vfat).

mkfs.ntfs — тут понятно, создаёт NTFS, не на всяком Андроид-устройстве может читаться потом.

mkfs.exfat — «расширенная fat», на старых устройствах не прочитается, зато файлы большого размера поддерживает, например (как и NTFS). В Убунте надо пакет exfatprogs поставить, чтобы создавать эту ФС.

Форматирование успешно окончено!

Если что-то осталось непонятным или есть дополнения и замечания — добро пожаловать в комментарии! 🙂

каталог интернет магазинов Москвы

Бесплатный редактор PDF для Windows и Linux — pdftk

Несколько недель назад понадобилось мне кое-что поменять в чертежах, которые были в виде pdf-альбома представлены. Файл pdf не был закрыт от редактирования к слову. Казалось бы — задача примитивная, но не тут-то было. Перепробовал около десятка различных бесплатных и условно-бесплатных pdf-редакторов — всё без толку. Некоторые «редакторами» только называются — на деле не могут вообще ничего. Другие вроде позволяют изменения внести, но лепят всюду свои надписи типа «отредактировано в таком-то pdf редакторе», что мне тоже совсем ни к чему. А чем можно банально разбить альбом на страницы — я вообще не понял.

Помощь, как часто бывает, пришла из мира open source — была найдена бесплатная консольная утилита для редактирования PDF — pdftk (кроссплатформенная, под Linux и Windows точно есть), позволющая редактировать pdf в широких пределах. Для любителей графики — и под Linux, и под Window у pdftk есть графические интерфейсы (GUI). Меня же как раз больше привлекла консольность — можно в пакетном режиме обрабатывать сразу несколько файлов. Ей я вырезаю или вклеиваю нужные листы в альбомы чертежей, а сами изменения делаю в обычно графическом редакторе (чаще в сего — в Gimp).
Читать далее Бесплатный редактор PDF для Windows и Linux — pdftk

Стандартные пароли для устройств — большой список

Ссылка на память — список стандартных паролей для большого числа различных устройств: Default Password List. Стандартные пароли для роутеров, МФУ и т.п. устройств. Указаны протоколы доступа для авторизации (telnet, http и т.д.)

RC Link Redirector и ссылки в текстовом виджете

На правах мини-совета для тех, кто тоже использует плагин RC Link Redirector для закрывания от индексации посторонных ссылок. Изначально плагин умеет оборачивать ссылки в записях, на страницах, в цитатх, в комментарих и текстах комментариев и т.д., но не умеет обрабатывать текстовые виджеты, в которые удобно ставить свои кнопки, баннеры и прочие подобные штуки.

Чтобы плагин научился закрывать ссылки в виджетах, надо добавить в него две строки (можно через Плагины->Редактор, если нет специального редактора для PHP).

Первую — внутрь функции rcr_adminpage, например после 187 строки «&nbsp;"Оборачивать" ссылки в <strong>блогролле</strong></label></td></tr>» добавить строку:

<tr><td><label><input name='rcr_txt_widgets' type='checkbox' value='1' <?php echo ($rcr_opt['rcr_txt_widgets'] ? 'checked' : '') ?> />
&nbsp;"Оборачивать" ссылки в <strong>виджетах</strong></label></td></tr>

Вторую — внутри rcr_redirector_hook, например после строки 241 «if($rcr_opt['rcr_comment']) add_filter('comment_text', 'rcr_encode');» вставить строку:

if($rcr_opt['rcr_txt_widgets']) add_filter('widget_text', 'rcr_encode');

Теперь осталось в админке плагина поставить галку на опции «Оборачивать» ссылки в виджетах и наслаждаться результатом 🙂
P.S. Кому лень редактировать файл плагина — можно скачать обновлённый и просто заменить старый в папке /wp-content/plugins/rc_redirector

Как я хотел менять ноутбук

Есть у меня старенький ноут ThinkPad T40, слегка разваливается, но служит верой и правдой уже лет пять или шесть. Недавно совсем было перестал работать — при загрузке Linux вываливался с непонятной ошибкой. Проверил жесткий диск, проблем не обнаружил и стал готовиться к неизбежной (как казалось) замене ноута.

Пока искал замену — рассматривал разные варианты, включая не особо любимый мной (после продажи бренда IBM) ThinkPad от Lenovo, для сравнения поискал цены на ноутбуки Dell, Acer, Asus — как-то ничего не глянулось, решил замену отложить.

И вдруг, спустя некоторое время, стукнула мысль — а не проверить ли память? Прогнал memtest86+ и точно — нашел битую планку, которую благополучно поменял на новую (хотя DDRII PC2100-2700 не очень просто оказалось найти). Буду иметь в виду на будущее, что протестировать полезно всё железо полностью, а уж потом сокрушаться о необходимости менять старого помощника!

PHP — Personal Home Page Tools

Общие сведения о PHP

PHP скрипты, сео, курсы, примеры, плагин, wordpress
Язык PHP (Personal Home Page Tools, или, как он теперь называется, PHP: Hypertext Preprocessor) является представителем семейства скриптовых языков программирования. Название у языка говорящее, основная область его применения — разработка различных интернет-приложений (интернет-скриптов) и именно в этой области PHP наиболее распространён.

PHP — краткая история создания

Корнями PHP уходит к Perl, затем интерпретатор языка претерпел изменения в сторону большей веб-ориентированности и был переписан на С. Соответственно, PHP включает в себя черты обоих «родителей» — синтаксис похож на синтаксис С, ассоциативные массивы (хэши) и цикл foreach заимствованы у Perl.

PHP — основные особенности и функции

Основная особенность PHP — штатная возможность встраивать исполняемый код в html-код веб-страниц, что делает его очень удобным для создания динамически изменяющихся страниц, при этом шаблоны страниц одновременно являются и статическими, и динамическими элементами.

Функции PHP для веб-разработки

Помимо того, PHP обладает богатым набором встроенных инструментов для веб-программирования, среди которых стоит отметить основные:

  • Встроенные массивы данных, в которые автоматически загружаются переменные окружения сервера, а также параметры, извлекаемые из GET и POST-запросов;
  • В язык встроена поддержка основных СУБД (семейство SQL и другие распространённые СУБД);
  • Возможность отправлять HTTP-заголовки в автоматическом режиме;
  • Поддержка работы с сессиями, cookies, HTTP-авторизацией
  • Работа с файлами (в виде сокетов, удалённых и локальных файлов);
  • Обработка форм, включая XForms, обработка загружаемых на сервер файлов;

PHP и графические приложения

Кроме своего прямого предназначения — создания веб-страниц, PHP также может использоваться для разработки кросс-платформенных графических приложений, среды для разработки которых так же, как и сам язык, распространяются на условиях open-source.

Пример кода на PHP — создание и обработка веб-формы

Ниже приведён пример кода на PHP, выполняющий обработку html-формы. В примере пользователь вводит имя и выбирает пол, после чего нажимает кнопку «Ответить». PHP-скрипт получает данные из формы, производит над ними заданные действия и распечатывает результат в браузер.

Проверка имени пользователя не осуществляется, поскольку данные из формы никуда дальше не иду, но если вы планируете передавать их в рабочий скрипт или в системную утилиту — не лишним будет сделать проверку регулярным выражением (навроде такого: /^ [^/\.$?&*] $/ix) для отсечения ввода символов, которые в имени встречаться не должны. А при передаче системным утилитам пользовательского ввода — дополнительно использовать escapeshellarg.

Пример веб-формы

Как тебя зовут: ?
Ты или ?


Код для обработки формы на PHP


<form name="PHP_example_web_form" action="" method="post">
<table rows="2" cellspacing="8" cellpadding="4">
<tr><td>Как тебя зовут: </td><td><input type="text" name="u_name" value="" size="10" maxlength="20" />?</td></tr>
<tr><td>Ты <label><input type="radio" name="sex" value="m" checked="checked">мальчик</label></td>
<td> или <label><input type="radio" name="sex" value="w">девочка</label>?</td></tr>
</table>
<input type="submit" value="Ответить" />
</form>

<?php
// если в скрипт было что-то передано - начать обработку
if(count($_POST)>0){
// если переданное имя пользователя не пустое - продолжаем
if(count_chars($_POST['u_name'])>0){
unset($prefixes_m); // на всякий случай очистить массив
unset($prefixes_w); // то же

// если пол указан как мужской - выбрать прилагательное в мужском роде
if($_POST['sex'] === 'm'){
// массив с прилагательными
$prefixes_m = array('мужественный', 'великий', 'сообразительный', 'учёный', 'хитрый');
// выборка случайного элемента из массива
$prefix = $prefixes_m[rand(0,count($prefixes_m) - 1)];
}
// иначе если пол - женский - выбрать прилагательное женского рода
elseif($_POST['sex'] === 'w'){
$prefixes_w = array('прекрасная', 'нежная', 'восхитительная', 'обаятельная', 'неповторимая');
$prefix = $prefixes_w[rand(0,count($prefixes_w) - 1)];
}

// распечатать результат
print '<br /><hr><p>';
print '<div title="Приветствие" class="php-test" contenteditable="true">';
print 'Привет, '.$prefix .' '. $_POST['u_name'].'!';
print '</div></p>';
} // конец обработки имены
} // конец обработки формы
?>

Начать зарабатывать в интернет легко!

Чтобы начать зарабатывать в интернет, нужен, в первую очередь, свой сайт. Получть сайт можно создав блог на любой из бесплатных блог-площадок, приобретя хостинг для блога и установив любой из блог-движков (например — бесплатный и широко известный движок WordPress), или же, если перечисленные выше способы по какой-то причине вам не подходят, вы можете заказать сайт.

Плюсы и минусы каждого решения достаточно очевидны:

  1. Блог на бесплатной платформе не требует технических знаний, достаточно легко обзаводится читателями (смотри мою заметку Массовое добавление друзей в ЖЖ — быстро и просто), имеет подробную справку и множество готовых шаблонов оформления. В то же время, для бесплатного блога доступно не так много способов интернет-заработка, что сужает возможности веб-мастера.
  2. Блог на собтвенном хостинге позволяет использовать любые способы заработка, настраивается в полном соответствии с вашими вкусами (вы даже можете создать для такого блога собственный плагин) и возможностями, но взамен требуте затрат на хостинг (сравнительно небольших, в случае хостинга в США) и хотя бы минимальных технических навыков от владельца, а также готовности самостоятельно искать решения возможных проблем.
  3. Изготовленный на заказ сайт по уровню свободы полностью сопоставим с собственным блогом, а по удобству и простоте использования вплотную приближается к блогу на бесплатной платформе. Но, естественно, требует дополнительных материальных затрат на разработку.

Я постарался кратко перечислить основные плюсы и минусы различных способов получения сайта для дальнейшего заработка в интернет, но окончательное решение остаётся конечно же за вами!

Cygwin — бесплатная реализация unix-подобного окружения для Windows

Cygwin - бесплатное Unix-окружение для Windows

Как ясно из заголовка, Cygwin представляет собой unix-подобную среду, реализованную для ОС Windows.

Cygwin включает в себя следующие основные компоненты:

  • Динамическая библиотека cygwin1.dll, которая обеспечивает совместимость на уровне API и предоставляет реализацию значительной части стандарта POSIX.
  • Коллекция прикладных утилит, обеспечивающих UNIX-образное окружение (включают в себя как утилиты с интерфейсом командной строки — например — утилита для безопасного удаления файлов shred, так и графическое окружение типа Gnome/KDE).

Cygwin распространяется бесплатно под лицензией GNU GPL v.2, разработкой занимаются как сотрудники Red Hat, так и сообщество добровольцев. В качестве стандартной оболочки командной строки используется Bash. Cygwin имеет встроенный эмулятор терминала, однако также для окружения существует сборка популярного легковесного unicode-терминала urxvt

Посредством Cygwin обеспечивается существенная интеграция ресурсов, данных и прикладных программ Windows с ресурсами, прикладными программами и данными Unix, что позволяет как вызывать Windows-приложения из Cygwin, так и использовать Unix-утилиты из состава Cygwin в консоли Windows.

Последние версии Cygvin (старше версии 1.7) имеют встроенную поддержку Unicode (UTF-8), при использовании Windows-утилит из Cygwin, последняя автоматически перекодирует вывод в UTF-16, применяемую в Windows по умолчанию. Таким образом, в современных версиях Cygwin отсутствуют проблемы при работе с кириллицей (ввод-вывод осуществляются корректно).

Небольшое практическое дополнение.
Для того, чтобы в Cygwin использовался файл .bashrc, расположенный в домашней директории пользователя, можно воспользоваться следующим способом —
в файл путь_куда_установлен_cygwin\etc\defaults\etc\skel\.bash_profile дописать такие строки:

# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi

Быстрая индексация сайта в поисковиках

Не секрет, что поисковые роботы, в случае с молодыми сайтами, могут проявлять феноменальную медлительность, упорно не желая такой сайт проиндексировать. Также ускорение индексации может потребоваться, если вы например сделали прогон сайта по каталогам и желаете, чтобы обратные ссылки на него стали поскорее известны поисковикам. Существуют средства, позволяющие сильно ускорить индексацию нужных материалов посиковыми системами. Именно о таких ускорителях индексации я и намерен поговорить.

Ускорение индексации сайта Яндексом

Ускорение индексации сайта Google

Прочие поисковые системы

Косвенные методы ускорения индексации сайта

К косвенным методам ускорения индексации сайта я отнесу кросс-постинг в различные популярные блог-платформы (livejournal; blogger.com — особенно полезно для индексации Google; liveinternet.ru; блоги ya.ru — быстрая индексация яндексом; блоги на mail.ru и др.).

Отдельно в свете быстрой индексации упомяну анонсирование записей блога в twitter, как прекрасный способ ускорить их индексацию.