«Ну, что же», — промолвил Лило, изящно подкручивая один из пяти слоёв на кубике рубика, — «значит так оно сейчас выглядит спустя многие годы».
Огромный пустой зал, на полу обрывки фотографий, очень много надписей на стене. Лило слушал зал, представлял себе тот шум, который здесь был, реакции на его монологи, восхищения, критика, технический сленг, невероятные истории.
Подойдя к центру комнаты, Лило обращает внимание на пучок проводов из стены, оголённые концы, местами, часть проводов всё ещё рабочие. Проектор покрылся пылью, лежит на боку заваленный газетами.
Через окна аудитории валит свет, пыль мирно плывёт в лучах солнца.
«Там моё небо, за окнами, я им восхищался». Лило сделал паузу.
«Пожалуй, надо прибраться тут», — поправляя респиратор, сообщил всем Лило, затем протёр проектор, выставил его напротив стены, подключил к розетке, убедился, что проектор работает.
Полистав ключи с аватарами, Лило выбрал тот, что с динозавром и вставил его в замочную скважину проектора. Проектор негромко загудел вентилятором, яркие лучи направились на стену, высвечивая надпись «Возвращение»
Понадобилось мне как-то узнать потребление ресурсов и длительность по времени каждого задания в планировщике cron.
Стандартного решения я не нашёл. Увеличение уровня журналирования демона не помогло. Я смог выяснять только когда задача завершалась и вычислять время задачи на лету становилось затруднительно.
Для помощи я обратился к утилите time, которая позволяет узнать время работы процесса и некоторые ресурсы, которые процесс потребовал для работы (такие как память, количество ЦПУ, нагрузку на диск и сеть). Если честно, то характеристики нагрузки на диск и сеть несколько неверны, так как показывают только цифры для родительского процесса, без суммы ресурсов по всем дочерним.
Затем, я начал писать скрипт-обёртку для заданий в кроне и напоролся на ещё одну неприятность. Если вы используете bash (а он как правило по-умолчанию вместо sh на многих debian/redhat основанных дистрибутивах), то встроенная в интерпретатор комманда time имеет мало общего с основной утилитой и вызов придётся делать по полному пути. У меня это был /usr/bin/time.
Итак, от слов к делу. mitroko@host:~# cat /bin/cronresources
#!/bin/bash
MD=$(date +%b\ %d\ %H:%M:%S);
/usr/bin/time -f"$MD Process: %C\nTime: %es; Memory: %MK; Exitcode: %x; FS I/O: %I/%O; NET I/O: %r/%s" -a -o /var/log/cron-resources.log $*;
Разрешаем запуск этого скрипта.
Создаём пустой логфайл /var/log/cron-resources.log и выдаём ему 777 в качестве прав. Для тех, кого эти права не устраивают - пользуйтесь sudo. Тогда для каждого пользователя, обозначенного в заданиях cron необходимо будет давать разрешение.
Затем, к каждому заданию в cron дописать cronresources перед исполняемым файлом, указанном в задании. Например:
Интересно, что сказали бы ребята из гугл, узнав, что их контент модифицируют и блокируют доступ к их сайтам?
Будьте осторожны, вполне вероятно, этим прозрачным прокси, легко узнать ваши пароли, которые вы вбивали вне ssl сессий.
Поднял на скорую руку свой цгишный прокси. Стало возможным смотреть ютюб.
Кстати, phproxy (он же poxy) и его форк phproxyimproved - унылое Г. Тормоза и скрипты с правами 777 (жэсточайшэ). nph-proxy.cgi мне больше понравился. Оч быстрый и простой.
С начала этого года была опубликована утилита для перебора WPS пинкода точек доступа - reaver, чтобы проникать в сети WiFi.
Учитывая, что производители знают соответствие "PWS PIN - bssid точки", а спецслужбы имеют прямой доступ к таким соответствиям, то можно сделать вывод, что спецслужбы могут "нечаянно" к вам зайти, если вашей точке доступа меньше полутора лет и вы забыли выключить WPS (многие, даже, не знают что это).
При конвертации форматов в коммандной строке скриптом DocumentConverter.pyсвойства форматов конвертации выбраны по-умолчанию. Например, если вы хотели сконвертировать xls в csv, то разделителями, по-умолчанию, будут запятые, а текст обрамлять, по-умолчанию, будут кавычки.
Очень люблю исходные коды. Лезем в файл DocumentConverter.py и видим там свойства форматов, в часности csv: "csv": { "FilterName": "Text - txt - csv (StarCalc)", "FilterOptions": "44,34,0" }
Эти числа что-то значат. Лезем в опенофис, пытаемся сохранить что-то в формате csv и натыкаемся на фильтр с тремя полями. Значит, эти три числа - это значения этих полей.
Меняем первое число на какое-нибудь, типа 47 и тут же получаем при конвертации разделитель "слеш". Пишем в гугле 44 comma 47 slash и узнаём, что все наши разделители закодированы HTML Escape кодами (proof). Меняем под себя код и получаем необходимые данные в нужном виде. Например, для текста с разделителем "табуляция" и обрамлением "пробел" нужно выставить "FilterOptions": "09,32,0"
Можно было, конечно, и без этого хакерства, просто прочесть мануалы, вникнуть в API, найти KnowledgeBase, потратить день. Но высшее образование у вас никто не отменял.
Реальность. Поставщик для нашего интернет магазина выгружает нам список в закрытом формате xls. Этот файл выгружается программой 1С, используя старую библиотеку, и не выставляет теги кодировки внутри, как заявлено в API, поэтому все приложения, апроче Microsoft Office открывают его с "кракозябрами". Неправильно отображают кодировку. Все запросы к поставщику сменить формат выгрузки обламываются. Уходить от него нельзя по политическим мотивам. Реалии бизнеса. Надо делать workaround.
Задача. Предоставить синхронный пул для конвертирования подобных файлов в читабельный csv для последующего импорта другими системами.
Решение. На сервере устанавливают
OpenOffice HeadLess
OpenOffice-pyuno.
Xvfb для создания фейк фреймбуффера, которым будет пользоваться OOHL.
Комментарии. Сами сервисы (OpenOfficeHeadLess, Xvfb, xinetd) довольно тривиальны. Нетривиален скрипт на баше. Мы получаем данные, и чтобы не закрыть поток, продолжаем конструкцией cat > $INFILE | tee & Таким образом, сокет не закроется и у нас будет время на внутренние операции перекодирования и конвертации кодировок. В конце сокет надо закрыть. Для этого процес опрашивает информацию о себе по PID, узнаёт свои открытые соединения, выбирает порт клиента, узнаёт, какой из cat выдаёт на этот порт информацию и убивает его.
Однако, если вы хотите поговорить с Ричардом Столманом по телефону - просто напишите ему письмо со своим номером и просьбой перезвонить ему. И он перезвонит вам.
Он очень просит, чтобы такие просьбы не были пустыми и было бы о чём поговорить.
Можно просто написать ему письмо и в течение 48 часов получить ответ. Что я и сделал.
Тут всё новоё, будущее. Попросят сделать сайт, и ты, такой крутой, вордпрессы, жумлы, то да сё.
За десять минут без вордресов, зная стати хтмл. Почти без цсс забомбил своему дяде сайт на своём хостинге. Припарковал ему бесплатное доменное имя в зоне .tk и получился http://peter-wolf.tk/