Как-то я озадачился выбором текстового редактора, который бы было одинаково комфортно использовать как для редактирования кода и разработки, так и для быстрого открытия и редактирования обычных текстов. При этом что бы он был простым для простых вещей, и расширяемым для сложных. Таком образом выработался набор требований:
Теперь же давайте рассмотрим его соответствие моим требованиям к хорошему текстовому редактору:
Про функции редактирования особенно и рассказывать не нужно, расскажу про возможность добавлять функционал посредством инструментов, о которых вы узнали из одной из прошлых
статей.
Могут быть доступны через меню Инструменты или через контекстное меню мыши. Настраиваются через Изменить -> Параметры далее нужно переходить в раздел Инструменты, там находим две вкладки, для создания инструмента в контекстном меню и в главном меню.
Сами инструменты могут быть описанием программы на встроенном Python, LUA или быть командой оболочки (в большинстве случаев - BASH).
Для встроенных языков параметры этим и ограничиваются, все остальное осуществляется программно (типа куда производить вывод сообщений).
Описания языка LUA и Python можно посмотреть в справочном руководстве к редактору, в формате HTML, если он у вас установлен по тем же путям, то можно открыть по этой ссылке: /usr/share/doc/medit/help/sect-user-tools.html
Для SHELL скриптов, как самых простых в реализации, рассмотрим переменные окружения к которым можно обращаться:
Как реализовывать конкретный функционал, уже удел вашей фантазии.
Да! На каждый созданный документ, можно после в Изменить -> Настройка горячих клавиш, можно настроить свою клавишу. Оду и ту же клавишу можно назначать на разные инструменты, если они выбираются для разных файлов. Если будет отображаться одновременно два инструмента с одинаковой горячей клавишей, будет выполнен тот, который идет раньше.
Почти по аналогии: Я - робот.
С 9 по 14 ноября читал первый курс лекций для учителей информатики в ПИППКРО по программе “Установка и администрирование Пакета Свободного Программного Обеспечения (ПСПО)”.
Попробую поделиться своими впечатлениями по этому поводу с разных точек зрения…
Собственно начнем с того, что читать лекции мне понравилось :)
Но теперь о нехорошем: изначально данная программа рассчитывалась на 9 дней по 8 академических часов, при этом можно ещё было избежать какой-то каши в голове. Но даже в этом случае, она не была способна выполнить тех задач, которые ставились. Непонятно было, для чего рассказывать учителям об основах языка C++.
На самом же деле, программу сократили до 6 дней по 10 часов, в результате 12 часов у нас вылетело и бежать приходилось галопом по европам, но оставим это на совести организаторов.
Непонятным в программе с названием “Установка и администрирование” стало наличие раздела - Программное обеспечение для Объектно Ориентированного программирования… программисты и администраторы разные люди.
Непонятным для меня этапом стало то, что курс администрирования читается учителям информатики… Получается, помимо учительской нагрузки на них ложится нагрузка, как минимум: сетевого администратора (установка серверов, проектирование сети), системного администратора и оператора (поддержка пользователей, устранение их проблем), техника (монтаж оборудования и сети) и инженера по информационной безопасности (обеспечение конфиденциальности и целостности данных, политики обеспечения информационной безопасности). И это за те же деньги, что получает сам учитель, ну может какие надбавки, но это же не соизмеримо с зарплатами 5 человек!
Горьким стало так же то, что учителя не желают осваивать чего-то нового, даже как обычные пользователи.
Диким стало что они учат детей Ворду и Экселю! Нельзя же учить конкретной программе, для этого есть отдельные специализированные курсы. Нельзя использовать подобные слова-паразиты. Есть строго определенные: Текстовые процессор, Электронная таблица и т.д. Нельзя строить программу обучения на специфицических, и, что греха таить, частично удобных функциях, конкретных приложений, без возможности адаптации и реализации заданий в других продуктах, начиная от Лексикона и редактора Слово и Дело до OpenOffice Writer, AbiWord и KOffice Word для текстовых процессоров и от каких-то простеньких электронных таблиц до OpenOffice Calc, Gnumeric и KOffice Spreadshit.
Когда касался введения в ООП (Объектно Ориентированное Программирование) был опечален незнанием основных определений, что такое инкапсуляция, полиморфизм, наследование, да и что такое класс и объект. Хотя это есть в школьной программе, и они этому учат детей.
В заключении хочу сказать, что, возможно, кому-то будет неприятно читать, что я написал выше, возможно меня после этого не будут приглашать читать лекции, пусть, но молчать тоже нельзя. А то все говорят, вот наша школа, наши ВУЗы… Пока учителя не научатся сами учиться, пока курсы повышения квалификации будут только галочкой в личном деле, они ни каким образом не смогут причислить себя больше к интеллигенции и наше образование будет лететь в Тар-Тар.
От себя же я постарался дать полную отдачу, и выдать все что я мог выдать в данных тесных рамках.
Крайне кратко и обзорно.
31 октября провели Arch Linux Install Fest, поставлен на несколько машин, некоторым помогли разобраться с возникшими проблемами, в частности о установке и создании RAID1, потому как оригинальный мастер установки этого не позволяет, но есть всё необходимое, дабы это реализовать.
Как раз проведение совпало в первым снегопадом, но людей было много, настоящие пингвины снега не боятся :)
Выводом данного мероприятия стало, то, что не следует ограничиваться одним дистрибутивом, проводить разные консультационные мероприятия, в частности заранее рассчитывать на помощников, дабы не разрываться и оставлять кого-то без внимания.
Второй снегопад совпал с проведенной мини-туксовкой (был я, leen, morphey) 15 ноября, на которой разбирали, вопрос с корректным выключением и перезагрузкой борды на арме, собственно появилось несколько решений, вспомнил старый добрый SourceNavigator, который опять начал развиваться.
Следущее мероприятие, ориентировочно - 5го декабря.
Комп загружается, и тут встает задача - на разных этапах загрузки, запускать какие-то свои пользовательские программы. Далее бегло попытаюсь посмотреть, как это работает у меня.
Юзал давно, недавно опять вспомнил, сходу найти не смог, поэтому оставляю эту заметку.
Библиотека представляет собой набор макросов на OpenOffice Basic для работы с кирилистическим текстом, всякие заявленные “сумма прописью” я не использую, но вот когда открываешь документ в старом формате MS Office 95 (пользователям 1C посвящается), то часто там битая кодировка, помогает преобразить текст конвертация Latin1->Cyrillic.
В
документации сказано как установить библиотеку для всех пользователей в системе, но, если нужно по быстрому, то в OpenOffice 3.x и выше можно воспользоваться услугами менеджера расширений:
- скачать архив библиотеки:
http://openoffice.vspu.ac.ru/cyrtools1.3.uno.zip
- в запущенном OpenOffice выбрать Tools -> Extension Manager, нажать Add… и выбрать скачанный вами архив
- перезапустить OOo и наблюдать новый пункт меню Cyrillic Document
Сайт проекта:
http://openoffice.vspu.ac.ru/
Документация проекта:
http://openoffice.vspu.ac.ru/doc/
Из дополнительных интересных расширений советую посмотреть LanguageTool((Домашняя страница:
http://www.languagetool.org/)), в некоторых сборках OpenOffice он уже идет в комплекте, проверьте свою.
Medit((
http://mooedit.sf.net)) замечательный редактор, написанный на Gtk, пока, за малым исключением, удовлетворяет все мои запросы. Корнями уходит графическому интерфейсу GGAP((
http://ggap.sourceforge.net/)) для GAP((
http://www.gap-system.org/)). Будет время, напишу более полную заметку про него, благо, писать есть что.
Но сегодня рассмотрим вопрос создания тула ‘PHP syntax check’.
Все или подавляющее большинство дистрибутивов предоставляют средства для конфигурации сетевых подключений. Это удобно делать на стационарном компьютере, но что если у вас ноутбук и приходится работать в разных сетях, да ещё быстро настраивать WIFI, тут должны помочь менеджеры сетевых подключений, для быстрой настройки и ввода в строй.
Это пост-размышление и попытка найти золотую середину.
Итак, исходное: нетбук Asus EeePC 1000H, дистрибутив ArchLinux, из тех менеджеров, что можно найти в стандартных репозитариях: networkmanager, wicd, nuts (в AUR или в чакра-проджект).
Кратко, как они работают: есть демон, запущенный от рута, и есть клиенты, которые запускаются от пользователя и говорят демону как нужно настроить сетевое настроение, продуманность этого взаимодействия залог стабильности и безопасности, но это сейчас не важно.
wicd
Исторически так сложилось, что это был первый мененджер сетевых подключений, который я использовал. Он меня всем устраивал, даже тем, что можно было указать только под одному сетевому интерфейсу для проводной и беспроводной сети. Все, больше ничего лишнего: не VPN, не PPPoE, ни подключения телефона и т.п. Только управление профилями проводных и безпроводных (WIFI) сетей.
Изначально обладал только графическим клиентом - wicd-client, в последних версия обзавелся и консольным - wicd-curses, и все бы было хорошо, если бы не написан на питоне (есть у меня предубеждения к этому языку, считаю его идеальным для обучения хорошему стилю кодирования, но не как не для создания полноценных приложений, по сути, в мире *nix он стал эквивалентом Visual Basic для Windows).
Ладно, мне главное ехать, а не шашечки. Но в какой-то момент времени стали наблюдаться непонятные события - при отключении сетевого подключения (например если просто вынуть кабель) долгие тормоза, при этом от системы никакого отклика. Те же события при подключении, причем, я не могу выловить закономерности (мало-мало грешу на флеш в Firefox, конкретно - всякие ролики типа с Ютуба). Это меня сподвигло на поиск альтернативы.
NetworkManager
Логичной альтернативой стал NetworkManager, разработанный в рамках проекта Gnome. Исследуя его зависимости, оказалось, что сам демон (NetworkManager) от gnome никак не зависит, а вот с клиентами чуть каша (про это позже).
Краткие возможности: написан на Си, что несколько радует, позволяет настраивать сеть по нескольким сетевым интерфейсам, как проводным так и беспроводным, позволяет настраивать соединения по PPPoE, поддерживает настроку VPN (OpenVPN, pptp и ещё что-то), но через допольнительные плагины (которые требуют, для чего-то, установленного network-manager-applet)
Стандартный клиент - gnetwork-manager-applet (вызывается nm-applet), встраивается в системный трей, откуда можно вызвать и конфигуратор, имеет гномовские зависимости: gnome-keyring, policykit-gnome, notification-daemon
Есть клиент для KDE - knetworkmanager, к сожалению есть только в AUR((
http://aur.archlinux.org/packages.php?ID=19526)) и только для KDE3
Для консоли, клиент cnetworkmanager-git или cnetworkmanager, опять таки только в AUR((cnetworkmanager-git -
http://aur.archlinux.org/packages.php?ID=18097 или cnetworkmanager -
http://aur.archlinux.org/packages.php?ID=29595)). Клиент написан на питоне.
В общем, GUI клиента без лишних DE зависимостей пока найти не удалось, так что если кто предложит, написанный только на QT/Gtk, буду благодарен, а пока наблюдаю работа в nm-applet.
nuts
Орешки :) Но пока я его не расколол - в клиенте так и не увидел ни одного профиля. Из минусов программы: жесткая настройка сетевых профилей в конфигурационном файле, но работать может с несколькими интерфейсами. В комплекте графический клиент на QT4 - qnut и консольный - cnut.
Доступен из AUR((kdemod-nut-git -
http://aur.archlinux.org/packages.php?ID=28846)) или из репозитариев чакра-проджект((У них есть отличное руководство -
http://chakra-project.org/wiki/index.php/Get_NET_with_NUT)), для отстройки нужен пакет kdemod-openresolv((
http://aur.archlinux.org/packages.php?ID=28847)) и хотя оба пакета в своём названии содержат kdemod, никаких kde зависимостей они не тянут((openresolv вообще набор скриптиков)).
Вообще программа интересная, буду курить, но больше мне про него на данный момент сказать нечего.