23 декабря 2009 г.

Пингвин: нелетающая морская птица, im-клиент и язык общения между людьми

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

А ещё пингвин (англ. Pidgin, "пиджин") - это название клиента обмена мгновенными сообщениями и вид человеческого языка. Даже на эмблеме ядра ОС Linux изображён сытый, довольный пингвин Такс (англ. Tux).
Однако я думаю, что сложно выглядеть сытым и довольным, когда твой вид находится на грани вымирания, и твоих детей пустили на омлет.

Вот замечательная фотография, которую я взял из Википедии:



Мне кажется, этот пингвин выглядит как уставший родитель, который целый день занимался с детьми, пока другой родитель работал, чтобы прокормить семью из четырёх человек (то есть, пингвинов). 

Спокойной ночи.

17 декабря 2009 г.

Интервью с Дональдом Кнутом (перевод с английского)

Вот интервью, которое я прочитал сегодня. Хотя, возможно, это не самая замечательная его часть (там есть ещё много интересного), тем не менее, вот цитата:

"Успех программ с открытыми текстами – это, вероятно, единственное явление в компьютерной области, которому я в последние несколько десятилетий не удивляюсь. Но это движение еще не реализовало весь свой потенциал; я полагаю, что программы с открытыми текстами будут становиться полностью доминирующими по мере того, как экономика будет все больше полагаться не на продукты, а на услуги, и будет появляться все больше добровольцев, желающих совершенствовать программы."
- Дональд Кнут (Donald Knuth)

Полный текст интервью здесь: http://citcity.ru/18573/
Автор перевода: Сергей Кузнецов

22 ноября 2009 г.

Прочитал недавно в новостях, что GIMP, возможно, будет исключён из базовой поставки Ubuntu 10.04

Прочитал недавно в новостях, что растровый графический редактор GIMP, возможно, будет исключён из базовой поставки ожидаемой ОС Ubuntu 10.04

http://www.opennet.ru/opennews/art.shtml?num=24341

Вот первоисточник данной новости:

http://www.omgubuntu.co.uk/2009/11/gimp-to-be-removed-lucid.html

Основные аргументы, приводимые разработчиками - это: а) простые пользователи не используют GIMP; б) его пользовательский интерфейс слишком сложен; в) это инструмент для профессионалов; г) desktop-пользователям требуется только редактирование фотографий, что они могут сделать в F-Spot; д) GIMP считается заменителем Photoshop, а он не входит в базовую поставку Windows; е) GIMP занимает место на диске с дистрибутивом.

В первоисточнике подчёркивается, что решение не окончательное и может измениться в процессе разработки. Тем не менее, как пользователь GIMP'a, выскажу некоторые мысли по этому поводу.

Итак, о каждом пункте отдельно:
а) простые пользователи (как я, например) используют GIMP. Они используют его для редактирования своих фотографий - например, GIMP прекрасно справляется с осветлением слишком тёмных фотографий, изменением их размера, поворотом, кадрированием, сохранением в другом формате и т. п. задачами. Мне кажется, это вполне пользовательские задачи;
б) пользовательский интерфейс Гимпа очень даже хорошо продуман, и как выполнять базовые операции разберётся даже школьник. Впрочем, если этот интерфейс считается сложным, почему бы в Ubuntu 10.04 не включить вместо Гимпа графический редактор TuxPaint?..
в) GIMP - инструмент для профессионалов? Возможно, это так и есть. Тем не менее, прелесть Гимпа в том, что он прекрасно масштабируется под различные задачи, и может быть инструментом и профессионала-дизайнера, и обычного пользователя - который чаще всего редактирует в нём фотки и иногда рисует что-то.
г) с помощью F-Spot, конечно, можно редактировать фотографии. Но F-Spot не даёт свободы для творчества, его возможности скудны по сравнению с GIMP и он является, по сути своей, лишь программой для управление архивом фотографий, с чем более-менее успешно справляется. Кстати, сомневаюсь, что задачи любого desktop-пользователя сводятся лишь к простейшему редактированию фотографий. Быть может, к выходу Ubuntu 10.04, F-Spot обретёт дополнительную функциональность, но я надеюсь, что F-Spot будет развиваться именно как фотоорганайзер, а не как графический редактор; опыт показывает, что многие приложения, обрастающие чрезмерно большой функциональностью, становятся всё менее и менее удобны в использовании.
д) GIMP действительно является лучшим свободным заменителем Photoshop. Верно, Photoshop не входит в комплект Windows - но не оттого ли, что он является несвободным, стоит больших денег и является профессиональной программой? Гимп универсален, бесплатен - так что же мешает оставить его в дистрибутиве Ubuntu? Если оглядываться на Windows, то в его комплект (насколько мне известно) до сих пор не входит полноценный офисный пакет, и он, как правило, должен приобретаться отдельно. Так же не входит нормальный текстовый редактор с поддержкой подсветки синтаксиса различных языков... Значит ли это, что следует исключить из базовой поставки Ubuntu редактор GEdit?
e) Да, GIMP, как и любая программа, занимает место на диске с дистрибутивом. Думаю, что разработчики имеют ввиду CD-диск, так как на DVD-диске 10 или 20 или даже 40 мегабайт не играют большой роли. Но и на обычном CD-диске, мне кажется, можно выделить эти мегабайты под столь замечательную программу, как GIMP - ведь этот графический редактор, на мой взгляд, одна из тех программ, которые рассчитывают использовать большинство пользователей, переходя с Windows на Linux-систему. Например, когда я составлял план перехода на Линукс, то включил Гимп в список необходимых мне программ наряду с почтовым клиентом, веб-браузером и офисным пакетом.

13 ноября 2009 г.

Когда я работал в университете, приходилось часто работать с CD и DVD дисками

Когда я работал в университете, приходилось часто работать с CD и DVD дисками. Например, на дисках студенты приносили свои курсовые и дипломные работы, мы записывали на диски образовательные программы и т. п. Иногда диски оказывались повреждены - вследствие какой-либо причины - и для дальнейшего использования становились негодными. Так повелось, что такие диски мы называли "подстаканниками".
Сейчас CD и DVD диски очень распространены, несмотря на снижение стоимости на flash-память и увеличение её объёма. Диски успешно заменяют широко распространённые в прошлом флоппи-диски, так как значительно превосходят их по объёму и надёжности. Думаю, что в недалёком будущем CD, DVD и даже Blue-Ray диски ждёт участь дискет - хотя они не будут полностью вытеснены из общего употребления другими видами памяти, но будут востребованы гораздо меньше, чем сегодня и будут использоваться в основном для резервного копирования. Однако это ещё только предположение о будущем, которое ещё не наступило, и сегодня очень часто приходится работать с CD и DVD дисками. Поэтому в следующий раз расскажу о своём опыте записи дисков в Ubuntu.

31 октября 2009 г.

Возможности команды mkdir

По мере изучения Ubuntu открываю для себя замечательные возможности командной строки (терминала). Одна из них - возможность решать простые задачи так же просто, как они этого требуют.
Мне недавно нужно было создать несколько каталогов в одном - казалось бы, простая задача. Если каталогов один или два, мы можем сделать это простым кликом правой кнопки мыши и выбором пункта контекстного меню "Создать папку". Или нажать Ctrl+Shift+N (эта комбинация клавиш создаёт новый каталог в текущем). Просто, не правда ли? Но если нам нужно создать много каталогов, да ещё и в каждом каталоге ещё подкаталоги? Создать папку, и ещё папку, и ещё, клик, клик, клик... А ведь каждой папке ещё и название нужно дать! Причём, такая задача не является редкостью и может возникнуть просто в процессе работы пользователя. Кажется, задача простая, но решение её может оказаться чрезмерно сложным и долгим. И тут как раз очень помогает знание простейших команд терминала.
Команда mkdir (от англ. make directory) предназначена для создания каталогов. Сначала я недооценивал возможности этой команды, но моё мнение на её счёт изменилось, когда нужно было решить задачу наподобие той, что описана выше. Рассмотрим самый простой вариант использования этой команды. Предположим, нам нужно создать в /home/username/Музыка структуру каталогов для музыкальной коллекции (фонотеки), где username - ваше имя пользователя. Если вы, как и я, любите порядок, то структура каталога "Музыка" примет у вас примерно следующий вид

~/Музыка/A/(все исполнители на А)
         B/(все исполнители на B)
         C/
         D/
         ...

Для экспериментов я всё же рекомендую создать для начала новый пустой каталог, а потом, когда уже будет понятен принцип работы команды, можно начать применять её на практике. Открываем терминал и пишем:

mkdir ~/mkdirexp

Теперь выбираем нужный нам каталог - для этого предназначена команда cd (от англ. change dir) :

cd ~/mkdirexp/

Теперь создаём все каталоги командой:

mkdir A B C D E F G I J K L M N O P Q R S T U V W X Y Z

Просто, верно? Но что делать, если у нас до этого музыка была свалена в один каталог, и в одной куче были разные исполнители и альбомы? Определим задачу: нужно создать структуру каталогов и необходимые подкаталоги (перенесение музыки во вновь созданные каталоги я не буду сейчас рассматривать - хотя и здесь несомненно есть широкие возможности для упрощения и автоматизации) :

~/mkdirexp/A/A_исполнитель_1/2007 - Альбом 1/
             A_исполнитель_1/2008 - Альбом 2/
             A_исполнитель_2/
           B/B_исполнитель_1/
           C/
           D/
           ...

С помощью команды mkdir делается это так же просто, как и в предыдущем примере.
Если вы выполняли команду из предыдущего примера, то в каталоге mkdirexp у вас уже должны быть подкаталоги. Для наглядности следующего примера попрошу удалить их - зайдите в каталог mkdirexp, выделите все подкаталоги (Ctrl+A) и удалите их (Shift+Del - для удаления файлов без помещения в корзину).
Я не буду в данном примере создавать все каталоги - нам главное понять принцип работы, или, если хотите, синтаксис команды:

mkdir -p A/{A_исполнитель_1/{"2007 - Альбом 1","2008 - Альбом 2"},A_исполнитель_2} B/B_исполнитель_1

Посмотрим на команду: параметр -p (от англ. parents), передаваемый команде, означает, что нужно создать все "родительские" каталоги для подкаталогов, если они отсутствуют. Если мы упустим этот параметр, то получим сообщение об ошибке и часть каталогов не будет создана. В фигурных скобках через запятую перечислены подкаталоги, которые требуется создать. Причём, как видно из примера, можно создавать подкаталоги в подкаталогах и т. д. Названия папок наподобие "2007 - Альбом 1" заключены в кавычки, т. к. в именах есть пробелы - то есть, мы говорим команде, что это одно имя, а не несколько, разделённых пробелами.

Подробную справку о всех параметрах команды mkdir и других командах терминала можно узнать, набрав в терминале man mkdir или man имя_команды.

30 октября 2009 г.

Решил вчера проблему с повреждёнными пакетами в Ubuntu

Решил вчера проблему с повреждёнными пакетами в Ubuntu.
Чтобы было ясно, о чём идёт речь - недели две назад я решил "почистить" систему от старых версий ядра linux - просто удалил их вручную через консоль под суперпользователем (sudo rm имя_файла). До обновления ОС всё было нормально, а при обновлении, как я понимаю, система попыталась исправить неверно установленные/удалённые пакеты. Но, как я позже увидел, это не только не помогло, но теперь у меня в системе были пакеты, которые никаким образом не удалялись.

Проблема, похоже, решена - я просто создал в /lib/modules/ пустые каталоги для каждой версии ядра, которую раннее так неразумно пытался удалить вручную.
Получилось вот что:

пустые директории -  версии ядра, которые были неправильно удалены
/lib/modules/2.6.28-11-generic
/lib/modules/2.6.28-12-generic
/lib/modules/2.6.28-13-generic
а это - директория с новой версией ядра. Её конечно же, удалять не нужно

/lib/modules/2.6.31-14-generic
             
В результате, после повторной попытки восстановить пакетную систему Ubuntu средствами самой ОС - все ошибки были исправлены.

А теперь - самое главное: как я нашёл решение этой проблемы:
1. Поискал в Google информацию о ошибке, которую мне выдавал менеджер пакетов (просто скопировал её из консоли):
"Could not open '/boot/System.map-2.6.28-11-generic': No such file or directory"
2. Самая первая ссылка, предложенная Google, привела меня на форум, где где я и нашёл это простое, но вместе с тем, эффективное для данной ситуации решение:

Спасибо.

29 октября 2009 г.

Сегодня обновил Ubuntu 9.04 до версии 9.10

Сегодня обновил Ubuntu 9.04 до версии 9.10
Я был уверен, что обновление не пройдёт без сложностей - и, как оказалось, был прав. Сначала система не хотела обновляться, не сообщая при том, в чём же проблема. Окно обновления системы просто не появлялось, и никаких сообщений не было. С третьей попытки я получил сообщение об ошибке, в котором ясно говорилось, что проблема в параметрах монтирования раздела /tmp, а именно в параметре noexec, который запрещает выполнение каких-либо исполняемых файлов на этом разделе. Видимо, программа обновления пыталась запустить оттуда что-то. Как только я убрал noexec из параметров монтирования - обновление благополучно запустилось. Вообще-то, насколько я знаю, из каталога временных файлов /tmp не должно запускаться никаких программ и скриптов, поэтому параметр noexec здесь вполне оправдан. Однако, как оказалось, для обновления дистрибутива такие правила не писаны.
Следующей проблемой стала первая загрузка Ubuntu 9.10. Система упорно не хотела грузиться, ссылаясь на то, что невозможно примонтировать корневой раздел и разделы /var/run и /var/lock. Проблема была решена созданием каталогов run и lock в каталоге /var.
В конечном счёте система загрузилась, но некоторые проблемы ещё предстоит решить. Например, при попытке провести какие-либо операции по установке/удалению пакетов, получаю сообщение «система пакетов повреждена». Совершенно уверен, что эта ошибка — результат того, что я раннее пытался удалить вручную некоторые пакеты. Проблемы с загрузкой системы после обновления — результат недавней переразбивки диска и перемещения системы с одного раздела (мой первый опыт установки Ubuntu) на несколько разделов с разными файловыми системами и параметрами. Так что здесь всё-таки человеческий фактор сыграл главную роль. Рад, что мне удалось решить часть проблем, решение других — буду придумывать/искать в интернете.

В заключении хочу сказать, что конечно, когда возникают проблемы с операционной системой (или с программой или с «железом» и т. д.) — это не очень приятно. И всё же, когда всё идеально работает — так же не всегда хорошо. Это звучит странно, но именно нештатные ситуации дают замечательный опыт. Несомненно, можно и нужно просто из-за интереса копаться в настройках и разбираться в возможностях, но нельзя исключать и того, что решение серьёзных проблем (серьёзных для нас в данный момент, при нашем опыте) даёт нам важные практические знания.

25 октября 2009 г.

История одного программиста

На занятия программированием меня подвигло желание сделать с помощью компьютера что-то своё, что будет работать и выполнять какую-то задачу. В школе я начал изучать язык программирования Паскаль (Pascal). "По-умолчанию" тогда на уроках информатики изучали Бейсик (Basic), но Паскаль для меня был более интересен. Сейчас это мне кажется смешным, но в то время я хотел в будущем серьёзно заняться созданием компьютерных игр. Тогда из всего времени, что я проводил за компьютером, на компьютерные игры у меня уходило от 80 до 100 процентов времени. Таким образом получалось, что большую часть свободного времени я играл в компьютерные игры. Конечно, это отрицательно сказывалось на моей учёбе в школе, и вспоминая то время, я очень сожалею об этом.
Изучив основы языка Паскаль, я приступил к изучению среды разработки Delphi - и к моменту окончания школы у меня уже были некоторые знания "о компьютерах вообще" и программировании. В 2006 году я поступил в ВУЗ и устроился там же работать. На работе у меня впервые появился интернет. Хотя программированием как таковым в это время я мало занимался, мне было интересно разбираться в тонкостях настройки ОС Windows, которая стояла и на домашнем ПК, и на работе. Разочаровавшись в намерении стать разработчиком компьютерных игр, интерес к написанию собственных программ угас. Серьёзный интерес к программированию вновь появился в лишь 2009 году. Заинтересовавшись свободным ПО, начал изучать свободную реализацию языка Паскаль - Free Pascal - и перешёл на Delphi-подобную свободную среду разработки Lazarus, в которой работаю и по сей день.
Как вы можете видеть, в разное время я руководствовался разными целями и разными интересами, изучая программирование. Но на этом моя история, как программиста, не заканчивается - напротив, мне кажется, что она только начинается.

24 октября 2009 г.

Самая первая запись

Всем привет,
меня зовут Артём, и мне (на момент написание этой записи) 20 лет. Учусь на программиста, и надеюсь в будущем работать по выбранной специальности. В начале 2009 года заинтересовался свободным программным обеспечением (СПО) и стал активно изучать свободные операционные системы (ОС). Знакомство с миром свободного ПО для меня началось с установки ОС Ubuntu, в которой я сейчас и работаю. Надеюсь, что так же смогу сделать вклад в развитие СПО. Что касается интересов/хобби, то я пишу стихи, рисую, увлекаюсь фотографией и (пожалуй, это так же можно назвать хобби) очень люблю хорошую музыку и слушаю множество разных групп. Не отдаю предпочтение только какому-либо одному стилю, и уважаю взгляды/предпочтения других - как в музыке, так и в жизни.
Чему будет посвящён этот блог? Пожалуй, всему, что мне интересно - жизни, музыке, фотографии, творчеству, и, конечно же, свободному ПО и программированию. Надеюсь, вам это будет интересно так же, как и мне.