INT 21h

Домашняя страница самого страшного прерывания

FTP Share: скрипт для Caja и индикатор на панельку для быстрой публикации файлов

№ 8008 В разделах: Администрирование Программирование от January 18th, 2016,

В прошлом посте я написал о том как легко можно расшарить файл без лишних телодвижений со всякими файлообменниками. Я пошел еще дальше и написал индикатор на панель задач со списком всех расшареных файлов. Индикатор написан на python3 с применением библиотеки Gtk. Индикатор при запуске подключается к FTP и забирает список файлов на сервере. По этому списку он рисует меню, где можно скопировать ссылку на этот файл или удалить его.

Перед тем как начать работу необходимо произвести настройку. Скрипт setup.sh скопирует файлы в нужные места и создаст конфигурационный файл. Я уже писал ранее про zenity. Так вот это окошко также сделано с помощью этой дьявольски удобной программулины. Параметры записываются в файл ~/.config/ftpshare.conf в виде ключ=значение.

Screenshot-FTP Share

Теперь можно что-нибудь расшарить для других. Выберем пару файлов и нажмем в скриптах FTP Share. Как работает этот скрипт можно прочитать по ссылке в самом начале этой статьи. Однако, по сравнению с прошлым скриптом конкретно этот не хранит в себе пароль с настройками. С помощью команды source скрипт забирает все нужные настройки из созданного во время установки конфигурационного файла ftpshare.conf. Удобненько!

Screenshot

Файлы закачаны, ссылки поместились в буфер обмена и вы кинули свежую фоточку своей маме. Прошла неделя и папа тоже захотел фоточку. Что делать? Буфер обмена уже тыщу раз изменился. Тут начинает помогать индикатор на панели задач. Выбираем нужный файл, жмем скопировать и … папа пишет мама уже прислала :) Теперь файл можно удалить с сервера. Опять жмем на этот же файл, но на этот раз выбираем “удалить”.

Screenshot-1

Зависимости, которые стоит удовлетворить:

  • Графическая оболочка Mate (ну которая бывший Gnome 2)
  • curl
  • xsel
  • zenity
  • python3 с библиотеками Gtk

Забрать программу можно так git clone https://git.blindage.org/FTPShare-for-Mate-Desktop.git

Нет комментариев »

Скрипт Caja для закачки файлов на FTP

№ 8004 В разделах: Администрирование Программирование от January 18th, 2016,

Надоело мне файлы руками заливать на всякие обменники когда можно написать простейший bash скрипт и больше не иметь мозг с этой проблемой.

Сегодня нам понадобится:

  • Графическая оболочка Mate (ну которая бывший Gnome 2)
  • curl
  • xsel
  • zenity

Пакет zenity обычно уже предустановлен и предназначен для создания диалоговых окон из консольных скриптов. Идеально для моей нужды. Пакеты с curl и xsel придется доустановить sudo apt-get install curl xsel.

Я написал коммент к каждой строке чтобы было понятно даже непонятливым. Скрипт ложится в директорию ~/.config/caja/scripts/

#!/bin/bash
#установим разделитель "перенос строки" для CAJA_SCRIPT_SELECTED_FILE_PATHS
IFS="
"

#для удобства положил в переменную с более коротким именем
files="$CAJA_SCRIPT_SELECTED_FILE_PATHS"

#урл хранилища файлов. в конец будут добавляться имена закачаных файлов
url="http://4334.selcdn.ru/sharedfiles/"

#проверим а не пустая ли переменная нам упала
[ "$files" == "" ] && exit 1;

#в answer упадет 1 (отмена) или 0 (продолжить).
answer=$(zenity --question --text "Файл станет доступен всем. Заливаем?" --default-cancel)

#проверим что ответил юзер. 
#использую #? чтобы узнать ответ от последней запущеной программы
[ $? -ne 0 ] && exit 1

#ну а тут простой перебор файлов
for filename in $files
do
    #закачиваем курлом на фтп
    curl ftp://ftp.selcdn.ru/sharedfiles/ --user vlad:MySUPAPasswD -T $filename
    #тут определяем имя файла
    basefilename=$(basename $filename)
    #ложим результат в переменную. если несколько файлов, то учтутся и уже залитые файлы
    resultText="$resultText $url$basefilename"
done
#а теперь нежно ложим результат в буфер обмена 
echo $resultText |xsel --clipboard --input

share file caja

Нет комментариев »

Генератор матов

№ 7966 В разделе "Программирование" от January 9th, 2016,

Как бы смешно это не звучало, а разговаривать как поручик Ржевский еще уметь надо :) Рабочий вариант лежит здесь genmat.blindage.org.

2012-09-04_092953

Итак, у существительных есть падежи, как и у прилагательных. Кроме того, еще у них есть род. Также у меня генерируются и глаголы, но я не стал углубляться в литературные изыски и оставил только повелительное наклонение. Вырисовывается небольшой шаблон для генерации: “Да [G:3] тебя [P:2:J] [S:2:J:I]! [P:3:M] ты [S:2:M:I]!”. Сначала указывается тип слова (глагол, прилагательное или существительное). Следом идет этажность и род. Завершает цепочку параметров падеж.

Получается, что в таблице существительных нужно держать корень для мужской формы, женской, а также постфиксы падежей. Тоже самое и для таблицы прилагательных. С глаголами все проще. Но что делать с промежуточными словами? Они также находятся в собственной таблице и только в одной форме. Этого достаточно для начала генерации, но у вас начали появляться слова типа “хуехуевый” или пиздосвинопиздявый”. Решить эту проблему можно введя таблицу тематики. По сути каждая запись в таблице тематики является словом со ссылками на его формы в остальных таблицах.

Пример генерации:
Поручик внезапно отрубился после предательского удара полом о лицо, но через некоторое время пришел в себя и начал пытаться подготовиться к визиту высшего офицерства. “Да чмомусороотмонди этот сучечмошный сапог! Куда он опять подевался?” — нервно прокричал поручик Ржевский, встал на ноги и затем, покачиваясь от легкого опьянения, грязно выругался. Все это время Татьяна сидела в тени и охуевала с происходящего. Несколько моментов спустя она дала себя обнаружить: “Да вон твой сапог под стулом лежит. Ты здесь весь пол заблевал, жопопроёбина ты несчастная. Бери свой козоговяный сапог и уебывай из моей спальни”.

Нет комментариев »


Комментарии
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть более благие цели, вы просто ответьте на мой вопрос,...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно сделать? Допустим я купил данную рацию себе, мне...
  • 21h: слушать никто не запрещает. нет закона, который запрещает слушать. те, кто говорит иначе нагло врут. а если...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng uv-5r, допустим на объект, ну или вообще...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете можно скачать инструкцию к вашей модели рации,...
  • Серегй: Добрый день! Хотелось бы задать пару вопросов по поводу раций, у Вас есть куда можно обратиться ТАТ.
  • 21h: потому, что нейросетью проще. яркость светофора меняется в зависимости от времени суток от маленькой красной...
  • Михаил: А зачем нейросеть? Почему цвет светофора определить без нейросетей?
  • Александр: Иногда нужна техника без доступа интернета и компьютера. Для хранения паролей, счетов, записей и т.д....