ffmpeg: стрибки у входовому файлі

Якщо ви, так само як і я чи цей користувач, скориставшись параметром -ss у ffmpeg, довго чекаєте, поки програма стрибне у потрібне місце, або при тому отримуєте від неї помилки (чи навіть, як у мене, вона в певний момент перелазить через оперативку й помирає), поставте -ss перед -i.

Помилка-індикатор:

Buffering several frames is not supported. Please
consume all available frames before adding a new one.

LilyPond: Нотоносець без ліній

У LilyPond є можливість друкувати ноти на невидимому нотному стані. Таке може стати в пригоді, наприклад, в навчальному процесі чи алеаторичній музиці. Ось як це робиться:

\override Staff.StaffSymbol #'transparent = ##t

Цю команду слід додати прямо перед нотами. Якщо ж Вам потрібно щоб невидимими стали й тактові риски, можете скористатись додатково ще такою командою:

\override Staff.BarLine #'transparent = ##t

Щоб відключити показ номерів тактів, слід додати блок

\layout {
  \context {
	\Score
	\remove "Bar_number_engraver"
  }
}

поза будь-якими блоками \score, або у якомусь із них, якщо потрібно це застосувати лише до одного розділу твору.

Більше про приховання окремих об’єктів читайте тут (англ.).

tcpdump: відсіювання HTTP GET

Уявимо себе адміністратором сервера, що перебуває під атакою–відплатою за EX.ua (одразу зауважу, що я не є таким адміністратором, у мене просто гарна уява).

У першу чергу, нам було би цікаво, що саме летить на нас, що саме «валить» наш сайт «із ніг».

Щоб довідатися, є різні способи — скажімо, дивитися журнал веб-сервера, дивитися трафік на сервері утилітою tcpdump чи подібною; можна на проміжному комутаторі відгалужувати трафік і дивитися його tcpdump’ом десь на іншому комп’ютері… Але, так чи інакше, завжди цікаво знайти найбільш універсальний інструмент.

На мій погляд, найбільш універсальним інструментом є саме tcpdump.

Одразу зауважу, що ми можемо «попрохати» tcpdump писати трафік у файл, кожні N секунд закривати файл і починати новий, а на щойно закритому виконувати певну дію (запускати скрипт) — таким чином ми можемо не лише збирати, а й у режимі «майже реального» часу аналізувати інформацію і виконувати певні дії. Це все вміє сам tcpdump, ми маємо лише все продумати і написати скрипти .)

Наприклад, може бути зручним використання утиліти fail2ban; але цей скрипт працює на одному ядрі і на гарно навантаженому сервері (яким, імовірно, є кожен сервер під атакою) почувається невпевнено. Але ми можемо суттєво полегшити йому життя, якщо не змушуватимемо читати журнал веб-сервера, а «згодовуватимемо» вже добре проаналізовану інформацію. Наприклад, із зібраної tcpdump’ом інформації відбирати адреси, з яких надходить більше X [кіло]запитів за одиницю часу.

Отже, tcpdump виглядить («має вигляд» — «виглядить», а не «виглядає»!) досить зручним інструментом. Тож спробуємо з його допомогою ловити лише HTTP GET пакети.

А тепер зазирнемо у нутрощі пакетів »

Узгодження множини з числом (PHP)

Недавно треба було зробити на PHP зворотній лічильник днів до події. В таких випадках виникає потреба узгодити число днів, що залишились, з іменником «день».

В сучасній українській мові є три способи узгодження з множиною:

  • для всіх чисел, що закінчуються на 1, за винятком 11, маємо іменник в однині («день»)
  • для тих, що закінчуються на 2, 3, 4, за винятком 12, 13, 14, маємо множину в назиному відмінку («дні»)
  • для решти — множина в родовому відмінку («днів»)

Окрім того, в мові існувала ще двоїна, але тут ми її обійдемо. Словом, ось код:

switch ($daysleft % 10) { // Це не я придумав
case 1:
	if ($daysleft != 11) {
		$output .= ' день';
		break;
	}
case 2:
case 3:
case 4:
	if (($daysleft < 10) || ($daysleft > 20)) {
		$output .= ' дні';
		break;
	}
default:
	$output .= ' днів';
}

Спільні права на файли (для *nix)

Нерідко виникає становище, коли одним компутором користується кілька людей. При тому значна частина даних у них також може бути спільною, як то, наприклад, фотоархів. У Unix-подібних системах, зазвичай, при створенні файл отримує схему прав доступу, яка дозволяє запис лише власнику файлу. Це стосується і тек.

Якщо ж більшість Ваших даних є спільними, можливо, Вам буде зручніше, щоб створювані Вами файли (й теки) були одразу доступні до запису й иншими користувачами з групи, до якої Ви належите.

УВАГА: Існує зручна альтернатива до описаного тут способу. Дивіться перші два відгуки.

Для цього потрібно подбати про кілька речей:

  • аби усі «користувачі-друзі» належали до спільної групи у системі;
  • щоб усі спільні файли належали цій групі;
  • щоб файли при створенні одразу були з доступом для запису групою

Отож, спробуємо це організувати.

Продовжити читання «Спільні права на файли (для *nix)»

Перший допис…

Вітаю!-)

Отже, ми всі намагаємося користуватися простими і надійними засобами для вирішення якихось повсякденних задач — і разом із тим прагнемо мати принаймні достатньо гарний результат.

При тому — всі ми різні .)

У нас різні уподобання, різні навички спілкування з комп’ютером, дуже часто й різні операційні системи — і ми дуже часто не маємо гадки про те, що хтось подібну задачу вже вирішив, і вирішив досить просто, і вирішення «працюватиме» і у нашому власному «комп’ютерному просторі». Так, вільне програмне забезпечення (ВПЗ) зазвичай має значно ширший «ареал», пропонує зручність у користуванні і дає чудові результати.

Отже, будемо намагатися накопичувати досвід і ділитися ним 🙂