Истории с тегом: программы

Всего историй: 796

8759

Доставь себе радость руками

Всё-таки ортодоксальный линуксоид — это диагноз. Но ладно бы люди себе проблемы создавали — у них-то проблем, скорее всего, как раз и нет. Проблемы создаются другим людям.

Потребовалось нашей конторе для решения определённой задачи сложное опенсорсное ПО. ПО это выпускается исключительно для тяжёлых опенсорсных линуксов, как Red Hat или Suse, поэтому решено было установку проводить на CentOS. Покопал в сети, нашёл единственную инструкцию по установке. Сел, начал.

Софт сложный, включает в себя MySQL, OpenLDAP, почтовый и DNS-сервера, Apache и какую-то обвязку на Tomcat. Инструкция изобиловала трудностями и подводными камнями. Взять дамп базы данных MySQL тут и положить его туда-то, задать вручную схемы LDAP, заводить пароли и пользователей, необходимые системе, — всё руками.

Причём такие операции, как разворачивание базы данных MySQL из снэпшота, автор не пояснял. Половина первого дня ушла на раскуривание манов по MySQL по поводу того, где там лежат пользователи, как туда положить дамп и где настраиваются подключения. Плюс интенсивный гуглинг по теме сообщений об ошибках. Второй день целиком прошёл под знаком OpenLDAP, и если с MySQL я был как-то знаком, то про LDAP вообще ни сном, ни духом. Что такое схема, как именуются объекты в дереве, конвертирование конфигов через Slaptest, — всё пришлось изучать методом скоростного погружения и периодических звонков от начальства.

В общем, на исходе пятого дня я свободно ориентировался в сообщениях об ошибках на Python и Java, на которых до этого ни разу в жизни не писал, знал наизусть форматы конфигов MySQL, OpenLDAP, Apache, rsyslog, bind и Exim. Ещё немного — и можно было идти сдавать RHCE экстерном. Однако программа так и не работала.

Мозг кипит, желание сломать монитор нарастает. Вдруг в инструкции вижу, что базу можно почистить командой foo-db-clean. Заинтригованный, пробую. БД чистится, но с нуля не создаётся. Смотрю через rpm, что ещё есть в пакете foo, и нахожу замечательный скрипт foo-setup.

Запускаю. Скрипт интересуется, действительно ли у меня CentOS 5, правда ли написана в /etc/hosts по поводу моего доменного имени, рутовые пароли от MySQL и OpenLDAP. И ставит. Вся установка занимает 15 секунд.

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

8747

Без танцев музыки не будет

Захотелось мне послушать музыку. В качестве плеера использую MPD, потому как в нем настроено и вещание моей музыкальной коллекции по локалке, а ещё один плеер заводить неохота.

Так вот, открываю ncmpc и начинаю недоумевать: выход на локальный PulseAudio включил, но звука нет. Перезапускаю сервер — та же картина. Перелопачиваю конфиг — ничего нового. Проверяю радио — работает, но, как водится, с задержкой: между переключением трека и началом его проигрывания проходит до 15 секунд.

Плюю на гордость и отправляюсь в сеть за Minitunes, который давно уже хотел попробовать. Готовых бинарников под 64 бита нет — качаю исходники. В мануале указан список пакетов для установки на 150 МБ. Качаю пакеты, ставлю, собираю Minitunes. Начинаю набирать команду запуска…

…и MPD оживает.

8738

Teleport Noob

Появилось как-то раз у одного юзверя желание поучиться программировать. После некоторого времени подбора языка пал выбор на C++. Нашел юзверь сайт-учебник с полезностями всевозможными и захотел его к себе на диск скопировать. Установил Teleport Pro, скормил ему ключик да поставил сайт грузить.

Загрузила программа умная 50 с чем-то файлов (страничек и того меньше) и сказала, что готово всё. Удивился юзверь, открыл index.html, нажал на ссылку «Глава 1», а Телепорт и молвит ему языком скриптовым: мол, не загрузил я страничку эту, ибо на другом сайте расположена она. И так, и сяк пробовал юзверь — не грузится сайт полностью. Призадумался и пошёл искать аналоги для Linux. Нашёл. Ввёл в консольку wget -l 3 -k %url% и получил желаемое.

И вот теперь сидит юзверь и думает: за что хотят разработчики Телепорта аж 50 убитых енотов, если их программа спотыкается там, где штатный opensource-софт даже не чихнул?

8731

И почему бы это?

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

Про «программу, чтобы слова учить» и пойдёт речь. Поставила одному из своих учеников Anki 2, чтоб лексику осваивал иностранную. Через несколько недель звонит:

— Поставьте, пожалуйста, программу заново, а то не запускается.

— А в чём дело? — спрашиваю. — Куда делось, что нажимали?

Ответ матери ученика, женщины средних лет (бухгалтера, кстати), потряс до глубины души:

— Ну, я хотела её запустить, но почему-то не стала кликать на ярлык, а пошла искать саму программу. А потом я зашла в Program Files и нашла её там, но почему-то нажала не Enter, а Delete. А она почему-то удалилась не в корзину, а сразу и совсем.

8719

Нет пути!

Потребовалось как-то поставить на машину любимый всеми в университете Матлаб. Пришёл, посмотрел машину, запустил установку дистрибутива, сделал всё, что положено, и программа заработала.

Перезагрузившись, я увидел странный ворнинг о том, что у пользователя нет и не было никогда прав работать с ATI, и вообще, со всеми вопросами по видеокарте обратитесь к администратору. Однако в целом всё было хорошо, и я решил эту машину оставить до завтра.

На следующий день на машине пропал интернет, причём как-то настолько ужасно, что даже ping говорил, что «не является внутренней или внешней командой, исполняемой программой или пакетным файлом». Впрочем, вопрос тут был не в машине, а в маршрутизаторе — интернет снова вернулся. А вот ping — нет. А также ipconfig и ещё куча умных и полезных команд консоли.

Погрешил на вирусы, которых не было. Покопавшись в системе, я обнаружил, что при установке Матлаб решил не церемониться с содержимым переменной %PATH%. Остались только две записи:

d:\MATLAB\R2009b\runtime\win32;d:\MATLAB\R2009b\bin

8711

Ядрёный Офис

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

Я же воспользовался шоковой терапией. Этому помогли три обстоятельства: во-первых, тогда Ворд 2007 был ещё в диковинку, во-вторых, была известна точная дата проверки, а в-третьих — коллектив стопроцентно женский.

Итак. Сперва заменяем всем сотрудницам Ворд с 2003 на 2007. Возгласы «здесь всё непонятно» звучат с утроенной силой. Ничего. Терпите, девочки, терпите.

Ровно за четыре дня до проверки повсюду заменяем Ворд 2007 на Опен-офис. Говорим, что это сверхсекретная разработка физиков-ядерщиков (женщины на такое ведутся удивительно легко), которая лучше любого Ворда — что 2003-го, что 2007-го. Предупреждаем сотрудниц, что скоро придёт комиссия из МАГАТЭ (и на такое ведутся), проверяющая внедрение сверхсекретной разработки. И чтобы никто не проболтался, что её только недавно внедрили, а то премии лишат (всё ещё ведутся). Всегда она у нас была, поняли? Всегда!

Результат: сотрудники осыпают сисадмина благодарностями (вернулся привычный, знакомый интерфейс), а на проверке (этой и всех последующих) никто ни разу не проболтался. И только одна секретарша совсем недавно меня спросила: «А эта атомная программа меня не облучает?»

8701

Новичка Романа — четырнадцать раз

Работаю простой секретаршей в учебном заведении. Сделала документы по новым специальностям, везде подписали, где нужно. Приношу их на подпись директору, показываю документы секретарю.

— Шрифт не тот

— Окей, исправлю.

— Время нового романа.

— Что, простите?

— Четырнадцать, время нового романа!

Ага, это был Times New Roman 14 кегля.

8681

Автоматизация костылей

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

Однажды админ соседнего корпуса ушёл в отпуск. Звонят мне из этого корпуса и заявляют: «У нас сканер не сканирует». Думаю, раз коллеги нет, надо помочь. Накинул куртку и пошёл.

На этаже в коридоре стоял HP 3390, подключённый к хабу. Весь персонал отправлял на беднягу задания на печать и удалённое сканирование. Сканирование происходило следующим образом: подходил юзер, нажимал кнопку «Сканировать в…», выбирал режим сканирования, нажимал «Сканировать», и файл падал в расшаренную папку на принт-сервере. Сейчас же при нажатии кнопки «Сканировать» ничего не происходило.

Надо искать принт-сервер. Ловлю первого попавшегося юзера и спрашиваю: «Где у вас главный компьютер?» Меня ведут к комнате с закрытой дверью: «Вот тут». Четверть часа ушла на поиски ключей от заветной комнаты. Внутри стояли два ПК: совсем дохленький Celeron с 512 МБ ОЗУ на борту, который и был принт-сервером, и сервер-файлообменник с шестью винтами по терабайту.

Сел за принт-сервер. В диспетчере задач туева хуча лишних процессов, которые выжрали всю ОЗУ, файл подкачки раздулся до 3,3 ГБ, процессор загружен на 90%. Ну, не справляется с удалённым сканированием бедняга. Очищаю автозагрузку, убиваю процессы — все жизненные показатели в норме. Запускаю удалённое сканирование — тишина. Лезу в трей, в автозагрузку — обнаруживаю тулзу от HP. В автозагрузке она лежит, а вот в диспетчере задач процесса нет. Запускаю тулзу — сканер в коридоре весело жужжит. Закрываю «серверную», отдаю ключи кому надо и ухожу.

Через час звонок: «У нас сканер снова не сканирует! Работа стоит!» Снова иду в корпус, ищу ключи. В диспетчере всё тихо, вот только процесса тулзы не видать. «Здесь был кто-нибудь?» Нет, говорят, не было. Ну, мало ли… Закрываю и ухожу.

Через два часа история повторяется. В душе слегка матеря и старый комп, и кривой софт HP (процесс отваливается сам безо всяких дампов и объяснений через пару часов), открываю планировщик, даю задачу выполнять hpscantoolbox.exe каждый час. Проверяю — тулза в памяти перезаписывает экзешник, а не создаёт новый процесс. То, что нужно!

Прошло два месяца. Всё до сих пор исправно работает. Местный «сисадмин» раньше, оказывается, каждый час перезапускал тулзу вручную через VNC. Был благодарен за оказанную помощь и автоматизацию процесса.

8642

Палочка с кружочком

Работаю в финуправлении программистом. Звонок от юзера:

— У меня палочка с кружочком и всё прыгает.

Как обычно, начинаю расспрашивать, в какой программе. Оказывается, в Ворде. Начинаю собирать дополнительные сведения по проблеме.

— Хочу напечатать документ, а он не печатает: на экране палочка с кружочком и прыгает!

— Как прыгает?

— Нажимаю большое, ещё раз нажимаю маленькое. И прыгает!

Все сидящие в кабинете ржут, понимая, что речь идёт о предварительном просмотре и лупе.

8613

Не для слабых умов

В 1993 году купили на фирму графическую библиотеку — аналог TurboVision, но в графическом режиме. Разработка подобного чуда оценивалась примерно в человеко-год, и 50 долларов за готовый продукт даже в те времена были не деньги.

Установили, погоняли демку — сказка. Перенесли на эту либу свой софт — понеслась! Полезли баги. Хорошо, исходники в поставку входили. Отдельные куски очень серьёзно переписали. Зато изначально графика в этой библиотеке по тем временам быстрая была, потому уходить на какой-нить BGI хотелось, как помирать. Отладились и жили на либе лет десять.

В чём фикус? А в том, что рекламный слоган этой либы звучал не иначе как «библиотека для профессионалов». Мы его весьма часто вспоминали, копаясь в чужом ассемблерном коде. В конце концов согласились: ламеру тут делать нечего.

А вы теперь думайте. Надеюсь, я несколько сместил качественные оценки: какой софт для ламеров, а какой — для профессионалов…