• Введение в параллельные вычисления

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

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

      Что самое удивительное, в университетах пока не спешат переводить программы обучения в русло параллельных вычислений! При этом сегодня нужно постараться, чтобы найти компьютер с одним ядром. В моем родном Carleton University курсы по параллельным вычислениям не входят в обязательную программу Bachelor of Computer Science, и доступны лишь для тех, кто прошел основные курсы первых трех лет. На том же уровне находятся курсы по распределенным вычислениям, и некоторых могут сбить с толку.

      Читать дальше →
    • Произносим правильно

        Из знакомых мне айтишников очень немногие стараются правильно произносить английские слова. Конечно, привычнее произносить C++ как «си-плюс-плюс», а не «си-плас-плас» или «опен-бэ-эс-дэ», а не «оупэн-би-эс-ди».
        Но когда «echo $value;» читают как «ечо валуй» — это уже не смешно. Другой человек вас может просто не понять, особенно иностранец.

        В топике представлен небольшой список «сложных» слов, которые часто произносят неправильно.
        Ориентироваться лучше не на мою (весьма приблизительную) транскрипцию, а на аудио.

        ♫ — прослушать произношение в словаре
        ► — прослушать произношение на youtube

        Начнем с названий:
        ABBYY аби
        Adobe эдоуби [əˈdəʋbɪ]
        Apache эпэчи [əˈpætʃiː] от «a-patchy»
        Asus офиц. э́сус
        амер. э́йсус

         
        BenQ бенкью
        Cisco сискоу [ˈsɪskoʊ]
        EBay ибэй
        Eee PC и писи
        Ethernet изэрнэт [ˈiθərˌnɛt]
        Itanium айтэйниум [aɪˈteɪniəm]
        Juniper джу́нэпэр [ˈdʒunəpər]
        LaTeX лэйтех
        лэйтек
        латех
        латек
        [ˈleɪtɛk]
        ['leɪtɛx]
        [ˈlɑːtɛx]
        [ˈlɑːtɛk]
        Linux офиц. линэкс
        вар. линукс
        [ˈlɪnəks]
        [ˈlɪnʊks]

         
        Mac OS X мэк оу-эс тэн
        MySQL офиц. май-эс-кью-эл
        вар. май-сиквел
        как «My Ess Que Ell», см. оф. сайт
        nginx энджин-икс (от engine-x)
        PuTTY пати [ˈpʌtɪ] см. оф. сайт
        Qt кьют [kyut] см.
        TeX тех
        тек
        [ˈtɛx]
        [tɛk]
        не «текс»
        XBox 360 экс-бокс фри сискти
        Xen зен [ˈzɛn]
        Xeon зион
        Xerox зирокс [ˈzɪərɒks]
        Xilinx зайлинкс [ˌzaɪliːŋks]
        ZyXel рус. зайксел
        амер. зайзел
        см.


        Аббревиатуры:
        GNU гну вар. гню
        GWT гвит [ˈɡwɪt]
        ICANN айкэн
        IEEE ай-трипл-и как «I triple E»
        ISO айсо
        PNG пинг [ˈpɪŋ] как «ping», см. спецификацию
        PXE пикси [ˈpɪksi]
        RUP рап
        SCSI скази ['skʌzi]
        SOAP соуп [soʊp]
        SQL эс-кью-эл [ˈɛsˈkjuˈɛl] неофиц. «сикуел»
        SWF свиф [ˈswɪf] см. спецификацию
        WYSIWYG визивиг [ˈwɪziˌwɪg]
        XAML зэмл [ˈzæməl]
        XUL зул [ˈzuːl]
        Yii длинное «и» [ji:]

        Обычно аббревиатуры произносятся по правилам английского языка: API — эй-пи-ай, PCMCIA — пи-си-эм-си-ай-эй, OpenBSD — оупен-би-эс-ди и т.д.

        Обычные слова дальше
      • Простой электронный самописец


        Сначала была идея

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

        Читать дальше →
      • ARM — это сложно…?

          После моей недавней статьи на хабре про рвущие все по цене армы было высказано много мнений, что ARM-у нужна 4-6-слойная плата, ну уж 2 то как минимум, и куча обвязки.

          Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
          Читать дальше →
        • Эксперт по сетевой безопасности из Германии создал систему по перехвату и дешифровке GPRS-трафика



            Специалист по сетевой безопасности, занимающийся вопросами криптографии, сообщил о создании достаточно простой в эксплуатации технологии по перехвату и декодированию GPRS-трафика. Эксперта зовут Карстен Нол, а работает он в немецкой компании Security Research Lab. Нол утверждает, что большинство операторов мобильной связи в любой стране работают с недостаточно защищенной реализацией GPRS, что теоретически позволяет (сам Нол доказал это уже на практике) постороннему человеку перехватывать и дешифровывать GPRS трафик подавляющего большинства сотовых операторов. И это не пустые слова — Нолу и его партнеру удалось успешно перехватить данные в сетях таких операторов, как T-Mobile, O2 Germany, Vodafone и E-Plus.

            Читать дальше →
          • Можно ли верить своим глазам? (Unicode в именах файлов)

            • Translation
            Несколько дней назад один из наших пользователей прислал образец (SHA1: fbe71968d4c5399c2906b56d9feadf19a35beb97, определяется как TrojanDropper:Win32/Vundo.L). Это троян для фишинга с сайтов vk.com и vkontakte.ru, запросы на которые перенаправляются на 92.38.209.252 необычным способом.

            Обычный метод перенаправления трафика — добавить запись в файл hosts, который находится в папке %SystemRoot%\system32\drivers\etc. Однако, когда мы открываем этот файл на заражённом компьютере, то там нет никаких записей для vk.com и vkontakte.ru:


            Читать дальше →
          • Собрание материалов по лицензиям и авторскому праву GNU

              image

              Что такое авторское лево
              www.gnu.org/copyleft/copyleft.ru.html
              www.gnu.org/copyleft/copyleft.html

              Категории свободных и несвободных программ
              www.gnu.org/philosophy/categories.ru.html
              www.gnu.org/philosophy/categories.html

              Проблема лицензии BSD
              www.gnu.org/philosophy/bsd.ru.html
              www.gnu.org/philosophy/bsd.html

              Свободные программы надежнее
              www.gnu.org/software/reliability.ru.html
              www.gnu.org/software/reliability.html

              Почему «открытый исходный код» не передает понятия свободное ПО
              www.gnu.org/philosophy/open-source-misses-the-point.ru.html
              www.gnu.org/philosophy/open-source-misses-the-point.html

              Зачем авторское лево
              www.gnu.org/philosophy/why-copyleft.ru.html
              www.gnu.org/philosophy/why-copyleft.html

              FAQ по лицензии GNU
              www.gnu.org/licenses/gpl-faq.html
              Читать дальше →
            • Ликбез по уязвимостям в веб-приложениях, а также самые частые ошибки разработчиков



                Эта статья — продолжение цикла статей по информационной безопасности в веб-приложениях (и не только).

                Вообще думал написать о «белом ящике», но я решил что нужно сначала ликвидировать возможные пробелы у целевой аудитории (в основном веб-разработчики) в этой области.

                Может многие и все знают, о чем я пишу в статье, но я попытаюсь разбавлять ее практическими примерами и занятным опытом.

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

                Как обычно — ответственность за все полученные знания только на читателе :)

                Читать дальше →
              • STM32F1xx — лечимся от ардуинозависимости вместе

                  Добрый день, уважаемые хабровчане!
                  После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
                  Итак, почему Cortex, чем же плохи АVR?
                  Читать дальше →
                • О вреде копирайта и пользе лицензионных программ

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


                    Тест на сообразительность. Правомерна ли запись этой картинки в память вашего компьютера? Кто ее туда записал? Является ли она произведением искусства? Является ли она результатом интеллектуальной деятельности? Кто ее правообладатель? Как вы можете все это выяснить наверняка? Как вы охарактеризуете того, кто все это придумал?

                    Законодательство РФ в сфере интеллектуальных прав вызвало у нас сложные чувства... Его основа — Гражданский кодекс в редакции 2008 года. К сожалению, далеко не все руководители российских организаций его внимательно читали. А из тех, кто читал, не все поверили своим глазам. В ходе проведенного нами исследования обнаружился низкий уровень правовой грамотности в сфере ИТ: люди часто не знают, как же нужно действовать, чтобы не оказаться виновными. Впрочем, и у нас в Евросоюзе ситуация вокруг копирайта развивается не лучшим образом :(

                    Чтобы выжить, нужно хорошо знать закон. Это очень помогает против сами знаете кого. Мы приведем строгий юридический анализ проблемы применительно к деятельности организаций, являющихся резидентами РФ.

                    Прежде всего, «лицензионных» и «нелицензионных» программ с юридической точки зрения не существует. Запомните термин, который используется в законодательстве РФ — «результат интеллектуальной деятельности» (РИД). Примеры РИД — компьютерная программа (.js), музыка (.mp3), видео (.flv), картинка (.jpg), литературный текст (.htm). Есть и другие типы РИД — от торговой марки до дизайна кресла. Каждый РИД сам по себе не может быть «лицензионным» или «нелицензионным». А вот вы либо можете его использовать, либо не можете. Это зависит, в частности, от наличия у вас документа, разрешающего использование этого РИД. Пример использования — запись вами РИД в память компьютера. Чтобы использовать несколько РИД, нужно письменное разрешение на каждый из них. Без явного разрешения правообладателя ГК РФ запрещает вам использование любого РИД любым способом.

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

                    • Translation
                    imageИстория, стоящая за спиной Stuxnet — червя ориентированного на Иранские атомные электростанции, была описана уже не раз (в том числе и на Хабре) с того момента, как прошедшей весной группа разработчиков из Symantec выпустила этот документ — досье, посвященное этому беспрецедентно сложному творению чьих-то рук. Но видеть — значит верить. И у меня был шанс присутствовать на специальном брифинге в штаб-квартире Symantec, расположенной в Mountain View — California, где Патрик Гарднер, директор их группы безопасности, показывал как все происходило на самом деле. Это был великолепно.

                    Stuxnet был очень сложной программой, содержащей около 10 000 строк кода, написание которых заняло человеко-годы. Symantec обнаружила первые версии червя примерно за год до настоящей атаки, имевшей место год назад в июне и у них не был ни малейшего понятия о том, что же это такое, до тех пора пока события не начали развиваться на атомном объекте. Они раскололи код командой из трех человек, работавших на полный рабочий день, за несколько месяцев.

                    Этот софт очень специфичен, и затрагивал отдельный программируемый логический контроллер от компании Siemens, проводящий серию из 9 000 различных центрифуг, используемых для разделения урана. Червь начисто уничтожал около 1000 из них, наносив серьезный ущерб и отбрасывая всю атомную программу Ирана на год, или даже более, назад.

                    Компьютерная сеть атомной электростанции имеет т.н. «воздушную дыру» между компьютерами используемыми для работы с контроллерами Siemens и обычными компьютерами бизнес-отделения, подключенными к Интернету. Это значит, что компьютеры подключенные к технике от Siemens не имели доступа к внешней сети, что является стандартной и хорошей практикой в сетевой безопасности такого уровня. Как же тогда они оказались заражены червем? Оказалось, в результате человеческого фактора.
                    Читать дальше →
                  • Ликбез по псевдослучайным генераторам

                      На размышления о необходимости генерации псевдослучайных паролей меня натолкнула достаточно безрадостная статистика взлома паролей, созданных при помощи МОЗГ v1.0; однако взять какой-то первый попавшийся программный генератор паролей и с помощью него поменять все пароли — выглядит безрассудством. Я не проводил детальный анализ готовых программ-генераторов, однако расскажу некоторые достаточно простые, но познавательные факты, связанные с математикой генерации псевдослучайных чисел хорошего качества, которые позволят выбрать нужную программу самостоятельно.
                      Читать дальше →
                    • Об алгоритме взлома WPA-PSK

                        Доброго времени суток, уважаемое Хабросообщество!
                        В данном топике хотелось бы рассмотреть некоторые тонкие вопросы, связанные с атаками на сети Wi-Fi в режиме разделяемого ключа WPA-PSK (если говорить более просто — WPA-PSK — режим без выделенного сервера аутентификации, который используют большинство пользователей Wi-Fi, например, при создании подключения по сети типа компьютер-компьютер).

                        К чему все это?


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

                        Недавняя статья на Хабре, посвященная одной из таких программ, упоминающая в себе использование радужных таблиц (возможно ли это?) для ускорения атаки, и подтолкнула меня к написанию данного топика. Надеюсь информация окажется полезной, так как аналогов в сети я не встречал ни на отечественном, ни на вражеских языках.
                        Читать дальше →
                      • Все о Лазерах

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

                          А началось все со статьи из Юного техника за 91-й год о создании лазера на красителях – тогда повторить конструкцию для простого школьника было просто нереально… Сейчас к счастью с лазерами ситуация проще – их можно доставать из сломанной техники, их можно покупать готовые, их можно собирать из деталей… О наиболее приближенных к реальности лазерах и пойдет сегодня речь, а также о способах их применения. Но в первую очередь о безопасности и опасности.
                          Читать дальше →
                        • Криптостойкость 1000-кратного хеширования пароля



                            Поднявшаяся в этом топике дискуссия о криптостойкости многократного применения хеша над паролем (проскальзывавшая, кстати, и в других форумах), подтолкнула меня к этому немного математическому топику. Суть проблемы возникает из идеи многократной (1.000 и более раз) обработки пароля перед хранением каким-либо криптостойким алгоритмом (чаще всего хеш-функцией) с целью получить медленный алгоритм проверки, тем самым эффективно противостоящий brute force-у в случае перехвата или кражи злоумышленником этого значения. Как совершенно верно отметили хабрапользователи Scratch (автор первой статьи), mrThe и IlyaPodkopaev, идея не нова и ею пользуются разработчики оборудования Cisco, архиватора RAR и многие другие. Но, поскольку хеширование – операция сжимающая множество значений, возникает вполне закономерный вопрос – а не навредим ли мы стойкости системы? Попытка дать ответ на этот вопрос –
                            далее ...
                          • Пара слов о гибридном шифровании и эллиптических кривых

                              Здравствуйте, уважаемые читатели. В качестве предисловия позвольте напомнить, что представляют собой гибридные криптосистемы и почему они получили такое широкое распространение.
                              Итак, гибридной криптосистемой принято называть способ передачи большого объема зашифрованных данных, при котором данные шифруются секретным ключом с применением симметричного алгоритма (например, AES или DES), а сам ключ передается зашифрованным асимметричным шифром (как, скажем, RSA). Такой способ получил широкое распространение за то, что он вбирает в себя преимущества как симметричной, так и асимметричной криптографии. Большой блок данных шифруется очень быстрым симметричным алгоритмом (и это избавляет от серьезных временных затрат), а ключ шифрования передается надежно зашифрованным с помощью асимметричного алгоритма (и это решает проблему распределения ключей, свойственную только симметричным методам). Все это достаточно широко известно, а поэтому перейдем к самому главному, а именно к вопросам реализации. И вот тут начинается много интересного.
                              Читать дальше →
                            • Сравниваем микроконтроллеры до 50 рублей: ARM жаждет крови

                                Года так 2 назад на одном из форумов по радиоэлектронике я попросил посоветовать, какой микроконтроллер изучать — и больше всего голосов было в поддержку AVR — популярных, 8-и битных МК, под которые легко писать, программатор можно сделать одной рукой (из проводов и резисторов)… Будущее было ясным и безоблачным, пока в 2009-м году не пошли новости про новые микроконтроллеры на ядре ARM Cortex-M0, которые должны были стоить меньше 1$ (во что в принципе никто не верил) и перекрыть кислород 8-и битным микроконтроллерам.

                                Сейчас на дворе середина 2011 года и пришла пора посмотреть, что и по какой цене у нас можно купить, и какая получается расстановка сил (цены — из terraelectronica.ru).
                                Читать дальше →
                              • Выбираем микроконтроллер вместе

                                  Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
                                  Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
                                  image
                                  Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
                                  Читать дальше →
                                • Задача недоказуемой передачи данных

                                    Это несколько неформатный пост. Этот пост — вопрос к Хабрасообществу, ответа на который я не знаю. Возможно, ответа нет. Лично у меня не получилось до конца осознать точную постановку вопроса.

                                    Эта публикация, кроме того — память о человеке, от которого я впервые услышал о такой задаче.
                                    Читать дальше →