среда, 22 сентября 2010 г.

Установка Apache, php и mysql в Ubuntu

Итак, приступим:
Способ первый:
запускаем терминал и выполняем такие команды:
sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5
sudo invoke-rc.d apache2 restart
sudo apt-get install mysql-server
sudo invoke-rc.d apache2 restart

Все готово для работы.

Способ второй:
В терминале запускаем всего одну команду
sudo tasksel install lamp-server

Далее для обоих способов:
в терминале вводим:
sudo gedit /var/www/test.php

Пишем и сохраняем:

В браузере переходим по ссылке http://localhost/test.php, где вы увидите всю информацию о PHP.

Базовые команды
Теперь пару слов о командах, которые вам могут пригодиться в процессе работы:

Запуск Apache2:
sudo invoke-rc.d apache2 start

Остановка Apache2:
sudo invoke-rc.d apache2 stop

Перезапуск Apache2:
sudo invoke-rc.d apache2 restart

Изменение пароля mysql
sudo mysqladmin -u root password новый_пароль

Подключение к консоли mysql
mysql -u root -p

Дополнительное удобство
Еще одна фишка, которая мне показалась безусловно удобной,описана далее. Ее суть состоит в том, что можно в браузере набрать ссылку вроде test.com.dev и без проблем откроется наш сайт, который сохранен на локальном харде в домашней папке в sites/test.com.dev/public .
Допустим сайт наш будет называться test.com, и храниться в папке sites, как описано выше. Создаем папку для нашего сайта:
mkdir -p ~/sites/test.com.dev/public
Далее создаём файлик для этого сайта:
sudo gedit /etc/apache2/sites-available/test.com.dev
и вписываем в него следующие строки:
ServerName test.com.dev
ServerAlias www.test.com.dev
DocumentRoot /home/Имя_Пользователя/sites/test.com.dev/public

где Имя_Пользователя нужно заменить на ваше имя пользователя.
Сохраняем файл, закрываем gedit и говорим апачу, что этот сайт теперь нужно обслуживать:
sudo a2ensite test.com.dev
При выполнении, эта команда скажет вам, что апачу необходимо перезагрузить данные конфигурации, что мы и сделаем:
sudo /etc/init.d/apache2 reload
Теперь, настроим удобное обращение к сайту. Для этого пропишем, что хост test.com.dev обслуживается на нашем компьютере, локально. Открываем файл /etc/hosts
sudo gedit /etc/hosts
находим там строку, начинающуюся на 127.0.0.1 (обычно, это первая строка) и вписываем в её конец, через пробел от предыдущих данных, test.com.dev. Сохраняем файл, закрываем редактор.
Теперь кидаем какой-нибудь файлик index.html в папочку нашего сайта (/home/$USER/Sites/www.test.com.dev/public)
Всё, теперь уже можно вписать в адресную строку браузера http://test.com.dev/ и увидеть, что сайт вас приветствует.

Еще редактор текстов здесь немного дебильный (да простят меня его разработчики, но это так) - так что в текст вкралось немного ошибок... :-(  Некоторые тэги отсеиваются, и всплывающее окно бесит.

Еще  нужно написать скриптик, который все вышеописанное делает автоматом...


П.С.: при подготовке данного документа использовались материалы с таких источников:
http://rotuka.com/2008/10/lamp-ubuntu-apache-mysql-php/

установка и настройка ssh в Ubuntu

Итак, сегодня мы научимся устанавливать, пользоваться  очень популярной, или скорее очень полезной штукой под названием ssh.
Как говорит Википедия:
SSH (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы имеются для большинства сетевых операционных систем.
Еще раз напоминаю что я пользуюсь Ubuntu (если у Вас другая ось, то напишите и я добавлю материала про нее), чтобы в винде не пытались вводить что-то типа sudo apt-get ... и т.д.

Установка

Сначала установим ssh сервер на машине к которой мы будем подключаться. Для этого в консоли мы вводим:
sudo apt-get install openssh-client
Теперь, следующей командой установим ssh клиент, на машине с которой мы будем подключаться к той, на которой установлен ssh сервер
sudo apt-get install openssh-server
Вся конфигурация нашего сервера производиться изменением файла /etc/ssh/sshd_config. Давайте посмотрим что же там в этом файле за опции такие. Сначала сделаем резервную копию файла конфигурации:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

теперь откроем его в терминале:
sudo nano /etc/ssh/sshd_config
Вы увидите следующие директивы:
  • Port - указывает порт по которому сервер будет ожидать входящего соединения. Например, Port 1234 означает что к серверу можно будет подключиться по порту 1234.
  • ListenAddress - указывает какой протокол/интерфейс будет прослушиваться ssh.
  • Protocol - позволяет выбрать версию протокола 1 или 2. Рекомендуется протокол 2.
  • HostKey - Ключевые файлы для второй версии протокола SSH
  • UsePrivilegeSeparation - хз. Оставляем включенным для безопасности.
и еще куча полезных опций о которых я напишу немного позже.
Теперь перезагружаем ssh демон
sudo /etc/init.d/ssh restart

Использование

И теперь мы можем смело к нему конектиться. Для этого в терминале клиента воодим следующую команду
ssh -p номер_порта host.name
Где номер_порта на котором висит ssh сервер, а host.name - это имя хоста сервера или его IP адрес
Монтирование файловой системы сервера производиться с помощью команды SSHFS
Для установки sshfs введем команду:
sudo apt-get install sshfs
Монтирование производиться следующей командой:
sshfs remoteuser@remotehost:/путь/к/удаленной_директории локальная_директория

Где remoteuser - имя удаленного пользователя, remotehost - имя удаленного хоста или его ip адрес, /путь/к/удаленной_директории - удаленая директория которую вы хотите примонтировать, локальная_директория - это место куда вы хотите примонтировать удаленную папку
Для отмонтирования удаленной директории используем команду:
fusermount -u локальная_директория
Ну вот, для начала вроде должно хватить, потом напишу больше

QuickSynergy - Одна мышка и клавиатура на два компьютера. QuickSynergy - Одна мышка и клавиатура на два компьютера.

Сегодня мы рассмотрим очень интересную штучку. Имя ей quicksynergy
Synergy - это бесплатная программа (Open source, GNU Public License) позволяющая использовать одну мышку и одну клавиатуру для управления несколькими компьютерами с разными операционными системами. Принцип работы очень прост: стоит вам переместить курсор мыши к краю экрана одного ПК, он появляется на краю экрана другого.
На Ubuntu устанавливается очень просто:sudo apt-get install quicksynergy.Для других операционных ситстем можно скачать отсюда.Настраивается все очень просто - на сервере(машине с клавой и мышкой) прописываем хосты(имена компьютеров или их IP адреса) клиентов и их расположение относительно основного экрана (куда двигать мышкой,
чтобы попасть в нужный компьютер), а на клиентах просто указывает
IP адрес хоста.Давайте еще раз рассмотрим настройку для Ubuntu.
  1. Запускаем Quicksynergy на серверной машине (той у которой есть клавиатура и мышь).
  2. Только на серверной машине вводим имена компьютеров клиентов (компьютеров, которые без клавы и мыши) в одном из полей ввода (в зависимости от взаимного расположения компьютеров в пространстве). Если вы не знаете имена клиентов, то наберите в терминале на клиентских машинах hostname и будет вам счастье.
  3. Запустите Quicksynergy на клиентской машине.
  4. Только на клиентской машине идем на вкладку Use и вводим в поле ввода ip адрес серверной машины.
  5. Нажимаем Execute на серверной машине.
  6. Нажимаем Execute на клиенсткой машине.
  7. На Серверной машине перемещаем курсор к краю экрана и видим как мышинный указатель появляется на экране другого компьютера.
  8. Радуемся и пишем каменты. :)

Разработка под Android на Python. Часть 2. Обзор возможностей

Перевод частичный. Некоторые вещи не знаю как написать на русском
Итак, ASE мы установили, пользоваться научились, теперь пришла пора рассмотреть его основные возможности.
Для работы любого скрипта на Python нам нужно будет подключить модуль android, делается это следующими строками:
import androiddroid = android.Android()
Далее рассмотрим возможности по группам.
Сообщения и уведомления
Вывод всплывающего окна
droid.makeToast("Hello, Android!")
А так делается ввод информации:
name = droid.getInput("Hello!", "What is your name?")
print name
droid.makeToast("Hello, %(result)s" % name)
Чтение и модификация настроек:
volume = droid.getRingerVolume()
droid.setRingerVolume(5)
droid.setRingerSilent(True)
droid.vibrate(100)  # 100 миллисекунд вибрации.
Получение данных датчиков:
droid.startSensing()
time.sleep(1)  # Give the sensors a moment to come online.
sensors = droid.readSensors()
print sensors
Поиск Вашего местоположения:
droid.startLocating()
time.sleep(1)
location = droid.readLocation()
print location
Или более простой путь(информация будет не всегда актуальна):
location = droid.getLastKnownLocation()
Отправка SMS сообщений:
droid.sendTextMessage("8675309", "Hey, Jenny!")
Использование Text to Speech
ASE поддерживает TTS через Eyes-Free проект (смотрите InstallingTextToSpeech).
droid.speak("I can talk!")
Набор номера
droid.dialNumber("8675309")
droid.callNumber("8675309")
droid.map("pizza")  # or "munich" or "1600 amphitheatre pkwy"
droid.showContacts()
droid.email()
Запуск произвольных заданий
droid.startActivity('android.intent.action.CALL', uri)
Starting an Activity for Result
Starting an activity for result allows you to do things like scanning barcodes (see InstallingBarcodeScanner). Again, there are several convenience methods in addition to the ability to raise arbitrary intents.
code = droid.scanBarcode()
print code
pic = droid.captureImage()
print pic
contact = droid.pickContact()
droid.call(contact['result']['data'])
Exiting the Activity or Service
Для выхода из сервиса или скрипта используем следующую команду
droid.exit()
Так же можно отправить результат работы перед выходом.
droid.setResultExtra('some_string', 'string_value')
droid.setResultExtra('some_int', 42)
droid.setResultExtra('some_double', 3.14159)
droid.exitWithResultOk()
# or...
droid.exitWithResultCanceled()

Групповая обработка фоток в Ubuntu. mogrify

Иногда бывает ситуация, когда нужно обработать 1000 фоток, которые разбросаны по папкам. Например, захотелось свадебные фотографии уменьшить пот дисплей телефона. В Ubuntu Для этой цели есть очень удобная утилита - Mogrify, входящая в состав Image Magick.
Рассмотрим как пользоваться этой утилитой на практике. Допустим, нам нужно изменить размер тех 1000 фоток для  того чтобы наконец-то запихнуть их в телефон. Для этого в терминале вводим:
mogrify -resize 320×240 *.jpg
Смотрим на результат и видим что скорее всего не совсем то. Эта команда все фотографии подгонит под размер 320×240, нарушая изначальные пропорции.
Для того чтобы сохранить пропорции, изменим файлы так, чтобы все они имели ширину 320, а высота будет подбираться сама
mogrify -resize 320 *.jpg
Или наоборот, изменим высоту, а ширина сама пусть себе делается пропорциональной
mogrify -resize x240 *.jpg
Таким образом мы наконец-то всунули те фотки в телефон, удачно изменив их размер, вместо того, чтобы как один мой знакомый делать это руками в фотошопе или гимпе. Утилита имеет еще кучу возможностей, которые вы можете узнать введя
man mogrify

Разработка под Android на Python

Привет всем!
Вот наконец-то дошли у меня руки написать про один из вариантов разработки под телефоны, или вернее гуглофоны на операционной системе Андроид.
Учить яву мне было немного впадло, да и не нужно для тех задач, которые передо мной стояли, и я начал мучать гугль в поисках альтернативы. Нашел что можно писать на С, но тогда мы теряем возможность использования кучи уже готового кода, хотя производительность и возростет по сравнении с java. Также нашел такую прикольную вещь как ASE - Android Scripting Environment. С ее помощью можно создавать и редактировать скрипты прямо на смартфоне под управлением Android. Компьютера с отдельной средой программирования не потребуется. На том же Android-смартфоне написанные скрипты можно будет протестировать и использовать. ASE уже поддерживает языки программирования Python, Lua и BeanShell,Ruby и JavaScript.
Скрипты ASE позволяют получать доступ к множеству различных API и создать простой интерфейс для таких базовых задач, как звонки, отправка текстовых сообщений, сканирование штрих-кодов, преобразование текста в речь и других. Фактически, с помощью ASE разработчики смогут создать на своем устройстве удобные мини-приложения.  Исходные тексты ASE распространяются в рамках лицензии Apache 2.0.
Скачать ASE можно отсюда .
После того как скачали и установили ASE, его нужно немного настроить для вашего скриптового языка. Для этого запускаем ASE, нажимаем кнопку меню, выбираем Interpreters, снова меню, и кнопку Add. Далее выбираем нужный нам скриптовый язык и загружаем добавляем его.
ASE идет с базовым набором примеров. Если вы кликните по любому скрипту, то он запуститься и отработает, а вы сможете увидеть или услышать результат его работы. Для редактирования скрипта нажимаем на нем и ждем появления меню, в котором выберем Edit. Для создания нового скрипта - меню, Add  и выбираем нужный язык.
Писать и отлаживать с самого Андроида бывает не всегда удобно, поэтому Вы можете подключить телефон к компьютеру посредством кабеля и работать в оболочке телефона, как будто вы вводите питоновские команды на самом устройстве. Ниже я опишу как этого добиться.
Для начала запускаем ASE на телефоне, нажимаем меню, выбираем Interpreters, снова нажимаем меню и выбираем start server. Нас спросят какой вариант сервера выбрать - вибираем private.
Далее подключаем телефон к компьютеру с помощью USB кабеля, предварительно убедившись, что на телефоне включен режим отладки по USB (главное меню телефона - настройка - приложения - ставим галочку возле отладка USB). В терминале, на компьютере вводим команду:
./adb  forward tcp:9999 tcp:57622
где 57622 - это порт который ASE  пишет нам в области нотификации телефона. А сам adb находиться в поддиректории tools папки в которую мы распаковали android sdk ( где брать Android sdk и что с ним делать более подробно рассмотрено в статье Установка Android SDK под Ubuntu Linux ).
Если после выполнения данной команды мы видим ошибку error: insufficient permissions for device , то это значит что сначала нам нужно запустить сервер adb от имени root'a. Для этого выполним в терминале следующие команды:
./adb kill-serversudo
./adb start-server
./adb devices
Теперь выполним в терминале следующую команду:
export AP_PORT=9999
Скачиваем android.py отсюда и помещаем в папку где находиться наш adb.
Теперь мы можем запустить интерактивную оболочку питона и введенные нами команды будут выполняться на андроид устройстве. Рассмотрим это более подробно, на следующем примере. Все следующие команды вводим в терминале на компьютере.
python
import androiddroid = android.Android()
droid.makeToast("Hello from my computer!")
После выполнения этих команд мы увидим на экране устройства всплывающее окно с текстом "Hello from my computer!".

Установка Android SDK под Ubuntu Linux

Здравствуйте!
Здесь я опишу как я устанавливал и настраивал Android SDK под Ubuntu.
Итак, первое что нам нужно сделать - это установить java. Для этого в терминале вводим
sudo apt-get install sun-java6-jre sun-java6-plugin
Второй шаг - это качаем Android SDK 1.6 R1 отсюда .
Распаковываем архив командой
tar -xzvf android-sdk-linux_x86-1.6_r1.tgz
Третий шаг - обновляем SDK. Для этого переходим в распакованный архив в папку tools и оттуда запускаем команду android update sdk
Далее со всем соглашаемся и ждем пока SDK Обновиться.
Создаем новую папку с именем ANDR в которой будем проводить все эксперименты.
user @Jaunty:~$ mkdir ANDR
се приведенные ниже команды выполняются в этой папке.
Виртуальные
телефоны, созданные Android SDK, называют AVDs (Android Virtual
Device). Начнем эксперимент с виртуальной SDCARD и виртуальным
телефоном.
Давайте создадим виртуальную SDCARD.
$ mksdcard 2048M SDCARD
Если вы посмотрите на содержимое папки, вы увидите файл с именем 2GB SDCARD
Затем, создайте виртуальный Android телефон под названием USER_PHONE.
$ android create avd -n USER_PHONE -t 2
Android 1.6 является одним из основных платформе Android.
Вы хотите создать пользовательский профиль Hardware [нет]
Введите нет. Вы получите обратно следующее сообщение.
Создан AVD 'USER_PHONE' на основе Android 1.6, со следующей аппаратной конфигурацией:
hw.lcd.density = 160
Теперь запустить эмулятор Android.
$ emulator @USER_PHONE -sdcard SDCARD

Заработай с google - светлые мысли или бе"з"понтовый порожняк?

Слева, на моем сайте (http://stillfinder.thruhere.net), вы видите колоночку с ссылками - это реклама от гугля. Да-да, я пытаюсь на вас заработать :)  Свои первые миллионы. Вот о ней и пойдет сегодня речь. Деньги идут не за то, что я разместил у себя на сайте колоночку с рекламой, а за то, что посетители, то есть вы кликнут на нее. И за один переход по рекламе я получу примерно 4 евро цента. Или меньше или больше... Это зависит от многих факторов.
У пытливых умов русскоговорящего населения сразу же возникает мысль - "Сядь и кликай по своей рекламе сутками, станешь миллиардером". Если бы было все так просто - я бы наверное и кликал. Вот только по закону сохранения денег никто их просто так не раздает. В гугле тоже не дураки сидят. Меня сразу же забанят, если я кликну или буду вас принуждать к этому. Им нужна целевая аудитория, которая заинтересованна в рекламе.
Денег много все равно на этом я не заработаю, так-как это не сайт где посетителей может быть очень много. Это сайт не для планктона и дураков. А так-как умных людей меньше чем глупых, то и посетителей будет не очень много. По крайней мере меньше чем на сайтах про политику(я не критикую ни коим образом интерес людей к политзанятиям и т.д.).
Итак, ближе к сути, ато что-то я расписался. Вы регистрируетесь на http://www.google.com/adsense/ и вам дают код баннера, который вы размещаете у себя на сайте. Потом за каждый клик по их рекламе вы получаете какие-то деньги. Только вот люди что-то не очень часто кликают, а просить их про это нельзя. И самое главное сами не кликайте на рекламе своего сайта, ато забанят. Вот у меня уже два клика есть - это оценилось в 13 евроцентов.
Давайте прикинем по деньгам. Допустим за один клик вы получите 4 цента. Тогда за 2500 кликов вы получите 100 баксов. То есть чтобы доить с гугля хотябы по 100 долларов в месяц - нужно чтобы кликали по их рекламе 83 раза в день. Для этого нужно примерно 1500 посетителей в день. Получается чтобы заработать много - нужно или соц.сеть делать - где люди первое после регистрации время сами не знают куда мышью тыкнуть и случайно натыкаются на рекламу или сделать очень интересный контент. Хотя есть одна соцсеть с интересным контентом :)
Теперь о другом - как можно было бы набить себе карманы деньгами, обманывая гугль. Первое это заходить на сайт и кликать каждый раз с разного IP адреса. Каждый раз нужно чистить куки, чтобы не было следов от предыдущего посещения. Но гугль тоже не дурак, так-что бесплатные анонимные прокси у них уже давным-давно в базе и клики с таких адресов не зачитываются. А вот если есть сайт  недругов, то можно сделать западло - заходить и кликать по гугловской рекламе через каждую минуту. :) Но, вернемся к теме. Если взять не бесплатные прокси, то у вас уйдет около 40 дол. в месяц. Это по минимальным ценам. Но сидеть целый день и кликать тоже не получиться. Гугль сразу пропасет что его разводят. Ну не может каждый заходящий брать и сразу кликать по рекламе. То есть нужно заходить и еще и читать то, что вы понаписали у себя на сайте. Вручную делать это тяжело. Можно конечно сделать робота-кликкера. Алгоритм его работы должен быть примерно такой - зашел на сайт, полазил по ссылкам в случайном порядке, и через случайный промежуток времени кликнул на рекламку, меняет прокси и повторяет свои злодеяния. Только вот робот должен одновременно заходить с разных IP адресов. Ведь не бывает так что на сайте с посещаемостью 1000 чел. одновременно сидит только один или два человека. Еще нужно учесть время суток. Ведь в определенные часы посетителей больше, а в другие меньше. И делать  посещаемость нужно тоже постепенно. Не может сайт пустовавший вчера стать супер пупер посещаемым. Интересно было бы узнать сколько какие сайты на гугле зарабатывают, чтобы не переборщить. В общем, обманывать гугл - это как лезть по минному полю. И если посчитать что вы будете с одного сайта иметь долларов 100, из них 40 на прокси тратить, иметь кучу потраченного времени, то оно того не стоит. Хотя, в принципе, гугль обмануть можно.
Я ни коим образом не хотел оскорбить уважаемую мной компанию Google. Они делают очень много и очень правильно. Очень умно и очень нестандартно.

Бот для Твиттера

Привет всем! Сегодня мы займемся созданием бота для твиттера.
Наш бот должен уметь делать две вещи:
  1. Находить пользователей за которыми фоловятся(следуют) те, за кем следуем мы, и записывать их имена в текстовый файл. По 1000 пользователей в один файл.
  2. Заходить под нашим логином и фоловить(следовать) за теми пользователями, имена которых находятся в указанном нашем текстовом файле.
Запустим терминал и в домашнем каталоге создадим папку temp/twitterbot
mkdir temp/twitterbot/
Перейдем в созданный каталок
cd temp/twitterbot
Отсюда http://peak.telecommunity.com/dist/ez_setup.py качаем ez_setup.py и сохраняем в ~/temp/twitterbot
в терминале:
sudo python ez_setup.py
далее, снова в терминале
sudo easy_install twitter
теперь создаем файлик fd
nano fg
Следующего содержания

#!/bin/bash
#
#
# | _) | | |
# | | | / -_) | _| _` | _ _| _ _| _` |
# _| _| _,_| __ ___| _| __| __,_| ___/ __| ___/ _| __, |
# ____/
http://nukeit.org
#
#
#Grab your followers' followers and send them to 1k line lists for use with my autofollow script.
#
#Set your username and password here.
USER=""
PASS=""
#Grab first 50 pages of your follower list to avoid the limits
for (( a=1; a<=49; a++ )); do curl http://twitter.com/statuses/followers.xml?page=$a -u$USER:$PASS >> myfollowers.xml; done
#Jack all the screen names
cat myfollowers.xml |grep screen_name > followers2
#Clean up the output
cat followers2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ allfollowers
#Do it again but only keep the first 50 lines to avoid the limits
cat followers2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ followers3
#Grab your followers followers
for tweeps in $(cat followers3); do curl http://twitter.com/statuses/friends/${tweeps}.xml -u$USER:$PASS >> followfollow; done
#Jack all the screen names
cat followfollow |grep screen_name > followfollow2
#Clean up the output
cat followfollow2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ followfollow3
#Dupecheck
comm -1 -2 allfollowers followfollow3 > dupe
cat followfollow3 | grep -v -f dupe > followfollow4
#Split into files with 1k each
split -l 1000 followfollow4 finallistpart
#cleanup
rm -rf follow*
Там где
USER=""
PASS=""
между кавычками пишем свое имя пользователя и пароль.
Делаем этот файл исполняемым
chmod +x fg
И, наконец запускаем его
./fg
После того, как он отработает, в нашем каталоге появиться пару текстовых файликов. Это и есть списки имен пользователей твиттера за которыми следуют те, за кем следуем мы. Первая часть нашего задания выполнена. перейдем ко второй.Как и раньше, с помощью команды nano, создадим файлик t, следующего содержания. Не забываем вместо слова email и password вписать свое мыло и пароль к твиттеру
#!/bin/bash
FILE="newfollows"
exec < $FILE
while read LINE
do
#twitter follow $LINE -e email -p password
twitter follow $LINE -e email -p password
sleep 37
done
сделаем его исполняемым
chmod +x t
Теперь скопируем содержание файлика finallistpartaa в newfollows, удалив пустые строки, и запустим вторую часть нашего бота
./t
Теперь, если все сделано верно наблюдаем как мы начинаем следовать за пользователями из нашего текстового файла
Наше задание выполнено успешно. При подготовке материалов были использованы статьи с таких сайтов http://mike.verdone.ca/twitter/#about иhttp://nukeit.org/stupid-bash-scripts-twitter-autofollower/

Запись диска с консоли в Ubuntu

Итак, нам нужно записать диск с консоли, например на сервере без графической оболочки. Для начала нам нужно создать образ диска, а потом записать его на физический носитель.
Образ диска создается командой:
genisoimage -v -iso-level 4 -J -o image.iso ~/image_dir/
image.iso - это имя файла образа; image_dir - это папка с файлами, которые мы хотим добавить в образ.
После того как образ создан, нам нужно записать его на диск следующей командой:
wodim -v -dev=/dev/cdrom -eject -dummy -speed=16 -dao image.iso
Если мы хотим очистить перезаписываемый диск, то нужно воспользоваться следующими командами:
umount /dev/cdrom
wodim -dev=/dev/cdrom -speed=32 -blank=fast

Почему я не люблю социальные сети

Что такое социальные сети, наверное, знает каждый. Правда не все знают, что они знают об этом :) . Например, один знакомый даже понятия не имел что вконтакте и одноклассники - это социальные сети. Клоны забугорных фейсбуков и майспейсов.
Есть в них что-то такое слащавое, зависимое и задрачивающее. Это для многих уже образ жизни, а не просто средство или инструмент для поиска новых знакомых. Люди сходят с ума по каким-то виртуальным подаркам, сидят в виртуальных фермах и чувствуют себя виртуальными фермерами. Выставлять свою жизнь, фотографии и взгляды на общественность. Это напоминает желание людей быть показанными по телевизору.
Приходит человек домой, включает компьютер и зависает. Это же хуже рекламы! Хотя, суть монетизации большинства социальных проектов как раз и состоит в таргетинговой релкаме. Реальности нету, расширения кругозора тоже - ведь общение происходит с зомбиками. С такими же зомбиками.  Ведь можно описать себя таким, каким ты не являешься на самом деле. И вроде бы все прекрасно, но есть одно но. Человек тупеет. Разве перечень из 20 подарочков и какая-то ферма может заменить реальное общение. Да и выставлять личное на всеобщее обозрение (немного украшая конечно же) - это вроде как глупо. "Афтар жжет!!!", "Я и моя подружка на выставке чего-то там" и т.д. Да всем насрать на то, где разместивший был со своей подружкой, просто они такие-же убегающие в пустоту как он. Или я преувеличиваю?
Может я просто урод, который лезет не туда где мирно покоится зона комфорта офисного планктона? Как говорил Фриман: "Для вашей системы ценностей я значительно хуже!". Сидит себе какой-то 25 летний девственник и старается найти большую и чистую любовь, хотя вернее и правильнее сказать было бы : "того, кто бы дал". Лучше бы взял пива и пошел в парк. Так нет, ведь комплексы не позволяют. А в интернете даже рот не нужно открывать. Вошел в курраж, возомнил себя супер мэном и понеслась вода по трубам. Смотрит на фотки подружек подправленные фотошопом и, простите за слово, дрочит. Морально или реально, но все равно дрочит на фотографии. Это уже вроде и не так как-то как на порно сайтах. Можно подарок послать за два рубля, чтобы она была рада.
Или второй вариант: сидит она, и флиртует, так-как делать не фиг. Фотки вроде есть ничего, мордашка симпатичная, но когда рот откроет - все разбегаются по сторонам после первого испытания оргазмических конвульсий. А тут, в соцсеточке, еще и подарок подарят, правда тоже виртуальный. И можно перед другими потешить свое самолюбие. "У меня больше подарков чем у тебя, значит я круче".
Потом собирается компания. Водки пожрать, шашлык выпить, о жизни поговорить. И вроде ребята нормальные, вроде и не дебилы... И опа! Один из них задвигает про ферму вконтакте. И пошла жара. Говорить вроде как больше и не о чем. Пошли фразы про слоников, кукурузу или чего-там еще. Пьют водку и пиздят, прошу прощения, про фермы. Потому, что больше нету про что. Все... Разум закончился, реальной жизни нет. Самореализация на ферме вконтакте. Папа с мамой денег дают на хавчик, жрать есть что, вот и фермуют. Причем говорится это в таком ключе, будто те, кто не имеют виртуальной фермы ущербные люди. Они даже в мыслях не могут себе допустить, что нормальный человек не сидит на ферме. Хотя вроде как тот, кто не сидит, и как раз является нормальным человеком. Ущербность - это сродни тупости.
Что я хотел этим всем сказать? Как и всегда ничего конкретного. Как говорили панки - "кто панкует, тот поймет" :) А вам всего самого доброго, красивого и главное, НАСТОЯЩЕГО!

воскресенье, 19 сентября 2010 г.

Как добавить Google Analytics в свой Blogger Блог

Google Analytics - Это сервис, который достаточно просто позволяет отслеживать посещаемость вашего ресурса. Давайте рассмотрим алгоритм добавления Google Analytics в свой Blogger Блог. (на котором вы собственно сейчас и находитесь).

Копируем блок из Google Analytics

  1. Залогиньтесь здесь:  http://google.com/analytics/.
  2. Кликните на Add Website Profile. Появится форма.
  3. Выберете Добавить Профиль для нового домена.
  4. Введите URL вашего блога или сайта.
  5. Выберете вашу страну и часовой пояс.
  6. Вам будет показан блок кода, который нужно добавить на страницы Вашего сайта.
  7. Выделите этот блок кода и скопируйте в буфер обмена.

Добавление блока кода Analytics в Ваш Blogger Блог

  1. Залогиньтесь на http://www.blogger.com/.
  2. Кликните на кнопке шаблон возле блога который хотите отслеживать.
  3. Нажмите редактировать HTML. Появится окно редактора, спуститесь по коду в конец.
  4. В конце шаблона вы увидите что-то вроде:
</div> </div>
<!– end outer-wrapper –>
(Google Analytics блок кода вставляете сюда!!!)
</body>
</html>
  1. Перед тэгом </body> вставьте скопированный ранее блок кода.
  2. Это можно делать командой Ctrl+V.
  3. Нажмите сохранить изменения.
Теперь можно улыбнуться и дуть за пивом.

Переведено отсюда

Вступление

Здравствуйте!
Рад Вас приветствовать на страницах моего блога. Что конкретно я здесь буду писать еще не знаю. Только знаю что здесь будут статьи компьютерной тематики. Все что связанно с программированием, дизайном, информационной безопасностью, возможностям заработка в сети и т.д.
Правда, есть некоторые противоречия. Я считаю что не всю информацию стоит выкладывать в паблик. Так-как, если, например, выложить уязвимости системы Х, и школьники У начитаются этого и начнут с помощью уязвимости Х портить сайты, то ничего в этом созидательного нету.
Но программирование - это прежде всего искусство. Искусство создания, поиска и самореализации. Код - это как картина художника. В нем должна быть не только четкость, но новые идеи, вернее их воплощение.