• IBM PC своими руками — это очень просто

      image

      После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

      Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
      В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
      Читать дальше →
    • RAII и необрабатываемые исключения

      Наверняка все знают прописную (в книгах про С++) истину о чудесной методологии RAII, если нет — приведу краткое описание из википедии.

      Это шаблонное описание этой техники
      Получение ресурса есть инициализация (англ. Resource Acquisition Is Initialization (RAII)) — программная идиома объектно-ориентированного программирования, смысл которой заключается в том, что с помощью тех или иных программных механизмов получение некоторого ресурса неразрывно совмещается с инициализацией, а освобождение — с уничтожением объекта.

      Типичным (хотя и не единственным) способом реализации является организация получения доступа к ресурсу в конструкторе, а освобождения — в деструкторе соответствующего класса. Поскольку деструктор автоматической переменной вызывается при выходе её из области видимости, то ресурс гарантированно освобождается при уничтожении переменной. Это справедливо и в ситуациях, в которых возникают исключения. Это делает RAII ключевой концепцией для написания безопасного при исключениях кода в языках программирования, где конструкторы и деструкторы автоматических объектов вызываются автоматически, прежде всего — в C++.

      Последнее предложение вроде как обещает 100% гарантию результата, но как всегда в жизни, а особенно в С++, есть нюанс.
      Читать дальше →
    • Сделаем код чище: Что можно исправить в ядре Linux

        Наверняка многие хотели бы попробовать что-то изменить в ядре Linux к лучшему, но не знают с чего начать. Я хочу описать несколько проблем, исправить которые под силу каждому, и на примере показать путь от нахождения проблемы до опубликования её исправления в списке рассылки. По ходу повествования читатель познакомится с некоторыми вспомогательными утилитами.
        Читать дальше →
      • Архитектура умного дома — с Black Swift и не только

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

          Если раньше мы смотрели на проекты «умного дома» с интересом, но несколько со стороны, то сейчас, после выхода Black Swift в публичное поле, нам самим стали приходить вопросы и предложения по использованию его в качестве базы для «умного дома» — и естественно, я не мог не уделить отдельное внимание этой теме.

          Результат меня расстроил, и я хотел бы поговорить об этом.

          Проекты «умного дома» сейчас рождаются (и умирают) как грибы — но, к сожалению, в большинстве случаев они обусловлены не осознанием недостатков уже существующих решений, а самим фактом наличия технологических платформ, на которых что-то такое можно построить. Это хорошо видно по Хабру: по мере популяризации того или иного решения проходит волна очередных «беспроводных розеток» на нём. Так было с NRF24LE1, сейчас такая же волна идёт с ESP8266. Некоторые многообещающие проекты за свою жизнь успевают поменять по две-три платформы — в зависимости от текущей моды и наличия под рукой кого-нибудь, кто может на одной из них что-нибудь спаять.

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

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

          Ах да, чуть не забыл КДПВ. Вот:



          Она не про «умный дом», а про то, что Black Swift можно найти на MWC на стенде Imagination Technologies. А теперь давайте про «умный дом».
          Читать дальше →
        • STM32 и FreeRTOS. 5. Приносим пользу и добро!

          • Tutorial
          На всякий случай, а то вдруг санкции применят (смаил). Описываемый случай не имеет никакого отношения к реальности и является целиком и полностью выдумкой автора

          Раньше было про потоки, семафоры, очереди и HAL

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



          Вооружившись осциллографом, я полез внутрь.
          Читать дальше →
        • Эти незаменимые регистрационные карточки

            image

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

            • Translation
            В субботу в блоге кенийского стартапа Mocality появилась следующая заметка, наделавшая много шуму:

            Я горжусь делом, которое мы организовали в Mocality, но особенно — двумя вещами:
            • Нашей краудсорсинговой программой. Когда мы начинали работу, мы понимали, что (в отличие от США или Великобритании, где каталог для выкладывания в сеть можно просто купить), если мы хотим получить достойную базу данных кенийских предприятий, нам придётся наполнять её с нуля. Также было очевидно, что для быстрого роста предприятия нам потребуется помощь многих кенийцев. Поэтому мы создали систему сбора информации, задействующую M-PESA (местную популярную платёжную систему) для вознаграждения каждого кенийца с мобильником, кто сообщает данные для нашей базы, и они подтверждаются проверкой. За два года мы выплатили 11 млн кенийских шиллингов (более 100 000 долларов) тысячам человек, и построили самый полный каталог в Кении, включающий более 170 тысяч проверенных записей. От себя, я считаю эту работу самым важным достижением моей 18-летней интернет-карьеры.
            • С первого дня мы нацелились на каждую кенийскую организацию, безотносительно размера. В итоге, примерно для двух третей предприятий в списке Mocality это их первый шаг в Сеть. Мы вывели в онлайн порядка ста тысяч организаций.

            Пока вы читаете, держите в голове следующее:

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

            В сентябре Google запустил программу Getting Kenyan Businesses Online («Вывод кенийских организаций в Сеть», GKBO). Хотя мы видели, что в некоторых аспектах она конкурирует с нами, мы приветствовали это начинание, поскольку в Кении достаточно потенциала для всех, и каждый новый участник помогает росту рынка. И, конечно, мы достаточно уверены в продукте, в нашей местной команде и в нашей увлечённости, чтобы соревноваться с любым противником при условии честной игры.

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

            Читать дальше →
          • HP будет продавать Touchpad по 99 долларов 11 декабря на eBay



              Похоже на то, что у любителей приобретать хорошие вещи по не очень высокой цене есть все шансы это сделать. Компания HP объявила о том, что будет продавать свои планшеты Touchpad с webOS на eBay 11 декабря. В продажу поступят как 16 ГБ, так и 32 ГБ модели. Стоимость их составляет 99 и 149 долларов, соответственно. Можно только представить себе, какой поднимется ажиотаж при «выбросе» партии этих планшетов.

              Читать дальше →
            • Закачка любых файлов в бесплатный Google Account

                В последнем обновлении Google Documents List Data API v. 3.0 добавлена возможность сторонним приложениям закачивать файлы любых форматов в Google Account. Раньше эта функция была доступна только владельцам аккаунтов Google Apps for Business.



                Похоже, пресловутый GDrive наконец-то пришёл, только с опозданием на пять лет, позволив раскрутиться разным «левым» проектам вроде Dropbox.
                Читать дальше →
              • Стенограмма доклада про Фантом-ОС, сделанного Дмитрием Завалишиным на ADD-2010

                  Аннотация


                  Дмитрий Завалишин рассказал о текущем состоянии в разработке своего любимого детища — оригинальной операционной системы PhantomOS, близкой по концепции Microsoft Singularity, но при этом open-source (опубликована большая часть исходных кодов этой операционной системы).

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

                  Иллюстрация

                  Вы заботитесь о своем здоровье?


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

                  Что оказалось непросто. В данной статье я расскажу о моем способе организации «правильного» рабочего дня, о том, что следует для этого делать, и где лежат грабли, на которые нельзя наступать. Тема «компьютер и здоровье» уже несколько раз поднималась на Хабре, поэтому я задумывал этот пост как статью, которую можно добавить в закладки и использовать в качестве «руководства к действию».

                  Читать дальше →
                • Реклама Почты России

                    Я нарисовал «рекламу» для Почты России — в связи с событиями последних месяцев. Думаю, вам будет интересно заценить.

                    russian post

                    Под катом еще 6 штук.

                    UPD. По мотивам комментариев сделал еще 4 постера.

                    UPD2. Ещё 2.

                    UPD3. Добавил шаблоны.

                    Обращаю ваше внимание: кликнув на картинку, вы перейдете на Flickr, где сможете получить hi-res версию постера — для вашего личного блога, к примеру. Или чтобы распечатать и на стенку повесить. Если вдруг кому понадобиться, могу pdf прислать, обращайтесь в личку.

                    Читать дальше →
                  • Первый Dropquest от Dropbox.com

                      DropquestЗавтра 15.01.2011 состоится первый Dropquest. Что такое Dropquest?

                      Dropquest — это специальный конкурс который дает шанс выиграть свободное пространство к своему аккаунту на dropbox'e и также памятные призы.

                      Немного о сути квеста:
                      Читать дальше →
                    • Android 3.0 Preview Video

                        Google показало самым нетерпеливым видео с новым интерфейсом Android 3.0 (да все таки 3.0!) Honeycomb

                        Смотрим на интерфейс «сладкой» ОС

                      • Cookies внутри iframe — проблема при создании приложения ВКонтакте/Facebook

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

                        Так считали и мы при разработке iframe-приложения для ВКонтакте.
                        Но после того, как приложение было разработано (разработка велась в основном в Mozilla Firefox и Google Chrome), выяснилось, что оно неработоспособно в Internet Explorer, к которому позднее присоединились последние версии Opera и Safari.

                        Под катом подробное описание проблемы и вариантов её решения.
                        Читать дальше →
                      • Модернизации зеркала в прихожей

                          Результат моих трудов

                          Идея модернизации зеркала появилась у меня 2 года назад. И для ее реализации в магазине Икея было куплено зеркало. Так же для этого зеркала была куплены фоторамка с метеостанцией. Как всегда, нехватка времени, лень и страх не давали мне реализовать свою идею до победного конца. И вот моя идея, наконец-то, реализовалась.
                          Читать дальше →
                        • SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

                            Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?

                            То-то и оно. Такое пропустить нельзя.
                            Читать дальше →