• Особенности получения пакетов через raw socket в Linux

    • Tutorial

    Linux (в отличии, к примеру, от FreeBSD) позволяет использовать сырые сокеты не только для отправки, но и для получения данных. В этом месте существуют интересные грабли, на которые я наступил. Теперь спешу показать их тем, кто еще на знает, чтобы каждый, используя свой любимый язык программирования, будь то C++ или Python, мог опробовать их в деле.

    Суть граблей изображена на рисунке, чтобы те, кто уже в курсе, не тратили свое время.
    Читать дальше →
    • +18
    • 20,2k
    • 8
  • Делаем влагостойкий девайс

      Продолжая водную тематику, хотел бы поделиться… Очень люблю читать в ванной. С появлением первой читалки (тогда это был LOOX 410) пришлось придумать способ безопасно использовать его в условиях повышенной влажности. Решение очень примитивное. Под катом несколько фото для тех, кто ещё не догадался.
      Читать дальше →
    • Google testing framework (gtest)

      • Tutorial
      Когда вставал вопрос о тестировании кода, я не задумываясь использовал boost::test. Для расширения кругозора попробовал Google Test Framework. Помимо всяких имеющихся в нем плюшек, в отличии от boost::test проект бурно развивается. Хотел бы поделиться приобретенными знаниями. Всем кому интересно прошу
      под кат.
    • Пути к файлам

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

        std::string filepath("C:\\тест");
        std::ofstream file(filepath.c_str());


        Почему?
      • Сборка Mingw в Windows своими руками

          В сети можно найти много описаний сборки mingw и GNU утилит под ним. Я тоже решил написать свой вариант, так как во-первых он на русском. Во-вторых используются последние стабильные исходники (по состоянию на 27.01.2011). В третьих добавлена оптимизация циклов (graphite loop optimizations). В четвертых я описываю причины выбора тех или иных опций конфигурации исходников. В пятых, чтобы не забыть.
          Читать дальше →
        • Кодировки


            Всем рано или поздно приходится работать с различными кодировками. Заметив в коде своей команды различные, порой странные, подходы к решению этих проблем, пришлось провести разъяснительную беседу. Ниже поделюсь своим видением правильной работы с не-ASCII символами в коде. Буду рад конструктивной критике.

            Читать дальше
          • Не забываем о языковых и культурных особенностях

              Рано или поздно все сталкиваются с проблемами связанными с языковым и культурным разнообразием при написании программ. Я был сильно удивлен узнав, что часть моих знакомых, пишущих на C++, решают эти проблемы своими велосипедами. Для тех, кто еще не знает что такое std::locale я хотел бы кратко на примере показать как c ним работать и что бывает, если о нем забыть…
              Читать дальше
            • Правильно просыпаемся

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

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

                Читать дальше →
              • Windows 7 и автомонтирование с Ext2IFS

                  Ext2IFS logo Мне, как и многим, приходится работать под разными операционными системами.
                  Для хранения данных я выбрал файловую систему ext3. Под Windows доступ к разделам осуществлялся с помощью драйвера Ext2IFS. С такой конфигурацией я замечательно существовал и не знал никаких проблем под WindowsXP. Но тут на моем жестком поселилась Windows 7 (x64)…
                  Читать дальше →
                • Безопасное хранение секретов

                    image Расскажу об одном из портативных, кроссплатформенных методов хранения секретов на накопителях, в основе которого лежит только открытое, свободно распространяемое ПО.


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

                    Читать дальше →