• Снимаем образы с картриджей для Dendy/Famicom/NES

      Ни для кого не секрет, что сейчас можно легко скачать эмулятор почти любой игровой консоли 80х-90х и поиграть в классические игры на компьютере, телефоне и многих других платформах. В сети легко можно найти и ROM'ы этих самых игр. Зачастую люди качают их и даже не задумываются, каким же образом кто-то однажды прочитал их из картриджа. В этой статье я и постараюсь рассказать, как же это делалось в случае с NES/Famicom, которая у нас была больше известна как «Денди», и покажу, как можно сделать это самостоятельно.

      image

      Читать дальше →
    • Робот-пылесос Kärcher RC 3000: опыт эксплуатации

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

        Однако среди широкого спектра придуманных человечеством мотивов для проведения ежедневной уборки жилища, я не смог найти свой. Лень неизменно одерживала верх как над рациональными доводами о необходимости пылесосить каждый день, так и над эмоциональными порывами, энергии которых хватало только на то, чтобы выругаться: "Почему опять никто не убрался!"

        Признавшись себе однажды в том, что дело не в «нехватке времени» или «усталости после работы», а в банальном нежелании брать в руки этот чертов пылесос, я решил, что нужно процесс уборки как-то автоматизировать, например, купить робота-уборщика.

        Прочного и надежного робота-уборщика, способного нормально функционировать в самых тяжелых условиях:



        Мой выбор пал на RC 3000 от Karcher, впечатлениям от эксплуатации которого и посвящается данная статья.

        Осторожно: под катом много фотографий и видеороликов
      • Полнометражный документальный фильм о демосцене: The Art Of The Algorithms

          Не так давно увидел свет еще один документальный фильм о демосцене под названием «The Art Of The Algorithms».



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

          Главная страница фильма: Moleman 2. На ней можно скачать фильм в различных форматах с помощью торрента/HTTP/FTP.
        • Устраиваемся программистом за рубежом

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

            В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
            Читать дальше →
          • Психологическая деформация программистов. Взгляд с обеих сторон баррикад

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

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

              И что же них такого деформированного?
            • Разбираем и собираем обратно стек USB

              • Tutorial
              Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

              Три «замечательных» уровня стека USB


              Меня не устроил вид стека USB, который можно встретить чаще всего на просторах сети:

              Не сильно полезный стек USB

              Уровень шины, логический, функциональный… Это, конечно, замечательные абстракции, но они скорее для тех, кто собирается делать драйвер или прикладной софт для хоста. На стороне же микроконтроллера я ожидаю шаблонный конечный автомат, в узлы которого мы обычно встраиваем свой полезный код, и он сперва будет по всем законам жанра глючить. Или же глючить будет софт на хосте. Или драйвер. В любом случае кто-то будет глючить. В библиотеках МК тоже с наскока не разобраться. И вот я смотрю на трафик по шине USB анализатором, где происходящие события на незнакомом языке с тремя замечательными уровнями вообще не вяжутся. Интересно, это у меня от гриппозной лихорадки в голове такой диссонанс?

              Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:



              Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
              Разобрать стек USB
            • Про создание платформера на Unity. Часть первая, характерная

              • Tutorial
              Привет, Хабр!

              Все мы здесь любим качественные пошаговые руководства для начинающих, чего уж греха таить. По платформерам на Unity руководств много, а вот качественных не то что бы и очень. Сегодня мы попробуем добавить в копилку хороших уроков еще один. А создавать мы будем персонажа для 2D-платформера, ни больше, ни меньше.

              Присоединяйтесь, учитесь, но помните: под катом очень много гифок.

              Читать дальше →
            • Создаем 2D платформер при помощи Unreal Engine 4. Часть 1 — Игровой персонаж, движение

              Не так давно компания Epic Games сделала невероятно щедрый подарок всем желающим — движок UE4 с исходным кодом всего за $20/мес, считай даром! Воспользуемся их щедростью и великодушием и попробуем создать что-нибудь не очень сложное, но, по крайней мере, более-менее играбельное — 2D платформер.
              Под катом множество картинок...
            • Создание аудиоплагинов, часть 1

              • Tutorial
              Все посты серии:
              Часть 1. Введение и настройка
              Часть 2. Изучение кода
              Часть 3. VST и AU
              Часть 4. Цифровой дисторшн
              Часть 5. Пресеты и GUI
              Часть 6. Синтез сигналов
              Часть 7. Получение MIDI сообщений
              Часть 8. Виртуальная клавиатура
              Часть 9. Огибающие
              Часть 10. Доработка GUI
              Часть 11. Фильтр
              Часть 12. Низкочастотный осциллятор
              Часть 13. Редизайн
              Часть 14. Полифония 1
              Часть 15. Полифония 2
              Часть 16. Антиалиасинг



              Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
              Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
              Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
              Интересно? Тогда под кат!
              • +23
              • 55.3k
              • 5
            • Генерация PDF из WPF-приложения «для всех, даром, и пусть никто не уйдет обиженный»

              • Tutorial
              Пару недель назад на проекте появилась задача генерации PDF.
              Разумеется, я, как разработчик WPF UI, сразу был против сурового подхода кодирования отрисовки всех примитивов PDF в коде C#.
              И заказчик был непротив покупки некоего платного конвертера из HTML в PDF, например.
              Вроде бы все просто — генерируем строку с HTML-разметкой, используя DotLiquid для шаблонизации, и конвертируем в PDF с помощью одного из множества платных конвертеров.
              Единственная засада — плохая совместимость HTML со страничной структурой PDF-документа.
              Только я начал закапываться в поисках решения этой проблемы, как один коллега поделился ссылкой на статью с альтернативным решением.
              Из статьи я узнал, что есть возможность сгенерировать PDF из XPS-документа (этот формат поддерживается в WPF FlowDocument).
              К тому же, для генерации использовалась бесплатная библиотека PDFSharp.

              Исходники можете скачать с GitHub.

              UPD: уже не первый раз наблюдаю как статью плюсуют (первые минусы были сразу после публикации и вряд ли относятся к основному контенту), при этом сливая карму. Мне интересна мотивация, обратная связь. Отпишитесь, кто чем недоволен / доволен, если не затруднит.
              Пошаговые инструкции под катом
              • +13
              • 17.2k
              • 5
            • Новые бесплатные курсы виртуальной академии Microsoft Virtual Academy

                image

                В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как ИТ-профессионалам так и разработчикам программного обеспечения.

                Новый. Начинаем разработку на языке HTML5 с использованием JavaScript и CSS3
                Этот курс представляет собой краткое введение в HTML5, CSS3 и JavaScript, которое поможет учащимся освоить основы программирования на HTML5/CSS3/JavaScript. Основное внимание уделяется реализации программной логики с применением HTML5/CSS3/JavaScript, определению и использованию переменных, организации циклов и ветвлений, разработке пользовательских интерфейсов, получению и проверке введенных пользователем данных, их сохранению и созданию хорошо структурированных приложений.

                Новый. Начало работы по созданию веб-приложений с помощью ASP.NET
                Этот курс предназначен для опытных разработчиков приложений, которые собираются разрабатывать приложения для современных браузеров с использованием ASP.NET и Visual Studio 2012. Три лектора Microsoft с огромным опытом работы с ASP.NET подробно рассказывают о разработке веб-приложений с помощью ASP.NET 4.5 и ASP.NET MVC 4, позволяющих создавать веб-сайты, которые удобно просматривать c мобильных устройств, социальные веб-приложения и многое другое. Это курс для слушателей с уровнем знаний от среднего до продвинутого. Он поможет подготовиться к сдаче экзамена Microsoft 70-486.

                Новый. Начало работы с ALM в Visual Studio 2012
                Целевой аудиторией этого курса являются разработчики приложений, заинтересованные в применении подхода ALM (Application Lifecycle Management управление жизненным циклом приложений) для улучшения процессов разработки в среде Visual Studio 2012. Курс рассчитан на опытных разработчиков и соответствует критериям экзамена 70-498 по курсу MCSD: ALM.
                Читать дальше →
              • Про автоматизацию подбора аккордов

                Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
                Читать дальше →
              • Spatial hashing для самых маленьких



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

                  Предположим, что у вас есть несколько объектов и вам нужно узнать нет ли между ними столкновений. Простейшим решением будет посчитать расстояние от каждого объекта до всех остальных объектов. Однако, при таком подходе количество необходимых вычислений растёт слишком быстро. Если на десятке объектов приходится делать сотню проверок, то на сотне объектов выходит уже десяток тысяч проверок. Это и есть печально известная квадратичная сложность алгоритма.
                  Можно улучшить ситуацию, если...
                • Бесплатная книга «HTML5. Руководство разработчика»

                    ХО-ХО-ХО! Праздник к нам приходит! Всегда coca-co… HTML5!
                    Выпал снежок и как-то незаметно пришло праздничное, предновогоднее настроение. Чтобы как-то поддержать праздничный дух, мы решили сделать небольшой сюрприз от издательства и порадовать наших читателей бесплатной электронной книгой Марка Пилгрима «HTML5. Руководство разработчика» (DIVE INTO HTML5). Оригинал книги также есть в бесплатном варианте в Интернете.

                    Прежде чем скачать книгу целиком, предлагаем вам познакомиться с первой главой:

                    Глава 1. Как мы сюда попали?


                    Приступим


                    Недавно я прочел высказывание одного разработчика для платформы Mozilla, где говорится о той напряженности, которая всегда сопутствует разработке стандартов:

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


                    Пока я буду рассказывать, как появился HTML5, помните эти слова.
                    Читать дальше →
                  • Как делать качественные печатные платы в домашних условиях.

                      Любой электронный девайс требует соединения воедино кучи деталей. Конечно, можно спаять девайс на монтажной плате, но при этом велик риск наделать кучу ошибок, да и сам девайс будет выглядеть весьма стремно. Торчащие во все стороны провода оценят только любители трешдизайна. Поэтому, будем делать печатную плату!

                      А чтобы тебе было проще, я сделал видео урок на тему изготовления печатных плат методом Лазерного Утюга ака ЛУТ.

                      Полный цикл, от подготовки платы с куска текстолита, до сверления и лужения.
                      Читать дальше →
                    • Начало пути — Часть 6. Основы сведения и мастеринга.

                        Вот, с грехом пополам, мы и добрались до финальной статьи. Она будет про сведение и мастеринг. Первым делом поясню чем сведение отличается от мастеринга, расскажу немного про такую штуку как SideChain и еще парочку трюков. В конце — небольшая таблица, которая до сих пор помогает мне при эквализации.
                        Читать дальше →
                      • Книги, которые должен прочитать Java программист: от новичка до профессионала

                        • Translation

                        Книги, которые должен прочитать Java программист: от новичка до профессионала


                        [Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

                        Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
                        Читать дальше →
                      • Джейлбрейк для высшего образования



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

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

                          Degreed стремится к амбициозной цели — создать единый пожизненный цифровой диплом, постоянно обновляемый и гибкий, который будет отражать реальные знания независимо от того, из какого источника они получены. Вы можете прослушать несколько курсов в одном университете, ещё несколько — в другом, или вообще на сайте вроде Coursera или Khan Academy — баллы в вашем «дипломе» будут увеличиваться в зависимости от авторитетности курса и ваших личных достижений.
                          Читать дальше →
                        • Новый курс CS184.1x Foundations of Computer Graphics от Berkeley



                            Возможно кого-то это заинтересует: на сайте edX начался новый 6-недельный курс под названием CS184.1X Foundations of Computer Graphics .

                            В описании к курсу по ссылке выше говорится: «учащиеся получат представление о 3D графике и научатся разрабатывать программы для создания изображений трехмерных сцен с освещением, используя как программирование на OpenGL and GLSL в реальном времени (real-time OpenGL and GLSL programming), так и последующий просчет трассировки лучей (offline raytracing). Основное внимание будет сосредоточено на написании своих собственных программ, а не использовании специализированного ПО, такого как Maya или Photoshop».

                            Для прохождения курса потребуется:

                            • Хорошое знание и опыт программирования на C/C++ (Java тоже подойдет; вы познакомитесь с C++ в процессе).
                            • Доступ к сравнительно современному компьютеру (Windows, Mac OSX или Linux)
                            • Хорошое знание математики курса старших классов, обзор относящейся к делу линейной алгебры включен в первый сегмент.
                            Читать дальше →