Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: VirtualBox: интеграция гостевой ОС с внешним веб-браузером?

Лучший ответ:
Готового софта, думаю, нет.
Однако я бы предложил такой велосипед — на гостевой машине регистрируем нашу программку в качестве обработчика http-протокола. Эта программка скидывает в настроенный Shared Folder файл, поределенного формата (обычный текстовый с ссылкой вполне подойдет).
На сервере запущена программа-монитор, которая реагирует на изменения в расшаренной папке.
И обнаружив новый файл, парсит его и открывает браузер на хосте.
Да, немного коряво, но пишется довольно быстро.

Худший ответ:
VirtualBox: Доступ к локальному серверу на хост-машине из гостевой OS. Как настроить?
Вопрос: Как сделать проект Django исполняемым файлом?

Лучший ответ:
Создать из под винды virtualenv (назовём его project) в корне флешки и установить все зависимости
Папку с проектом закинуть в project (пусть называется src)
Создать файл в корне флешки (start.bat) и в нём написать примерно следующее:%CD%\project\bin\python.exe %CD%\project\src\manage.py runserver

Худший ответ:
Под windows для упаковки в exe существуют: py2exe PyInstaller
Вопрос: Нужен ли поддомен для мобильной версии сайта?

Лучший ответ:
Не майтесь дурью. В данном случает вам лучше сделать адаптивный сайт. Но если и он вам не гоже, хз почему, то определяйте на сервере тип устройства и отдавайте для него отдельный шаблон вывода!
P.S. Не нужно думать что для телефона адаптивный сайт может быть очень тугим. Ведь по сути мы получаем тот же сайт, что и на ПК! За исключением различий скорости интернета. Есть масса техник, для уменьшения скорости загрузки сайта. Нужно лишь уметь их применять!

Худший ответ:
Зависит от сайта. Если удобно сделать версию, которая работала бы и там и там, лучше так. Но если дизайн и содержание такого не позволяют, а мобильная версия может быть только урезанной -- однозначно делайте "m.site.ru" версию. Для СЕО это не должно быть важно.
Вопрос: TimeCapsule = Airport Extreme + внешний HDD?

Лучший ответ:
Целесообразно, но не эстетично :) Делать бекап можно.

Худший ответ:
Целесообразно, но не эстетично :) Делать бекап можно.
Вопрос: Умное определение типа переменной

Лучший ответ:
А в чем сложность то?)
function smartType($var)
{
    $type = gettype($var);
    if ($type === 'string') {
        if ((string)intval($var) === $var) {
            return 'integer';
        } elseif ((string)floatval($var) === $var) {
            return 'double';
        } else {
            return 'string';
        }
    }

    return $type;
}

PS через регулярки такую задачу решать конечно оригинально)

Худший ответ:
Пишите свою функцию. Если подобные велосипеды преследуют вас по всему проекту, то можно было бы использовать ЯП со статической типизацией, но здесь на ум приходит только всякий энтерпрайз с жавами и сишарпами.
Вопрос: А где ты хранишь цифровые фотки, %username%?

Лучший ответ:
Храню оригиналы фотографий дома, на диске (одна копия на внутреннем, одна на внешнем). Сейчас их примерно 700 ГБ, так что интернет-сервисы вряд ли помогут. А Яндекс-фотки использую, чтобы делиться с другими — очень удобно за пару кликов получить ссылку для форума, в которой не будет ничего лишнего.

Худший ответ:
Пользуюсь Bitcasa для хранения фото. Бесплатно и без ограничения объёма данных. Особо важное дублируется ещё и в Dropbox.
Вопрос: Как проверить заполнение полей формы ajax php?

Лучший ответ:
установите всем инпутам required

Худший ответ:
На клиенте 2 способа:
1) плагины к jquery jqueryvalidation.org
2) валидация при помощи html5 ruseller.com/lessons.php?rub=43&id=2062
На сервере код что-то типаif (isset($_POST["email"]) && isset($_POST['imya']) && ...)
{
     //Отправка почты
}
else
{
    //Вывод списка незаполненных и неправильно заполненных полей
}
Вопрос: Написание CMS на основе фреймворка?

Лучший ответ:
CMS на Yii имеет право на существование только в том случае, если апгрейд фреймворка до новой версии не остановит ее работу и все функции фреймворка будут работать как задумано. Иначе это будет уже CMS на чем-то похожем на Yii и смысл теряется.
Поэтому варианты 2 и 3 отпадают по сути.
А вот к 1 варианту есть смысл прибавить «удаление бутылочных горлышек» которые кушают ресурсы, или с изменением фреймворка и обязательным коммитом в сам Yii… (если их примут) или через плагинизацию, не меняющую основной код Yii (допустим дополнительный кэширующий слой).

Худший ответ:
Хорошо, что вы осознаете, что это велосипед.

Если вы хотите писать какую-то узкую CMS, то вам совершенно нет нужды использовать фреймворк YII в том виде, в котором он есть, если вы считаете, что он вас ограничивает.

В этом случае, остается 2 и 3 вариант. Нужно идти в сторону того, чтобы минимизировать затраты при той же эффективности. Если вы сможете изменить YII так как вам требуется, то третий вариант будет неэффективен. 

Но лично я, для just for fun, предпочел бы делать все саму, это дает замечательный опыт.
Вопрос: Монитор — 24 или 27 дюйма? Делл (U2713HM / U2412M)

Лучший ответ:
27 
iMac использую на работе, доволен :)

Худший ответ:
Взял 24 дюйма. доволен. Устраивает вполне. Старый 22-дюймовый сотавил и использую как второй монитор при необходимости.
Вопрос: Висячие предлоги в верстке?

Лучший ответ:
В&nbsp;лесу.

Худший ответ:
Неразрывными пробелами.&nbsp;
Вопрос: О скорости SATA3 SSD на SATA2 контроллере. Есть ли резон?

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

Худший ответ:
Основной плюс ssd  это быстрый поиск файлов, а не их скорость, фактически у ссд физически нет головок. это реальный плюс когда вы избавляетесь от обязательных задержек при обращение к каждому файлу скорочть же  чтения самого файла это здорово но не так сильно влияет на производительность.
короче
Все будет пучком.
Вопрос: Паттерн и шаблон в чём разница?

Лучший ответ:
шаблон - одно из значений слова pattern.
a далее все зависит от контекста: это могут быть тождественные понятия, и совсем отличные.

Худший ответ:
В том же, в чем разница между аппликацией и приложением.
Вопрос: Тонкий клиент и сервер?

Лучший ответ:
У меня у мобильника и то параметры лучше. Бедные сотрудники.

Худший ответ:
>Оперативная память 128 Mб
Нет.
Вопрос: Анонимен Hideme vpn?

Лучший ответ:
Спасибо Filigranno за ответы! Всё описано достаточно верно.1) Серверы в Хецнере - не лучший вариант для анонимности.
Уже нет. Плюс накрылись CloudFlare, так что расположение сервера скрыто от публики.2) Часть ключевых сотрудников наверняка находится в РФ.
Наши сотрудники живут в разных частях нашей необъятной планеты. В России офиса и штатных сотрудников у нас нет.3) Один из доменов находится в зоне *.ru
Несмотря на то, что домен .ru никак не влияет на безопасность наших (и вообще чьих-либо) клиентов, мы сменили название и полностью переехали на зарубежный домен https://hidemy.name (теперь на нём все языковые версии). Надеюсь, вам так будет спокойнее.4) Все перечисленные у них платежные системы являются неанонимными и подчиняются "законам" РФ (хотя часть способна проводить платежи полностью вне РФ).
С тех пор добавили Bitcoin, Skrill, OKPay и другие анонимные/зарубежные платежные системы.

Худший ответ:
Формально hideme является конторой в Белизе.
Однако:
1) Серверы в Хецнере - не лучший вариант для анонимности.
2) Часть ключевых сотрудников наверняка находится в РФ.
3) Один из доменов находится в зоне *.ru
4) Все перечисленные у них платежные системы являются неанонимными и подчиняются "законам" РФ (хотя часть способна проводить платежи полностью вне РФ).
Отсутствие громких скандалов с разоблачениями не гарантирует, что никого не брали за жабры без шума. Это относится ко всем подобным сервисам.
Вопрос: Какой выбрать рабочий ноутбук для веб-дизайнера за $1000?

Лучший ответ:
Посомтрите на DELL INSPIRON 7720

Худший ответ:
Сами такое искали, как варианты
Samsung 700Z7C
ASUS N76VZ
HP EliteBook 8770w
К сожалению у всех есть минусы:( Или греются (шумят как следствие), или hdd на ssd нормально не заменить (и вообще с апгрейдом проблемы) или весят некисло (даже при домашнем использовании существенно) или всего понемногу.
Вопрос: Возможно ли интеграция Telegram со Slack?

Лучший ответ:
В Slack есть приложение Telebot: https://slack.com/apps/search?q=Telebot
Позволяет получать сообщения из Telegram в Slack и наоборот. В том числе, добавляя Telegram-бота в группы.
их сайт: https://telebot.im/

Худший ответ:
https://sameroom.io/blog/connect-slack-and-telegram/
как вариант
но лучше и там и там поработать с API
Вопрос: Как вы храните свои пароли?

Лучший ответ:
Использую подсмотренный в коментариях на Хабре способ: KeePass с синхронизацией/бэкапом через dropbox.

Худший ответ:
В основном в голове, но дома есть старенький qwerty органайзер Casio SF-4600RS в нем лежат бекапы паролей.
Вопрос: Git working_tree

Лучший ответ:
в репе --bare нельзя работать, у нее нет рабочего дерева. Сделано так специально, чтобы нельзя было вносить изменения напрямую в общую репу на сервере

Худший ответ:
Тоже столкнулся с этой проблемой. В рабочей папке эта же ошибка
Вопрос: Программа для подсчета относительной частоты встречаемости слова в тексте. Как она должна выглядеть?

Лучший ответ:
Если абстрагироваться от языка программирования и языка текста, то вот пример: Частотный анализатор английских слов, написаный на.... Посмотрите в код, может почерпните для себя какие-то идеи.

Худший ответ:
Вы в целом мыслите верно, но вместо обычных массивов лучше использовать структуру данных типа HashMap. Это похоже на массив, но ключом может быть не число, а строка. Т.е. ключ - слово, значение - частота. Тогда получить и изменить частоту по слову будет быстрее, чем обходить обычный массив.
Не знаю, есть ли в Делфи свой мэп, но по-моему под это дело можно приспособить TStringList: www.delphibasics.ru/TStringList.php
Можете поискать еще какие-нить варианты, но HashMap это в принципе то, что вам нужно. Удачи.
Вопрос: Корпоративная почтовая рассылка

Лучший ответ:
Exchange/zimbra, как и exim/sendmail/postfix с этим справляются на ура, тем боле внутри компании.
как раз методом создания групп рассылок и закрытием рассылки этих адресов на них снаружи.
Так что читайте документацию на Ваш почтовый сервер и будет Вам счастье.
По Exchange даже могу помочь, ничего сложного там нет

Худший ответ:
Я бы для такой конторы подумал о приобретении специализированного софта, скажем навскидку думаю «The_Bat» без проблем выполнит все хотелки, которые были заданы…
Вопрос: По каким правилам пересчитали рейтинг на данном ресурсе?

Лучший ответ:
Ранее несоразмерно большим весом обладало признание решеним. Сейчас больший вес добавлен понравившимся ответам и вопросам с подписчиками.Максим Каракулов Решение вопроса = реальная помощь.
Шутки, сарказм и троллинг, которые ничем не помогают автору вопроса, на тостере часто набирают много лайков, о какой справедливости там может идти речь? Пожалуйста, не мешайте мух с котлетами. Пусть вклад показывает только сколько решений помог найти пользователь, вот где хоть какая-то объективность и справедливость. А для замера симпатий к его ответам и интереса к его вопросам(подписчики), сделайте два отдельных счетчика и потом какие-нибудь достижения за количество данных ответов(комментатор), за сбор лайков и прочее добавите. :)Сделали рейтинг (вклад пользователя) более справедливым. Чтобы за одинаковые по сложности достижения давалось одинаковое число очков.По моему все получилось еще более не справедливо.
Ответы и решения, которые потребовали убить час времени на помощь неизвестному человеку, никто не лайкнет, кроме автора, да и тот не всегда(например, кусок кода написанный для чужого сайта, для ответа на тостере). И где тут справедливая оценка за сложность? :(
Подписчиков обычно набирают баяны, ответы на которые легко гуглятся.

Худший ответ:
Сказать честно до сегодняшнего утра не знал что есть рейтинг на тостере, боюсь даже спросить зачем он вам нужен то?
Вопрос: Как сделать неактивным checkbox если выбран другой checkbox?

Лучший ответ:
Это называется радиобатон

Худший ответ:
примерно так jsfiddle.net/vud7s97f
Вопрос: Как лучше организовать базу данных?

Лучший ответ:
Здравствуйте! Я скачала файл из Интернета, а он мне оказался не нужен. Как его теперь закачать обратно? (с)
Задача какая-то бредовая, особенно в части про Если удалил после скачивания книгу и нет больше пользователей которые скачали книгу то удаляем user_id и книгу?
А структура примитивная:
таблица книг
таблица юзеров
таблица скачиваний вида книга_ид-юзер_ид

Худший ответ:
Пользаватели и заливают и скачивают книги или как ? В основном напрашивается двух табличная структура Books и Users с привязкой Users.id=Books.user_id
Если пользователь удаляет книгу то и это его последняя закаченая книга тогда удаляем и его запись.
Вопрос: Как организовать структуру игры?

Лучший ответ:
1. Единственного правильно ответа нет.
2. Сразу грамотно ещё никто никогда ничего не писал, не нужно надеяться и/или переживать. Если проект учебный, то просто пишите.
3. Если «экран» — это то, что отвечает за отрисовку игры, то он точно не должен управлять логикой.
4. Если возникают проблемы с определением того как управлять набором объектов, проще всего ввести дополнительную абстракцию (как Ваш вариант 2), только назовите не Engine (слишком уж обще), а, например, UnitsManager — все команды, касающиеся юнитов шлите ему, а он внутри уже пусть сам разберётся. Это позволит разделить всю логику на две независимые части (одна делает всё с юнитами, другая с ними ничего не делает), что упростит восприятие архитектуры.
Это, конечно, примерно.

Худший ответ:
Могу ошибаться, т.к. в целом на данный момент экспериментирую в том же направлении.
Для себя реализовал это примерно следующим образом: 
1) GUI - видимо то, что вы понимали под "экранами". Графический интерфейс с отрисовкой и точками входа для действий пользователя (KeyListener и иже с ними). Никакой логики здесь нет, только соответствующая отрисовка.
2) Engine, грубо говоря - "движок": здесь содержится вся игровая логика. Карты, юниты, итемы, состояния и прочее. Все взаимодействия между объектами и экземплярами классов - описаны здесь. 
3) Непосредственно Game - непосредственный "поток", включаемый по запуску приложения, который обуславливает взаимодействие GUI и Engine. Здесь инициализируется запуск Engine и GUI, а дальше по мере получения информации от движка и\или "экранов" - нужным образом обрабатывается взаимодействие. 
Но, как я уже говорил, на правильность подобного деления не претендую.
Вопрос: Возможно ли подключить модальное окно полной новости Wordpress?

Лучший ответ:
Я сделал следующим образом:
На сайте используется используется FancyBox для отображения картинок в модальном окне, вот решил попробовать, как он будет просматривать пост. Получилось следующее:
Эта функция отвечает за вывод поста. Если нужно еще заголовки, картинки и т.д. выводить, то нужно еще дописывать и обрамлять тегами, так просто результат the_content() выдаст.add_action('wp_ajax_get_post_preview','post_preview_AJAX');
add_action('wp_ajax_nopriv_get_post_preview','post_preview_AJAX');

function post_preview_AJAX(){
global $post;

$post_id = intval( $_GET['post_id'] );
$post = get_post($post_id);
$output .= apply_filters ('the_content',$post->post_content);
 echo $output;
 die();
}
Тут Ваша задача передать ID поста AJAX функции. Я брал из $(document).on('click', '#preview_button', function () {

        preview_post($(this).next().val());

        return false;
    });
А тут соответственно делается AJAX запрос к функции обработчикуfunction preview_post(post_id){

    jQuery.ajax({
        type: 'GET',

        url: "/wp-admin/admin-ajax.php",

        data:{
            action:'get_post_preview',
            post_id:post_id
        },

        success: function (result) {
            $.fancybox({
                'content': result,
                'padding' : 20
            });
        }

});
}

Худший ответ:
был даже.  плагин такой. непомню. ищите готовое решение
Вопрос: Выполнение цикла длительностью 6 минут или какой мощности нужен VPS?

Лучший ответ:
По хорошему, надо бы профилировать ваше приложение с целью оптимизации узких мест. Возможно что-то даже распараллелить.
Только затем уже думать о наращивании вычислительной мощности.
Либо смириться с большим временем выполнения.

Худший ответ:
Капитан очевидность с вами: загнать скрипт(ы) в профайлер и посмотреть, во что упирается производительность и расширять соответственно.
Вопрос: Правильно ли в данном случае использовать статические методы?

Лучший ответ:
Когда использовать статику а когда нет? Это классический вопрос.
Минусы статики:
 - Нет конструктора
В конструторе обычно инициализируются все зависимости класса, без которых он не будет работать. После того, как создал экзепляр класса - конструктор выполнился. А у статичного класса нет гарантии, что класс был инициализирован. Можно конечно обойти это убогими костылями и хаками типа - StaticClass::init(), но это не правильный дизайн, по любому.
- Не сможешь писать юнит тесты аккуратно
Сейчас пока ты не знаком с этим и с теорией TDD, но в будущем ты поймешь, что глобальные статичные классы - это зло, когда попытаешься протестировать метод, внутри которого статичные классы.
Теперь по существу:
Работа с базой - создание, редактирование пользователя, а также проверка на валидность авторизации лучше всего будеть поместить в один DataMapper класс. И вообще погугли что такое Data Mapper.class UserMapper
{
     private $pdo;
     
     public function __construct($pdo)
     {
          $this->pdo = $pdo;
     }

     public function authValid($login, $password)
     {
         // Выполнил запрос к базе через $pdo и вернул true или false
     }
}
Затем в классе Auth, в методе attemp() просто вызываешь UserMapper передавая данные, а не пишешь логику там.

Худший ответ:
статика не дает никаких преимуществ.
если задается такой вопрос, то скорее всего статика не нужна.
Вопрос: Как сверстать параметр наложения: multiply?

Лучший ответ:
Multiply наложение сверстать нельзя. Сливайте в одну картинку.

Худший ответ:
Смотря какие браузеры вам надо поддерживать. Если только новейшие и, допустим, без мобилок, то можно сверстать при помощи SVG и его фильтров. Иначе - картинка, как и советует Денис Инешин
Вопрос: VK API: как проверить, что access_token соответствует uid при минимальных разрешениях?

Лучший ответ:
Надеюсь еще не поздно написать ответ, но Вы можете проверить id пользователя через полученный access_token. Для этого нужно выполнить метод users.get, передав ему полученный access_token (https://api.vk.com/method/users.get?access_token=ТОКЕН).

Худший ответ:
вот что я сделал:
vk.com/dev/users.search - вот на этот запрос нужен access_token и таким образом сделав сюда запрос можно проверить валидность access_token-а
url: https://api.vk.com/method/users.search?access_token=<access_token>&sig=<sig>
где sigsig = md5('/method/users.search?access_token=<access_token>' + SECRET)+ это конкатенацияSECRET это поле secret из структуры VKAccessToken iOS(Android)
Вопрос: Считается ли хорошим подходом создавать исключения в Java?

Лучший ответ:
иди дальше!
throw new BoxNotFoundException
throw BoxAlreadyScannedException
:)

Худший ответ:
Нет, кидать исключения - однозначно плохой вариант. Само слово "исключение" говорит об этом - ситуации в приложении должны быть не нормой, а исключением для броска исключения. Исходите из этого постулата.
Вопрос: Правильно ли я понял работу фреймворков?

Лучший ответ:
Фреймворки это набор готовых решений для стандартных задач. Воспринимайте их как кучу отдельных библиотек. Скажем нет смысла раз от раза писать снова и снова маршрутизацию запросов и т.д.В контроллере использую готовые функции например работа с БД.
Основная задача контроллера - быть посредником между представлением данных (HTTP например, или web интерфейс, или CLI) и логикой их обработки. То есть работать с базой данных в контроллере вы можете, но не рекомендуется (только если вы знаете к чему может это привести и чем плохи толстые контроллеры).
Остальная логика приложения, бизнес логика - это чистый и красивый PHP. Для удобства иногда можно чуть чуть увеличить связанность кода приложения и библиотек которые вы используете но это опять же это не очень хорошо и вы должны понимать к чему это может привести.Но если я хочу написать например обрезание фото квадратом, то я должен реализовывать свой велик? 
Подобный функционал, обрезка картинок, работа с графикой и т.д. уже реализованы до вас. Обычно все что нужно сделать разработчику - обернуть это дело красивым интерфейсом, который будет скрывать все детали того, как происходит обработка картинок.Тоесть половина функционала это функции фреймворка, половина это мои велики...
Не велики, а бизнес логика. Фреймворк предоставляет вам каркас, решение типичных задач. В случае простого CRUD соотношение вашего кода к коду фреймворка библиотек может быть 1/10. В случае сложной бизнес логики и специфичной инфраструктуры - 10/1.

Худший ответ:
Если именно работа с фотками то есть "гора" готовых библиотек, например, image.intervention.io/getting_started/installation...
Вопрос: Изучить программирование с нуля?

Лучший ответ:
прочитал предыдущих ораторов — большинство технари и их точка зрения очень ясна и понятна.
Но, парень четко указал, что он не технарь, потому что занимается дизайном. Хотя я и работа программистом и учился на разработчика, но также я сам художку закончил и студентом дизайнером подрабатывал. Мы, люди искусства, — не гуманитарии и не технари, поэтому оба эти направления даются нам одинаково легко и тяжело одновременно. 
 Я бы на твоем месте сперва спросил себя:
«Ты хочешь „видеть“ что ты создаешь или же тебе очень нравится понимать и решать математические задачки?»
1) Если «видеть», то в твоем случае html+CSS+javascrip + твой дизайн = оптимальный вариант. Как альтернатива — silverlight сайты или наконец flash. Быть спецом по user Interfaces. Им, кстати, тоже нормально платят.
2) Если же тебе нравится решать головоломки (а со временем я стал за собой замечать, что решаю их даже в повседневной жизни), задачки по физике или алгебре или геометрии (или потому что от учительницы многое зависеть может) в школе и эти предметы шли + ты понимаешь их, то можно и пробовать программировать.
Добавлю про себя: даже код писать в универе меня не научили (зато алгоритмы составлять и описывать ясным языком), пришлось карпеть самому. Советую взять книгу Дж. Либерти «С++ за 21 день» (читать её можно на много дольше) и читать. Там будет все очень разжовано и понятно написано.
Но, конечно, бех технического образования программировать можно, но тренероваться и набивать руку будет очень сложно. На собеседованиях джунеоров гоняют по 3 вещам:
1) ООП. Основы. Знать на зубок (в приведенной мной книги все очень ясно описано с примерами)
2) Сам язык, на котором хочешь писать. Синтаксиса + основные библиотеки (строки, числа, даты пожалуй все для начала)
3) SQL запросы и базовая теория баз данных.
Что касается языков, то тут можно разводить кучу споров и холиваров, но есть 2 их типа по синтаксису: С++ подобные и все остальные (когда уже знаешь 1 язык, тогда синтаксис перестает быть важным, сперва он только и важен).
С++: С++, JAVA, C#, Javascrtipt, actionscript, php и др.
не С++: Pascal, Python, Basic, Prolog и др… тут кто во что горазд.
Я бы рекомендовал как и сам начать изучать С++ (а потом перейти на C# или Java). Учить любой язык с 0 будет одинаково сложно а потом легче и легче, поэтому не слушай тех, кто говорит: не учи «С++, он сложный». Он скорее основа основ + синтаксис похожий с другими языками группы. А решать любые задачки можно на любом языке. 
Я бы на твоем месте и проучился больше 2 курсов, то уже закончил бы универ, попутно изучая javasctipt+дизайн и занимался интерфейсами с точки зрения психологии пользователя и не парился сменой профессии, применил все свои знания универа + программирование.

Худший ответ:
Реально, главное — приложить достаточно количество усилий. Например, на реддите есть неплохой список книг для самообучения. В комментариях тоже очень много полезной литратуры. Удачи!
Вопрос: Как быстро и просто создать {gif,png,jpg}-изображение на языке C++?

Лучший ответ:
ImageMagick, к примеру

Худший ответ:
Я может что-то не понимаю, но почему бы не подключить банальный openGL и просто отрисовывать движения с помощью него? А для видео можно каким-нибудь приложением для захватки экрана записать.