• Интернет на даче

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

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

      Не успеешь глазом моргнуть, как уже наступит весна, а за ней и лето. А значит, следует следовать пословице, основанной на суровом жизненном опыте:
      “Готовь сани летом, а телегу зимой”

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

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

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

      Значит, надо ставить более суровую приманку, дабы интернет приходил и никуда больше не уходил, и оставался в модеме. В качестве манка выступает, как обычно, фаллический символ внешняя антенна.
      Тут и начинаются проблемы
    • История создания «компаса 21 века»

      Доброе время суток хабр!


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


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

      Программисты C и так не избалованы возможностями языка, а разработчики встроенных систем на микроконтроллерах ограничены еще больше, зачастую их программы работают на голом железе, без поддержки ОС.
      Возможность использования в С сопрограмм, генераторов, кооперативной многозадачности часто может сильно упростить программу и сэкономить силы, но эти возможности языка не очевидны и многие про них не знают.
      Продолжения (contionuation) позволяют запомнить состояние выполнения программного потока (функции), и вернуться к этому месту в дальнейшем.
      Используя продолжения, мы можем получить сопрограммы (coroutine), а это уже практически готовые генераторы, итераторы и кооперативная многозадачность.
      Читать дальше →
    • Строим мультикоптер, часть первая

        Часть 1 | Часть 2 | Часть 3 | Часть 4

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

        Гексакоптер

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

          Вооруженные жидким азотом оверклокеры неоднократно показывали, что современные чипы могут стабильно работать на частотах в разы выше номинальных, обеспечивая соответствующий рост производительности. Тем не менее, прогресс в области «гонки гигагерц» остановился давно и надежно. Первый «Pentium 4» с частотой больше 3 ГГц появился в далеком 2002 году, почти 10 лет назад. За прошедшие годы нормы техпроцессов уменьшились со 180 до 32 нм, но даже это не позволило существенно поднять штатные рабочие частоты. Все упирается в огромное тепловыделение элементов цифровой логики.

          В основе «проблемы тепловыделения» лежит глубокая связь между информационной и термодинамической энтропией, а также второе начало термодинамики, запрещающее уменьшение общей энтропии замкнутой системы. Любое вычисление, уменьшающее энтропию информационную, обязано приводить к увеличению энтропии термодинамической, то есть к выделению тепла. Рольф Ландауэр в 1961 году показал [pdf], что уничтожение одного бита информации должно приводить к выделению не менее k∙T∙ln 2 джоулей энергии, где k – постоянная Больцмана и T – температура системы. Само по себе эта энергия невелика: для T=300K она составляет всего 0.017 эВ на бит, но в пересчете на процессор в целом суммарная энергия вырастает уже до величин порядка одного Джоуля за каждую секунду работы, то есть порядка одного Ватта [Компьютерра №538]. На практике этот теоретический минимум умножается на ненулевое сопротивление и прочие неидеальности реальных полупроводников. В результате мы получаем процессоры, которые по тепловыделению обгоняют утюги.
          Читать дальше →
        • Как Intel обошла ограничения на импорт криптосредств в РФ

            Среди документов по «кабельгейту» обнаружена ещё одна записка из посольства США в Москве. Письмо от 9.11.2009 г. касается переговоров компании Intel и российских властей относительно действующих в РФ ограничений на импорт шифровальных средств.

            По нынешнему таможенному законодательству для импорта в Россию товаров с криптографическим модулем любого уровня сложности (будь то компьютер, процессор или мобильный телефон, см. полный список) или ПО требуется получить лицензию в ФСБ России. Получение лицензии предусматривает шестимесячную экспертизу образца товара в лаборатории ФСБ и должно повторяться для каждой партии товара.
            Читать дальше →
          • Настройка роутинга для домашнего multihomed сервера

            • Tutorial
            Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

            Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

            Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
            Читать дальше →
          • Почему Git

              Было время, когда я ничего не знал про VCS, ни что это такое, ни тем более зачем это мне. И верхом своих достижений считал папочку с архивами версий. К моменту осознания необходимости системы контроля версий я уже набил шишек и прочувствовал необходимость такого инструмента. Но борландовский аналог CVS меня не впечатлил. У каждого файла свой номер версии. Как мне получить срез определенного релиза я так и не разобрался. А в это время SVN победоносно шла сквозь умы разработчиков. Черт, это было то, чего мне так не хватало. Прочитав доку и начав работать я просто влюбился в нее. Да, были трудности и определенные неудобства, но куда без них.
              Так я и работал бы в SVN, но ничего не стоит на месте. В интернете уже потекли тонкие ручейки новостей про Git. Я не кидаюсь за каждой новой технологией, и прошло уже достаточно много времени, пока мне не прожужжали этим Git’ом все мозги. Мне стало любопытно, я вначале присматривался, примерялся, а потом плюнул и начал новый проект на Git. Мучался с ребятами 2 недели, накачал литературы, написал шпаргалку… ничего, привыкли, … а потом меня поперло.

              Теперь меня регулярно просят рассказать про Git и что в нем такого. Уже надоело, поэтому этот пост для тех, кто еще сомневается.
              Читать дальше →