• 2D->3D in Augmented reality

    image

    В данной статье я расскажу как в приложениях Augmented reality по найденому расположению объекта в сцене построить 3D-пространство. Для этого необходимо получить две матрицы – проекционную (GL_PROJECTION) и модельную (GL_MODELVIEW) для работы, например, в OpenGL. Делать это мы будем средствами библиотеки OpenCV.

    Недавно приходилось решать эту задачу, но ресурса, где просто поэтапно объяснялось как это сделать я не нашел (может плохо искал), а подводных камней в данной проблеме хватает. В любом случае, статья на хабре описывающая эту задачу не повредит.
    Читать дальше →
    • +59
    • 14,6k
    • 9
  • Как недорого починить мат. плату или видеокарту

      Привет Хабр, недавно прочёл статью «Как я жарил видеокарту» и хотел бы по этому поводу высказать своё ИМХО и предложить свой вариант, которым давно пользуюсь. Хотелось бы предостеречь от последствий, которые могут возникнуть после прочтения выше указанной статьи, а именно: перегрев, взорваных конденсаторов и полностью убитых зажареных плат. Товарищи! Не переусердствуйте! Этот способ более затратен, но риск убить плату значительно ниже.
      (осторожно трафик)
      image
      Читать дальше
    • Перепрошивка USB модема ZTE MF627, залоченного под МТС, для свободной работы с SIM-картами сторонних операторов + учим его звонить и принимать звонки & разлочка с помощью Unlock кода модемов Huawei

        В продолжение темы 3G-модем в Ubuntu.
        Пошаговое описание перепрошивки USB модема ZTE MF627 залоченного под МТС, для свободной работы с SIM-картами сторонних операторов с его последующей настройкой и проверкой работы на осях Windows XP, Windows7 и Ubuntu 9.10 со скриншотами, ссылками на альтернативное (бесплатное) ПО и т.д. и т.п.
        Дополнение №1: теперь, благодаря SerVik и его посту, наш модем может звонить и принимать звонки.
        Дополнение №2: данная методика так же применима к модему ZTE MF626.
        Дополнение №3: Для модемов Huawei от Мегафона, требующих Unlock код, вариант с заменой прошивки не подойдет. Здесь вопрос решается проще — вводом NCK кода по IMEI девайса. Желающие получить Unlock код для своего Huawei могут писать мне в личку или в комментах к этому посту. Валидность калькулятора многократно проверена мной на модемах Huawei E1550 от Мегафона. Услуга предоставляется "… бездвоздмездно, то есть даром...". От вас требуется только IMEI девайса.
        Дополнение №4: согласно комментарию за 27.06.2010 от хаброюзера Vyazovoi, в салонах МТС появились модемы ZTE MF627, стоимостью 490 руб., с новым типом прошивки (BD_MTSP673A4V1.0.0B02), запрашивающим Unlock код при установке SIM-карты стороннего оператора. Нижеописанная методика перепрошивки к подобным девайсам не применялась и как следствие, возможный эффект от нее я предсказать не могу.
        Для тех кто еще не приобрел модем, я рекомендую остановится на Huawei E1550/1750 от Мегафона или МТС. С их разлочкой пока проблем не наблюдается (см. Дополнение №3).


        image
        Итак, USB модем ZTE MF627 был приобретен мной 15.01.2010 г. в фирменном салоне-магазине МТС за 890 руб. Цель приобретения — доступ к сети интернет в частых и длительных командировках по России. Описание девайса на сайте МТС.
        Перед покупкой было прочитано много форумов по теме, ибо я заранее обладал информацией о том, что операторы большой тройки вносят ограничение в прошивку продаваемых под своим брендом девайсов, не дающее использовать их с SIM-картами других операторов. В итоге выбор пал на ZTE MF626, который не удалось найти в продаже (г. Москва) и я, махнув рукой, рискнул взять новый на тот момент ZTE MF627, благо МТС отдавало его по новогодней цене в 890 руб.
        В комплекте находился сам модем, гарантия на него и SIM-карта с доками. Все. А более нам ничего и не нужно.
        Читать дальше →
      • Быстрый Reflection через DynamicMethod

          Одной из «вкусных» возможностей .NET, а в частности C#, является Reflection(рефлекшн) — богатый набор классов для работы с типами данных, их свойствами, методами, полями во время выполнения.
          Но за такой широкий функционал приходится платит производительностью.
          Вызов метода из кода выполняется практически в сто раз быстрее чем вызов через рефлекшн.
          А если мы заранее не знаем какой конкретный класс будет использоваться и какой метод будет вызван или не хотим привязываться к конкретной библиотеке, то работа через рефлекшн может сильно снизить производительность приложения.

          В данной статье я хотел бы рассказать об использовании динамических методов для таких целей.

          Читать дальше →
        • Серьезный разговор о VLC #2

            В продолжении темы "Серьезный разговор о VLC"



            Под катом:
            1. VLC Extended (самые приятные мелочи которые просто радуют)
            • VLC Wall (Просмотр одного видео на 2...81 (теоретически 9801) мониторах)
            • Играем в Puzzle из видео который смотрим :)
            2. Слушаем Подкасты. Радиостанции и перенаправляем их в стрим.
            • Делаем свою онлайн Радиостанцию.
            3. Делаем "Screencast" При помощи VLC (Сьемка экрана в видео файл или вещание в сеть)
            4. Отправляем данные о музыке в свой профиль на LAST.FM (Аудиоскробблинг)
            5. Запуск VLC без GUI интерфейса (Для и по просьбе любителей mPlayer)
            — Просмотр/конвертация/сохранение видео с Youtube.
            … и небольшой хинт для мучеников с Прокси на Windows. ну и пара ответов на частые вопросы, которые задавались с момента прошлой публикации.
            Читать дальше →
          • Как подружить MD5 в Java и PHP для UTF8 строк

              Преамбула


              Решила как-то моя фирма интегрировать форум, написанный на PHP с нашей системой управления сотрудниками, написанной на Java. Интегрировать в данном случае — это обновлять аккаунт сотрудника на форуме в случае изменения его данных в нашей системе. И поручили это дело мне (PHP часть) и моем коллеге Ивану (Java часть).  Я создаю небольшое веб API, он пишет функцию, которая в случае изменений данных сотрудника в нашей системе обращается к API и обновляет аккаунт сотрудника на форуме. Задание небольшое, дня на 3 от силы чтобы все написать и отладить. Возиться с кодированием нам естественно не хотелось — ничего секретного в фамилии, должности, рабочем телефоне и прочих данных сотрудника нет. Но как-то защититься от того, что кто-то чужой мог обратиться к API и изменить данные сотрудника было необходимо. Решено было подписывать сообщение с помощью magic phrase.  В качестве magic phrase решено было взять MD5(логин + должность + соль), где соль (salt) — некая константная строка. Реализовали мы все это, начали тестировать — и оказалось, что MD5, вычисленный для некоторого сотрудника в PHP и не совпадает с тем, который был вычислен для того же сотрудника в нашей системе, написанной на Java. Данные у нас на обеих стронах были в UTF8. И я решил разобраться, в чем же дело.
              Читать дальше →
            • Разделение Subversion репозитория на части

                Когда я узнал в первые про систему контроля версий, я решил, что обязательно надо попробовать этот инструмент для разработки. В то время я себе мало представлял что это такое. Поэтому просмотрев доступные предложения выбрал Subversion.
                Почитав немного мануалы решил создать свой первый репозиторий. И вдруг я на минуту задумался, а как организовать структуру, если у меня будет несколько проектов… и для себя решил, что создам дерево, которое разделяется на проекты, а в каждом проекте будут всем до боли знакомые trunk, tags, branches. Шло время кол-во проектов увеличивалось (правда не особо много, но все же) и как-то грустно стало наблюдать сквозную нумерацию ревизий в проекте. Т.е. смотришь логи проекта, а там сначала 649 ревизия, а потом 700. Все таки программисты народ чистолюбивый, любит когда все разложено по полочкам, поэтому было решено разделить один большой репозиторий на несколько более мелких.
                Читать дальше →
              • Уменьшение размеров папки winsxs

                  Многие обладатели Windows Vista и 7 наверняка сталкивались с тем, что папка Windows c ходом времени разрастается как на дрожжах. Я мирился с этим до тех пор, пока 40-гиговый раздел с системой не начал периодически выдавать мне сообщения о том, что свободное место на нем заканчивается.

                  Я нашел один чудесный инструмент, магия которого позволяет уменьшить размер папки winsxs без потери производительности/стабильности/данных. Сначала я проделал все описанное под катом на своем домашнем буке, а сейчас для чистоты эксперимента повторю на рабочем.

                  Итак, приступим
                • Ускорение загрузки Windows for fun and profit

                    image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

                    Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
                    Под катом много однообразных картинок и немножко унылого текста
                  • Несколько jQuery плагинов, которые вы возможно станете использовать

                      qTip





                      qTip — это бесплатный плагин для jQuery для создания подсказок (tooltip). Данный плагин кроссбраузерный, имеет обширные возможности к настройке и содержит множество функций, таких как: закругленные углы без применения изображений, speech bubbles (изображение речи как в комиксах), а так же эффекты — fade (постепенное исчезновение изображения), slide и возможность создания собственных эффектов. Данный плагин уже включает пять готовых тем, но можно создавать свои темы без особых усилий. Кроме того можно создавать окна диалогов, изменять цвет фона подсказки и места, где она отображается.

                      Скачать | Демо

                      Читать дальше
                    • <Linux> — Поиск в Google

                        image
                        А вы знали? Я, например, нет.

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

                        p.s. Есть так же <BSD> версия.
                      • Продвинутое использование Google Latitude

                          Где я? Или как окончательно уничтожить приватность и показать всем где меня искать!

                          Все кто пользовался версией google maps для мобильных телефонов наверняка уже знают о замечательной функции — Google Latitude. Имея gps приемник и активировав ее в мобильном приложении Вы получаете возможность передавать своим друзьям текущее местоположение, а так же, в свою очередь, видеть их координаты.

                          Замечательная идея, но мне хочется большего!

                          Во первых — я хочу иметь api.
                          Во вторых — хочу получать текущие GPS координаты и записывать их в трек.
                          Ну и главное — хочу показывать свое положение и трек на карте в своем блоге

                          Как это сделать?
                          Читать дальше →
                        • Тёмная тема для Eclipse+PDT (ZendStudio for Eclipse)

                            Преамбула


                            Когда-то давно, работая еще в ZendStudio 5.0, а потом и 5.5 нашлась красивая темная тема для подсветки кода. За пару лет работы я так привык к ней, что пересев на Eclipse+PDT, глаза были против белого фона с зелеными буковками.
                            Поиски в интернете такой же темы для Eclipse, поиски хоть какой-нибудь тёмной темы а затем и поиски вообще какой-либо темы результата не дали. Оказалось (о ужас!), что Eclipse не поддерживает смену готовых тем.

                            Поиски хотя бы какой-то возможности кастомизации Эклипса на хабре вывели на топик хабраюзера olegchir. Вдохновленный идеей самому сделать аналог Parabox Style для Eclipse, я принялся за работу

                            Что из этого получилось, можно глянуть на скриншотах ниже:


                            Еще скриншоты и инструкция
                          • Colobot и Ceebot

                              ГеймпадВ мире всегда существовали некоторые закрытые общества, которые доступны только ограниченному кругу людей. Для того, чтобы попасть туда нужно было обладать чем-то необычным. Например, ездить на Bentley или курить Behike.

                              Но я сейчас говорю про общества, где входным билетом служат не деньги, а знания. Да, да, Вы не поверите, но я говорю про программистов.

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

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

                              P.S. Создал открытый блог Игры для программистов.

                              Читать дальше →
                            • Зарядка мобилки в лесу

                                На носу праздники, народ уже пакует рюкзаки, маринует мясо и закачивает в коммуникаторы карты местности. Возможно, стоит потратить пол-часа времени и сделать подзарядку для вашего коммуникатора, чтобы не остаться в лесу и без ЖПС, и без телефона?
                                Читать дальше →
                              • 10 безусловных «Нет!» для фрилансера

                                • Перевод
                                Впервые я начал заниматься фрилансом еще будучи студентом, тогда я ужасно хотел создавать веб-сайты и ответил бы «Да» на абсолютно любое предложение, независимо от уровня моих способностей и требуемого времени. Мне просто нравилось знать, что кто-то нуждается во мне для выполнения задания, которое требует опыта и определенных навыков. К сожалению, очень быстро оказалось, что я все время в работе, питаюсь полуфабрикатами и вечно не успеваю рассчитаться с университетскими долгами. Ситуация становилась еще хуже от того, что мои заказчики передавали мои контактные данные своим знакомым (например, даме, которая хотела заниматься продажей свитеров для собак он-лайн, но при этом имела для целей электронной коммерции бюджет в 100$; и это все за создание сайта, 1000 брошюр, гарантированный результат №1 в Google по запросам «собака», «свитер» и «любовь»).

                                В любом случае, теперь, спустя 4 года, мое мировоззрение (и мой финансовый успех) свидетельствуют в пользу более частого использования ответа «Нет». Ниже приведены десять вопросов, на которые теперь я почти всегда отвечаю «Нет»:
                                Читать дальше →
                              • Филологический спор о доступе к ГОСТам

                                  Некоммерческая организация Институт Развития Свободы Информации, поддерживаемая различными международными (де-факто американскими) и российскими фондами и компаниями, гордо и с долей хорошей иронии заявила на днях о своей победе в противостоянии с чиновниками Ростехрегулирования по поводу легкого и бесплатного доступа к текстам выпускаемых этим ведомством стандартов для всех желающих. Постановление Правительства РФ, принятое Кабинетом перед самым его уходом на новогодние каникулы, внесло ясность в спор о толковании понятий «свободный доступ» и «публикация», которые совсем по-разному воспринимались ответственными лицами ГОСТа и всеми другими лицами и предприятиями, заинтересованными в доступности стандартов. «Свободный» теперь официально значит «свободный и бесплатный», а публикация означает именно регулярную публикацию документов с их сохранением в постоянном доступе.
                                  Читать дальше →
                                • Скробблим треки в Last.fm с мобильного устройства

                                    В этом посте я хотел бы предложить свой метод отправления музыки на Last.fm с мобильного устройства (коммуникатор, КПК, телефон) без использования на нём интернета.

                                    Проблема
                                    Легко скробблить на last.fm треки с компьютера. Для этого есть множество программ (я, например, использую Rhythmbox). Но достаточно большую часть музыки мы слушаем на мобильном устройстве. Хотелось бы и с него отправлять музыку на сайт.
                                    При этом желательно не использовать интернет на мобильном устройстве, т.к., во-первых, интернет не везде доступен, а во-вторых, он недешев (особенно, если вы, например, поехали отдыхать в Турцию и взяли с собой КПК как плеер).

                                    Идея решения
                                    Читать дальше →