Pull to refresh

Phatch — пакетная обработка изображений

Lumber room
Программа Phatch предназначена для пакетной обработки изображений. Она может быть полезна для тех, кто обрабатывает изображения большими группами по шаблону.



Приложение способно поворачивать, переименовывать, изменять перспективу изображения, накладывать тени и водяные знаки, и многое другое.

Можно cоставить список действий, а затем применить его ко всем файлам, которые нужно обработать.
Полный список возможностей и поддерживаемые форматы
Руководство по установке для различных ОС
Сайт программы
Total votes 14: ↑13 and ↓1 +12
Views 894
Comments 18

Решаем практические задачи на батниках

Lumber room
Батники это не мощный язык программирования, но, в то же время, на нем можно решить много рутинных задач. Цель статьи не просто рассказать о возможностях Windows-консоли, а показать их, решая практические задачи с которыми мне приходилось сталкиваться.
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Views 15K
Comments 29

Свой сапер на своих батниках

Abnormal programming *
image

Однажды захотелось мне написать Minesweeper… на батниках. И я его написал.

Встречайте!!! Minesweeper for cmd.exe

Итак, особенности данного продукта:
  • Оригинальное лого
  • Двухцветный текстовой графический интерфейс (фон — чёрный, текст — серый)
  • Возможность воспроизведения программы практически на любом компьютере
В общем, это настоящий сапер (а не те жалкие подобия — KMines и сапер for Windows) для настоящих мужчин. И далее вы сможете прочитать как сделать свой крутой сапер.
Читать дальше →
Total votes 241: ↑227 and ↓14 +213
Views 12K
Comments 118

Свои судоку на своих батниках

Abnormal programming *
image
С предыдущего хабратопика я понял, что хабражителям очень понравился сапер на своих батниках и поэтому рискнул написать еще одну игру, а именно — Судоку. И опять же, на своих батниках.
Как и Minesweeper, Sudoku for cmd.exe имеет ряд следующих преимуществ:
  • Оригинальное лого
  • Двухцветный текстовой графический интерфейс (фон — чёрный, текст — серый)
  • Возможность воспроизведения программы практически на любом компьютере
В общем, это Судоку для настоящих мужчин. И скачать эту замечательную игру вы можете прямо сейчас, воспользовавшись этими ссылками: Plain Text | Google Docs
Читать дальше →
Total votes 103: ↑83 and ↓20 +63
Views 4.8K
Comments 51

File Grinder: Пакетное переименование файлов (FB2, MP3 etc.)

Lumber room
Хочу представить на ваш суд программу для пакетного переименования файлов написаную за несколько свободных вечеров. Надеюсь на конструктивную критику и предложения, ну и попиариться тоже хочу, как же без этого? ;)

image

Скачать программу можно здесь.

Читать дальше...
Total votes 34: ↑28 and ↓6 +22
Views 2.5K
Comments 21

Автоматизация автоматизированного тестирования или Сила batch файлов

Lumber room
— Почему не работаешь?
— Оно тестируется


Привет, Хабролюди.

Решил поделиться с вами своим опытом на тавтологическую тему – автоматизация автоматизированного тестирования. Как мы все знаем, чтобы не тратить время на регрессионные тесты умные тестировщики придумали когда-то использовать что-то кроме рук для прогона тестов.
Но захотелось автоматизации полного цикла, то есть от начала тестов до получения результатов. Итак…
image

Задача.


Автоматизировать циклическое тестирование приложения на разных операционных системах без участия человека.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 3.1K
Comments 12

Простая автоматизация резервного копирования под Windows

Lumber room
Вопрос резервного копирования волнует каждого специалиста, ответственного за сохранность вверенных ему бесценных служебных документов/баз данных/иных файлов. Для того, чтобы чувствовать себя более уверенно перед лицом различных вероятных форс-мажоров, необходимо периодически выполнять резервное копирование критически важных данных. Не менее актуальна проблема сохранения нажитого непосильным трудом и для домашних пользователей.
Вашему вниманию предлагается простой, но эффективный скриптик, помогающий решать данную проблему.

Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 25K
Comments 21

Облегчаем использование pyinstaller для создания exe

Python *
Недавно начал свое знакомство с языком Python с целью применения его для написания в короткие сроки приложений, выполняющих необходимую задачу здесь и сейчас. Так как планируемые приложения могли быть запущены не только на ос, в которых установлен сам Python, было решено собирать exe. Почитав пару топиков на хабре и комментарии к ним, пришел к выводу, что для этих целей прекрасно подойдет pyinstaller. Он довольно прост в использовании, но все же некоторые повторяющиеся моменты можно сократить.
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views 46K
Comments 16

Многопользовательский чат на BAT

Abnormal programming *
Был период, когда в универе задали сделать несколько чатов. В зависимости от вариантов, были заданы различные способы взаимодействия программ от сокетов до майлслотов (mailslot). Когда задания были прикончены, остались силы взяться за скрипты BAT. Вот что получилось…



Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)

В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
Читать дальше →
Total votes 247: ↑242 and ↓5 +237
Views 20K
Comments 72

Анализ очередного варианта скрытого радмина

Antivirus protection *
Сегодня на форуме в личку прошло сообщение с просьбой проверить файл. Я согласился, любопытно же. Немного опережу события и скажу, что это бэкдор созданный из радмина второй ветки и кое-что еще)
Полученный файл: kak_ponyat_muzhchin_bibl.ru.exe (md5:2138A224BDDD1A36329F398A37E10AB9)
Хэш суммы я буду указывать только для вредоносных файлов.
В общем по описанию — это какая-то книга, почему в exe — непонятно, глядим далее.
Воспользуемся PEiD:

UPX 0.89.6 — 1.02 / 1.05 — 2.90 (Delphi) stub -> Markus & Laszlo [RAR SFX]
Попробуем распаковать винраром, получим два файла:
Читать дальше →
Total votes 89: ↑78 and ↓11 +67
Views 30K
Comments 76

Пакетная обработка изображений в Picasa с помощью ImageMagick

Image processing *
imageВ нашем офисе мы используем Picasa для обработки множества сканов и фотографий. Мы используем Picasa уже несколько лет и очень довольны. Однако, Picasa не предоставляет всех необходимых нам функций, а некоторые слишком сложно использовать при нашем объеме работ. Чтобы упростить нашим сотрудникам задачу, я решил автоматизировать некоторые процессы, используя два основных компонента: набор консольных утилит ImageMagick, и довольно малоизвестный Picasa Button API.

В качестве примера я опишу небольшое приложение, которое мы используем для совмещения нескольких изображений в одно, одним кликом прямо из интерфейса Picasa. Немного разобравшись с ImageMagick, можно легко модифицировать этот код для других задач.

Читать дальше →
Total votes 50: ↑49 and ↓1 +48
Views 4.8K
Comments 7

Ошибка 80040154 при работе с WebAdministration

PowerShell *
Мне нравится время от времени писать на PowerShell. В основном это задачи администрирования и развертывания. В этой заметке я хочу рассказать о решении одной интересной проблемы связанной с работой модуля WebAdministration. Итак, суть проблемы: при выполнении любого командлета из этого модуля возникает ошибка:

Cannot retrieve the dynamic parameters for the cmdlet.
Retrieving the COM class factory for component with CLSID {688EEEE5-6A7E-422F-B2E1-6AF00DC944A6} failed due to the following error: 80040154.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Views 2.9K
Comments 0

Пример использования Batch

Drupal *
Допустим, необходимо проделать некую операцию с большим количеством node и времени выполнения скрипта не хватает.
В этом случае можно увеличить время выполнения скрипта следующим образом:
set_time_limit($time); // $time in seconds

Это, мягко говоря, не самое правильное решение.
В этом случае на много правильнее реализовать это через batch.

Читать дальше →
Total votes 37: ↑31 and ↓6 +25
Views 27K
Comments 16

Пять способов ускорить запросы API Facebook на практике

Facebook API *
Ни для кого не секрет, что самым узким местом веб-приложений чаще всего являются HTTP-запросы к внешним серверам. Так, время загрузки данных запроса API много больше чем время, необходимое для выполнения большинства самых сложных скриптов веб-приложения.

За время работы с API Facebook я накопил несколько рецептов оптимизации запросов: как увеличить скорость работы скриптов, уменьшить их количество и ресурсоёмкость.



Способы, изложенные в этой статье, работают только с API Facebook. Но я не исключаю, что они могут быть применимы и в других сервисах, предоставляющих API.
Читать дальше →
Total votes 84: ↑81 and ↓3 +78
Views 14K
Comments 27

Пакетный 3D-конвертер на основе 3ds Max

Working with 3D-graphics *

Встала недавно передо мной задача сконвертировать n-ое количество 3D моделей из Autodesk Collada (*.DAE) в OBJ и обратно. Поиск среди пакетных конвертеров ни к чему не привел, многие хоть и имеют обширный список поддерживаемых форматов, но какой-нибудь один из вышеназванных обязательно не знают.

Раз гора не идет к Магомету Тогда я решил воспользоваться возможностью 3ds Max'a по написанию пользовательских скриптов на MAXScript, который бы осуществил задуманное. Благо данный мощнейший инструмент по 3D моделированию поддерживает большинство распространенных форматов, включая нужные мне.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 26K
Comments 7

Обрабатываем ошибки и вылеты проприета́рных программ

Artificial Intelligence
Если вы занимались пакетной обработкой в Adobe Photoshop с помощью инструмента Automate — Batch (пакетная обработка очень большого количества графических файлов с наложением на них фильтров из программы в автоматическом режиме), наверняка сталкивались с такого вида вылетами программы, по не понятным для меня причинам:





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

В кратце вот и проблема! (Аналогично Вы сможете обрабатывать ошибки и от другого программного обеспечения). Решение?
Читать дальше →
Total votes 25: ↑11 and ↓14 -3
Views 3.9K
Comments 19

Изучение английского и старый добрый CMD

Abnormal programming *
Sandbox
Сенсация! Сенсация! Батники позволят вам выучить английский за 10 дней Этот пост посвящен написанию скрипта для достижения крохотной личной и сугубо прикладной цели, но, как и всегда при взаимодействии с cmd, сама цель гораздо менее интересна тех странных способов и удивительных путей (какой приятный эвфемизм для так и напрашивающегося выражения), которыми она достигается.

Итак, пост для извращенцев-некрофилов, изредка развлекающихся воскрешением медленно разлагающихся bat-файлов ради удовлетворения своих странных потребностей
Total votes 31: ↑25 and ↓6 +19
Views 4.3K
Comments 21

CLI скрипт на CoffeeScript — легко

Programming *Node.JS *CoffeeScript *


Я уже довольно давно использую coffee-консоль как калькулятор. Удобно!

И вот недавно задумался — почему бы не попробовать написать CLI-скрипт на CoffeeScript от начала и до конца? И написал!
Читать дальше →
Total votes 7: ↑3 and ↓4 -1
Views 1.2K
Comments 12

Пакетное преобразование видео для бытовых плееров

Working with video *
Sandbox
Обладание большой видеотекой сегодня не редкость, и обычно в нее стараются собрать все в самом лучшем качестве. Однако другая сторона медали — несовместимость со старыми бытовыми проигрывателями, древними ноутбуками и прочими портативными гаджетами.

Я столкнулся с этим по банальной причине бытового комфорта.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 8.3K
Comments 0

Новые 5 способов ускорить запросы API Facebook

Facebook API *
Прошлой осенью я публиковал на Хабре пост Пять способов ускорить запросы API Facebook на практике, который оказался неплохим сборником рецептов. За это время Facebook API сильно изменился, став еще лучше. Теперь я редко встречаю задачи, с которыми я бы не смог справиться за один HTTP запрос к API. А все благодаря новым возможностям, о которых я и расскажу сейчас.

image

Вот какие способы были в прошлый раз:
  1. Запрашиваем только необходимые поля
    me?fields=id,name,birthday
  2. Запрашиваем данные нескольких объектов в одном запросе
    ?ids=4,501012028
  3. Используем фильтрацию и пагинацию
    me/friends?limit=10&offset=10
  4. Используем запросы FQL
    fql?q=SELECT uid, name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
  5. Отправляем Batch Request с несколькими запросами
    batch=[{«method»:«GET», «relative_url»:«me»},{«method»:«GET», «relative_url»:«me/friends?limit=50»}]

Читать дальше →
Total votes 64: ↑60 and ↓4 +56
Views 19K
Comments 13
1