• Обзор зарядного устройства TechnoLine BC-700, или мой опыт восстановления Ni-MH аккумуляторов

      Опыт восстановления Ni-MH аккумуляторов, или обзор зарядного устройства Techno Line BC700

      Так случилось, что после двух лет активного увлечения фотографией я немного подзабил на всё это дело. И, вот, спустя год, недельки 3 назад, меня «пробило» на фото. Достал фотоаппарат, аккумуляторы, побежал на радостях фотографировать. Сделал 2 фотки, получил сообщение: «Замените аккумуляторы». «С кем не бывает, захватил случайно разряженный комплект», подумал я. Поставил другой комплект — одна-две фотки и фотоаппарат просит новые батарейки. Так со всеми моими четырьмя парами аккумуляторов. Не въехав в ситуацию, пошел, воткнул их в зарядку, пока читал на ночь хабр, заметил, что от момента установки на зарядку не прошло и пяти минут, а светодиод зарядного устройства уже оповещает о полной зарядке. С этого момента и началась история. Добро пожаловать под кат!
      Читать дальше →
    • Чехия! Кто виноват и что делать айтишнику за рубежом!?

        Со времени моего последнего поста о Чехии прошло уже более двух лет! Я его закончил фразой:

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


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

        Кто же виноват, что я так долго не писал ничего о Чехии?! Конечно, в первую очередь я сам. А именно ровно через полгода после поста о получении ВНЖ в Чехии я вернулся на Родину в Россию, где провел полтора года. Назад в Прагу я приехал всего две недели назад, хотя пару раз я ездил в Чехию на месяц погостить. Кстати, сейчас тот пост уже мало актуален, многое за два года поменялось и пока я не до конца понял что, напишу отдельный пост, как выясню все нюансы.

        Как раз сложности иммиграции и мои „розовые очки“ сыграли со мной злую шутку и я был вынужден вернуться и уехать из Чехии. За красивой и беспечной жизнью в Праге я не замечал, как рассыпаются мои дела в России и как мои отношения в семье ухудшаются из-за того, что я очень мало времени уделял им, стал экономить на всем, что меня окружало и прежде всего на себе самом. В итоге мы в спешке вернулись назад спасать то, что там еще оставалось, спасать себя и семью в том числе.

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



        Итак, по порядку…
        Читать дальше →
      • Шпаргалки для тех, кто делает первые шаги



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

          Шпаргалка по электронным компонентам (PDF, 168Kb)
          Шпаргалка по контроллерам AVR (ч.1) (PDF, 61Kb)
          Шпаргалка по контроллерам AVR (ч.2) (PDF, 61Kb)

          PS: Там же, на сайте, имеется любопытный блог с описанием эффектных электронных поделок. Культура исполнения на высоте, приведены ссылки на open source прошивки.
          • +125
          • 15.9k
          • 42
        • Список ресурсов для изучения Ассемблера

            Доброго времени суток!
            Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
            Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

            … но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
            Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.

            UPD
            В список начали добавляться ресурсы по программингу микроконтроллеров.
            Читать дальше →
          • NOC: Комплексный подход к управлению сетью



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

              Еще в начале 80-х комитет ISO выделил основные компоненты системы управления сетью. Модель получила название FCAPS. По версии ISO, для успешного управления сетью надо уметь управлять отказами (F), конфигурацией оборудования и сервисов (C ), собирать и обрабатывать статистику по потреблению услуг (A), оценивать производительность (P) и централизованно управлять безопасностью (S). Прошедшие три десятка лет не добавили ничего принципиально нового, и все задачи управления сетью так или иначе прыгают вокруг основных составляющих.

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

                Не так давно на хабре мелькал топик про aerofs.
                Многие из нас тогда кричали «Вау! Круто! Маст хэв и всё такое». Время шло, интерес поутих, все подзабыли как-то. Я же не отчаивался и оставил несколько запросов на инвайты. Ну и периодически общался с разработчиками. Видимо, время пришло, и мой самый представительный ящик попал в число счастливчиков и получил инвайт.
                Само собой, в конце поста — раздача попугаев (то есть инвайтов).
                Под катом же — небольшой обзор и скриншоты данной мегаштуки (нет, правда, это именно то, что нужно каждому человеку, у которого больше 1 ПК). Все скриншоты сделаны под Ubuntu. Макоси нет, а windows искать лениво.
                Читать дальше →
              • Принцип цикады и почему он важен для веб-дизайнеров

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

                Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

                Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
                Читать дальше →
              • Приобщение к миру USB-устройств на примере микроконтроллеров от Silicon Laboratories

                Устройства от Silicon Laboratories не пользуются широкой популярностью в любительских кругах, им далеко до таких флагманов, как Atmel. Однако у них есть и вполне доступные простому смертному микроконтроллеры основных линеек в корпусе TQFP, и стартовые комплекты USB ToolStick (о чем совсем недавно упоминалось на хабре). Я сам начал свое знакомство с микропроцессорной техникой, работая с «силабсами», и вполне успешно.
                В данной статье я расскажу, каким образом можно организовать связь компьютера с МК, используя USB-интерфейс, и как Silabs попытались сделать это простым для разработчика.
                В качестве испытуемого будем использовать плату С8051F320DK, с микроконтроллером соответственно F32x серии, поддерживающей USB аппаратно, и Keil'овскую среду разработки uVision4.

                Читать дальше →
              • Связь биллинга и Cisco Catalyst 2960 через SNMP. Изменение скорости портов, подсчет трафика

                  Как и обещали, после приветствия, начинаем немножко раскрывать технические подробности.

                  Задача


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

                  Железо


                  В каждой стойке стоит как минимум один свич Cisco Catalyst 2960. Конкретная модель — WS-C2960G-48TC-L with LANBASE SPF. На вход к нему идет 4x SFP, а к серверам обращены 48 гигабитных Ethernet портов. При живой нагрузке в несколько гигабит никаких проблем не возникало. На фото различные представители семейства 2960.
                  image
                  Читать дальше →
                • Time Lapse Photo Motion на Samsung NX100

                    Одна из самых крутых штук, которые делает NX100, — это замедленная фотосъемка (по-английски time lapse photo motion), позволяющая создать иллюзию большей скорости происходящих процессов. Чтобы понять, как это и как это делается, посмотрите этот очень красивый ролик с видами вечерней Москвы от оператора Samsung Russia Романа Лесового. Помимо прочего Роман еще подробно рассказал и показал, как это видео монтировалось в Adobe After Effects.


                    Читать дальше →
                  • Как устроен AES

                    О чём эта статья



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

                    В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.

                    Читать дальше →
                  • Установка Juniper JunOS 10 M/T series


                      В это статье рассмотрена установка Juniper JunOS версии 10.4 для маршрутизаторов M/T серии на виртуальный стенд VMware и последующая конвертация в QEMU Image для применения в среде GNS3.

                      Про версии


                      Мы устанавливаем свежую версию JunOS, но хочется отметить, что установка более ранних версий производится аналогичным образом, поэтому Вы не задумываясь можете взять любой JunOS OS install media, также нет никаких технических оговорок относительно domestic версий, содержащих крито модули.

                      Общая идея


                      JunOS базируется на FreeBSD и аппаратно отчасти на x86 архитектуре, о чем я уже упоминал в своей предыдущей статье.
                      План таков:
                      создание виртуальной машины -> установка FreeBSD -> установка JunOS на FreeBSD, предварительно произведя обман проверки PIC -> завершение установки JunOS –> конвертация для QEMU.

                      Под катом много снимков экрана.
                      Читать дальше →
                    • cut и grep или awk?

                        Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

                        Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

                        Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

                        В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

                        cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

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

                        Например,
                        grep -v "#" /etc/inittab |cut -f 4 -d : -s
                        выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

                        Или
                        grep http://\\S\\+ -o /var/log/apache2/error.log
                        выдаст список URL'ов из файла с ошибками (первый урл в строке).

                        … и никакого awk.

                        UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
                        foobar | (read p1 p2; echo p1)

                        P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.