• Научно-популярные фильмы о физике

      Всем привет!

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

      Недавно случайно наткнулся на ютубе на фильм с Брайаном Грином «Тайны мироздания» и удивился, что у видео так мало просмотров.

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

      Сами видео под катом.
      Читать дальше →
    • Доставка из США за 5-10 дней по цене USPS

        До наступления 2013 года оставалось 30 дней, когда я решил подарить жене ipad mini. Официальный store.apple.com не справлялся со спросом на mini, о чем красноречиво свидетельствовала надпись est shipping in 2 weeks.

        Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.

        До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
        И я ее получил, за 10 дней, тариф за отправку составил $48.5.
        Читать дальше...
      • Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

          Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
          Читать дальше →
        • NTFS-3G в OS X Lion

            NTFS-3G for Mac

            Понадобилось подмонтировать (на запись, разумеется) свой внешний жёсткий диск (отформатрированный в NTFS) к Макбуку, на котором стоит OS X Lion.

            Гугление привело к тому, что есть возможность монтировать в rw нативным драйвером (по умолчанию отключена), входящим в состав ОС. Но использовать эту возможность не рекомендуют, ссылаясь на её нестабильность.

            Под катом — решение и подводные камни.
            Читать дальше →
          • Освобождаем свободное место на жестком диске: WIMBoot

              Сегодня стационарные компьютеры начинают медленно уходить на задний план. Их место прочно занимают ноутбуки, а затем идут и планшетные компьютеры. Сочетание мобильности, высокой производительности и высокой скорости получения информации – все это является несомненным плюсом планшетов. Однако, и своя ложка дегтя у планшетов есть: это малый размер жестких дисков. Если диск 16, 32 и даже 64 ГБ, вовсе не хочется разбрасываться ценным пространством на установочные файлы. С выходом Windows 8.1 Update появилось решение этой проблемы – WIMBoot – новый способ установки ОС, обеспечивающий большее свободное пространство для пользователя.


              Читать дальше →
            • Эксперименты с бит-реверсными паттернами в двумерных аддитивных клеточных автоматах

                Как-то я экспериментировал с клеточными автоматами. С одномерными и двумерными. Придумывал на каком исходном состоянии применить какое-то правило. Когда, в качестве исходного состояния двумерного клеточного автомата я начал использовать бит-реверсивную перестановку диагональной линии, то после применения автомата получались своеобразные узоры. Время от времени среди узоров появлялись явно выраженные характерные паттерны. Я выделил эти паттерны и немного с ними поэкспериментировал. С тем, что мне удалось выяснить, я делюсь в этой статье.

                В статье я вкратце расскажу про аддитивные клеточные автоматы. А также приведу последовательность моих наблюдений и задач, которые я ставил. Каждый этап будет сопровождаться изображениями состояния клеточного автомата. Кроме того, для лучшей наглядности, я написал веб-приложение, которое добавит интерактивности при чтении статьи. Приложение основано на React и должно работать в современных браузерах. Также я буду сопровождать некоторые действия ссылками с кусками кода на Python.

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

                Надеюсь, что статья развлечет вас, хотя я буду писать четко и по делу.
                Осторожно! Чтение может привести к квантовому реверсу сознания...
              • Видеозапись с помощью Directshow.NET

                • Tutorial
                Добрый день, уважаемые хабрапользователи. Некоторое время назад мне пришлось работать над несложным windows-приложением, в котором требовалось производить аудио- и видеозапись с различных устройств. В частности, захват аудио нужно было производить с шести каналов карты MAudio, а захват hd видео — с двух карт захвата AverMedia, сигнал на которые приходил с видеокамер по компонентному входу. Также нужно было делать скриншоты с документ-камеры, подключенной по USB-интерфейсу. Приложение было решено писать на C#, а видеозапись производить при помощи библиотеки DirectShow.NET.

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

                Читать дальше →
                • +24
                • 26,9k
                • 6
              • Создание видео редактора — полезные рецепты avconv (ffmpeg)

                • Tutorial


                Недавно потребовалось написать небольшой видеоредактор с веб-интерфейсом.
                До этого изредка доводилось пользоваться командами типа
                ffmpeg -i file.avi file.mp3
                

                в основном для конвертации из одного формата в другой. Все всегда было более менее гладко и сложно было представить, сколько на самом деле существует всяких нюансов для работы с видео и аудио.
                Но начнем с начала. С некоторых пор моя ubuntu начала выдавать:
                *** THIS PROGRAM IS DEPRECATED ***
                This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
                

                В целом, пока это использовалось по-мелочам, это было не особо важно, но закладывать уже устаревающую фичу в проект как-то «не оно». Пришлось гуглить что к чему и выяснилось, что проект ffmpeg некоторое время назад раскололся и часть разработчиков занялась созданием библиотеки libav, которая и включена в настоящее время в ubuntu по-умолчанию. Разумеется, совместимость передовых фич была принесена в жертву первой. Заодно и с переименованием проекта исполняемый файл ffmpeg был переименован в avconv, о чём и было вышеупомянутое предупреждение.

                Под катом небольшая выжимка основных фич, которые пригодились.
                Читать дальше →
              • Мини ЭЛТ монитор

                  Ночью мне не спалось из весенней хандры и чтобы отвлечься от грустных мыслей, начал придумать различные изобретения. И вот придумал, как сделать миниатюрный ЭЛТ монитор. ЭЛТ — потому, что я в принципе люблю ламповую технику, а уж тем более устройство отображения информации. Для начала покажу результат.


                  Тёплый ламповый дебиан lxde

                  Миниатюрный ЭЛТ-монитор размером всего 1 см! И сделать это очень просто и сможет каждый! Поехали!
                  Читать дальше →
                • Signed Distance Field или как сделать из растра вектор

                    Речь сегодня пойдёт о генерации изображений с картой расстояний (Signed Distance Field). Данный вид изображений примечателен тем, что фактически позволяет получить «векторную» графику на видеоускорителе, причём даром. Одной из первых данный метод растеризации предложила компания Valve в игре Team Fortress 2 для масштабируемых декалей в 2007 году, но до сих пор он не пользуется особой популярностью, хотя позволяет рендерить прекрасного качества шрифты, используя текстуру всего 256х256 точек. Данный метод прекрасно подходит для современных экранов высокой чёткости и позволяет серьёзно сэкономить на текстурах в играх, он не требователен к железу и прекрасно работает на смартфонах.



                    Хитрость заключается в создании такой специально подготовленной карты расстояний, что при использовании простейшего шейдера получается идеальная векторная картинка. Более того, с помощью шейдеров можно получить эффекты тени, свечения, объёма и т. п.

                    Как же создавать такие изображения? Очень просто, ImageMagick позволяет сделать это одной командой:

                    convert in.png -filter Jinc -resize 400% -threshold 30% \( +clone -negate -morphology Distance Euclidean -level 50%,-50% \) -morphology Distance Euclidean -compose Plus -composite -level 45%,55% -resize 25% out.png
                    

                    На этом можно было бы поставить точку, но так полноценного топика не получится. Что ж, под катом — описание быстрого алгоритма расчёта SDF, пример на C++ и немного шейдеров для OpenGL.
                    Читать дальше →
                  • Один крутой Gist: whiteboardCleaner

                      Доброго времени суток уважаемые хабравчане. На просторах интернета мне повстречался один миниатюрный и очень интересный Bash скрипт. С помощью ImageMagick он потрясающим образом обрабатывает фотографии белой учебной доски, очищая «содержимое» от всего лишнего:

                      #!/bin/bash
                      convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2
                      


                      До:


                      image

                      После:


                      image
                      Читать дальше →
                    • Основы теории цвета. Система CIE XYZ

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

                      Недостаточные или ошибочные знания большинства IT специалистов относительно цветовоспроизведения, по моему мнению, объясняются тем, что на изучение теории цвета тратится очень мало времени, так как её основы обманчиво простые: так как на сетчатке глаза есть три вида колбочек, то смешивая определённые три цвета можно без проблем получить всю радугу цветов, что подтверждается регуляторами RGB или CMYK в какой то программе. Большинству этого кажется достаточно, и ихняя тяга к знаниям в этой области заканчивается. Но, процессы получения, создания и воспроизведения изображений готовят Вам множество нюансов и возможных проблем, решить которые поможет понимание теории цвета, а также процессов в основе которых она лежит. Этот топик призван восполнить пробел знаний в области цветоведения, и будет полезен большинству дизайнеров, фотографов, программистов, а также, надеюсь, другим IT специалистам.

                      Попробуйте дать ответ на следующие вопросы:
                      • почему физика не может дать определения понятию цвета?
                      • какая из семи основных единиц измерений СИ основывается на свойствах зрительной системы человека?
                      • какого цветового тона нет в спектре?
                      • как удалось измерить ощущение цвета человеком ещё 90 лет назад?
                      • где используются цвета, которые не имеют яркости?

                      Если хоть один на вопрос у Вас не нашёлся ответ, рекомендую заглянуть под кат, где Вы сможете найти ответы на все эти вопросы.
                      Читать дальше →
                    • Технологии в ролевых играх. Часть 1. Технология и магия

                        Технологии в ролевых играх. Часть 2. Технология и техноген
                        Технологии в ролевых играх. Часть 3. Технология в антураже и мастеринге

                        Предисловие


                        Людям свойственно играть. С компьютерными ролевыми играми знакомы все читающие эти строки. Ролевые методики и вставки используются повсеместно — от бизнес-тренингов до всевозможных мероприятий. О ролевых играх живого действия многие как минимум слышали.

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

                        К примеру, очень проблемной точкой являются магические взаимодействия. Физика нашего мира не позволяет полноценно смоделировать все эффекты магии, в связи с чем приходится прибегать к разным упрощениям и моделям отыгрыша.

                        В последнее время всё чаще можно наблюдать на ролевых играх разной степени масштабности применение современных технологий для компенсации этих ограничений, ведь как сказал 40 лет назад английский писатель Артур Кларк: «Любая достаточно развитая технология неотличима от магии».

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

                        Почему Хабр? Во-первых, на Хабре довольно много представителей той социальной группы что называет себя «ролевиками». Для кого-то описанные вещи будут известны, кто-то узнает для себя что-то новое и интересное. Кто-то, быть может, откроет для себя мир ролевых игр живого действия. Во-вторых, Хабр — ресурс в первую очередь технический. А технологии — магия нашего мира.

                        Погрузиться в волшебный мир технологий
                      • Захват видео с камеры и передача его по сети

                        Предисловие


                        Не так давно, возникла необходимость захвата видео с web камеры и передавать его по сети используя .Net.
                        Так как с подобной задачей я столкнулся впервые, то первым делом начал искать информацию по этому вопросу.
                        Как выяснилось, что в чистом .Net нет поддержки работы с web камерами. Перебрав несколько различных библиотек, свой выбор остановил на Aforge.net.

                        Aforge.net — это фреймворк для решения целого ряда задач, из которого нам понадобится библиотеки AForge.Video.

                        Захват изображения


                        Для захвата видео с устройства видео ввода существует класс AForge.Video.DirectShow.VideoCaptureDevice. Ему необходимо задать моникер устройства с которого будет происходить захват. Так же необходимо задать обработчик события NewFrame. Это событие возникает каждый раз, когда с устройства будет получен новый кадр, который и передается в обработчик в виде объекта Bitmap, где его уже можно обработать:
                        private void VideoSourceNewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
                        {
                            var img = (Image) eventArgs.Frame;
                            using (var ms=new MemoryStream())
                            {
                                img.Save(ms,ImageFormat.Jpeg);
                               //Сохраняем изображение в массив байт, для последующего формирования mjpeg
                                _bufImage = ms.ToArray();
                            }
                        }
                        

                        Читать дальше →
                        • +14
                        • 35,9k
                        • 8
                      • Отключение ctrl-alt-delete, alt-tab, Пуск и прочих сочетаний

                        Это вольный перевод статьи с сайта tamas.io о программном отключении и включении горячих клавиш Windows средствами C#. Совсем недавно мне самому понадобились подобные функции в моей программе и я с удивлением обнаружил, что в рунете ничего об этом нет, да и вообще в сети об этом сказано совсем немного. Так что, если интересно или также нужно, как было мне — добро пожаловать!
                        Читать дальше →
                        • +2
                        • 46,2k
                        • 7
                      • Изобретаем JPEG

                        • Tutorial

                        Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

                        Знание алгоритма JPEG очень полезно не только для сжатия изображений. В нем используется теория из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др. Поэтому полученные знания могут пригодиться где угодно.

                        Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

                        Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
                        Читать дальше →
                      • Как научить сканеры сканировать молча по кнопкам без окон и костылей?

                          Как заставить сканеры вообще (речь пойдет про Canoscan LIDE 210) молчаливо по кнопке сканировать файл с нужными параметрами в требуемую папку?

                          image


                          По-моему, это самая распространенная задача и для ее решения производитель нам дает самые нераспространенные решения.
                          В следующих версиях производители ну наверняка добавят в свой софт что-то вроде «отправить скан в facebook» или «поделиться в Twitter» но чтобы сделать тихий режим, настроить раз и сканировать без каких либо окон… до этого мы не доживем.

                          В конце статьи готовая утилита, позволяющая производить сканирование с любой кнопки любого сканера в любую папку без какого либо проявления на экране. А теперь начнем с того, каким же образом это удалось реализовать…
                          Сканировать
                        • Коктейли ко дню программиста

                            Здравствуй, Хабр!

                            Осталось несколько дней до дня программиста и, конечно, в эту 13-ю пятницу, многие из пользователей хабра буду отмечать этот праздник. Буду отмечать и я.

                            По случаю профессионального праздника, мне бы хотелось поделиться с хабравчанами рассказом о своём небольшом кулинарном проекте, который удалось реализовать буквально накануне. Думаю из названия поста уже стало понятно, что это — коктейли для программиста. Кажется, до этого момента IT и миксологию еще никто не пытался объединить, а потому у меня есть некоторая надежда на успех моего начинания.

                            Все началось вот с чего: моя супруга увлекается кулинарией и ведет небольшой кулинарный блог. В прошлом году на мой день рождения она пригласила к нам в гости на кухню настоящего бармена из барного startup-проекта БАРаДОМа.нет. С момента знакомства с Артёмом (барменом который превратил мой день рождения в домашнюю барную вечеринку), у меня появилась идея: найти рецепты (или придумать самим) коктейлей, которые бы вписались в IT-тематику.

                            Итогом нескольких дней активной переписки с Артёмом стала вот такая небольшая коктейльная карта:

                            • Ruby
                            • Python
                            • Суровый Perl
                            • JMP (aka Assembler)
                            • Profit!
                            • Epic fail
                            • Memory leak


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

                            Чин-чин!
                          • Необыкновенный способ генерации лабиринтов

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

                            Вас ждет много анализа и немного частных производных. Код прилагается.
                            Прошу под кат!

                            Читать дальше →
                          • Отладка Node.js в Visual Studio

                              Мне нравится Node.js, но совсем недавно я начал использовать её на серьёзных проектах. При этом я продолжил пользоваться моей любимой средой разработки*. И если для простых скриптов достаточно просто редактора, то для серьёзной разработки нужны серьёзные инструменты, в частности, дебаггер. Ничего готового для студии найти не удалось, поэтому я взял и за пару выходных сделал его сам:
                              image
                              Читать дальше →