• Механические клавиатуры

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

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

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

    Механические клавиатуры. Путеводитель.

    Читать дальше →
  • Отказоустойчивый узел передачи данных

      Каждый оператор ШПД думает о том, как выпускать пользователей в сеть интернет и грамотно ограничивать скорость работы в сети по имеющимся тарифным планам и иметь резерв на случай отказа оборудования или работ связанных с отключением оборудования. Попытаюсь рассказать и показать на примере то, как это реализовано у нас (к нам подключены более 3х тысяч пользователей и описанный мною вариант работает очень даже неплохо)
      Читать дальше →
    • TOP-10 Flash-игр

        Сегодня уже можно :)



        1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
        Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
        Читать дальше →
      • NetSetMan — программа для быстрой смены сетевых настроек на ноутбуке

          Ноутбуки прочно вошли в жизнь человечества. :)
          При перемещениях в течении дня, часто приходится менять сетевую конфигурацию для доступа к сети. За день можно побывать дома, на работе, в университете, в кафе на обеде, и во многих из этих мест есть доступ к сети internet, только приходится постоянно менять ip-шники, dns-ы, шлюзы и т.д.
          Чтобы не делать этого вручную предлагаю ознакомиться с удобной и бесплатной программой для смены настроек в 2 клика.
          NetSetMan - программа для быстрой смены сетевых настроек на ноутбуке
          ознакомиться
        • Точное время 0100 часов 010111 минут

            KT102B1_012.png - image uploaded to PicamaticДолго выбирал блог между «Я безумный», «Странные вещи» и «Я пиарюсь»...



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



            Под катом вы узнаете, что случилось с моим мозгом («Я безумный»), что я сделал («Странные вещи»), и как такое же заполучить себе («Я пиарюсь»).


            Читать дальше →
          • Расширение спектра услуг провайдера — КТВ

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

              Обзорная — техническая часть.Построение сети.


              Есть два основных варианта построения сети:
              Читать дальше →
            • Установка с внешнего HDD

                image
                Я уже как год отказался от DVD привода, а тенденции нетбуков говорят о правильности решения. Но перед мной встал вопрос, как установить операционку без DVD. Не к месту умерла флешка, а когда я пошел в магазин за новой, на глаза случайно попались внешний диски Seagate Expansion, 250Gb версия которого стоила буквально на 500 рублей дороже, чем 8Gb флешка (2323 рубля). А размер и весь которой, не сильно смущал карман куртки.
                Размеры:141 x 18 x 80 мм
                Вес:0.16 кг

                Но как оказалось, установка Windows 7 с USB HDD, работает не по-такому же принципу как с USB FLASH. Разобравшись и проверив работоспособность, делюсь информацией с вами.
                Работает как и для Настольных ПК, ноубтуков, так и для Нетбуков.
                • Подготовка HDD
                • Нарезка и подготовка разделов HDD;
                • Копирование Windows 7

                Читать дальше →
              • Я хочу работать в Google! Телефонное интервью (часть 2)

                  Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
                  Читать дальше →
                • Вещи, о которых следует помнить, программируя на Python

                    Дзэн Питона



                    Изучение культуры, которая окружает язык, приближает вас на шаг к лучшим программистам. Если вы всё еще не прочли «Zen of Python», то откройте интерпретатор Python и введите import this. Для каждого элемента в списке вы найдете пример здесь

                    Однажды моё внимание привлекло:
                    Читать дальше →
                  • Ломаем сайт банка или от LFI к RCE

                    По просьбе друга, недавно устроившегося на работу в банк, решил проверить сайт kubunibank.ru на наличие брешей в безопасности. В качестве инструмента для аудита выбрал Acunetix Web Scanner. Выбор обоснован тем, что данный сканнер лучше всего подходит для первоначального осмотра. Сайт достаточно не большой, так что спустя 5 минут было найдено 3 ошибки LFI (Local File Inclusion), и мне сразу захотелось получить там шелл.


                    Читать дальше →
                  • Удаленная замена корневой ФС в GNU/linux

                    image
                    Иногда мне приходится сталкиваться с заменой корневой файловой системы. Имея загрузочный диск и доступ к серверу, это не сложно. Однако, я хочу поделиться опытом замены корневой ФС удаленно, через ssh, без перезагрузки.

                    Причины для замены коневой ФС бывают разные:
                    • перевод / в LVM
                    • перевод / в mdraid
                    • замена типа файловой системы (ext3 => btrfs)
                    • уменьшение размера ФС (resize2fs)

                    Читать дальше →
                  • Архитектура Android-приложений. Часть IV — интеграционный уровень

                    • Перевод
                    В этой статье мы поговорим о различных механизмах, посредством которых взаимодействуют части Android-приложений. Условимся называть все эти механизмы «уровнем взаимодействия» (насколько мне известно, в документации Android нет специального термина для этого).
                    Читать дальше →
                    • +35
                    • 31,6k
                    • 5
                  • Font Awesome: бесплатный свободный (CC BY 3.0) шрифт со значками для употребления в стиле Twitter Bootstrap

                      Всякий такой веборазработчик или дизайнер сайтов, которому когда-либо доводилося ознакомиться со стилевою системою Twitter Bootstrap, уж конечно помнит, что в ней применяются значки Glyphicons (120 штук) для оформления кнопок, и панелей инструментов, и пунктов в списках, и так далее. Распространяются эти значки бесплатно и свободно (по лицензии CC BY 3.0).

                      У всех этих значков, однако же, есть общий недостаток: они растровые. Соответственно, если в значке есть диагональные или криволинейные элементы, то растянуть такой значок (для крупной кнопки или для сетчаточных дисплеев) не удастся без неприятной потери качества.

                      Преодолеть этот недостаток намерен проект Font Awesome, нацеленный на разработку бесплатного и свободного (CC BY 3.0) шрифта, содержащего аналогичные значки не в растровой, а в векторной форме. Значки («буквы») этого шрифта легко могут принимать поэтому любой размер и любой цвет. Притом их ужé и не сто двадцать, а сто сорок.

                      К шрифту прилагаются стилевые файлы, позволяющие начать использование Font Awesome в Twitter Bootstrap без каких-либо особенных усилий.

                      Читать дальше →
                    • Emacs для начинающих: введение

                        Ist das Emacs? Sehr gut!



                        Начну с небольшой истории. Лет так 15 назад ездил я на подработку сисадмином программистом в славный городе Mannheim, West Germany. Когда я приехал на работу и развернул своё рабочее окружение, большинство дойчей вообще не сильно поняли в чём я работаю, а вот директор конторы сразу мне сказал: «Ist das Emacs? Sehr gut!», добавив также что никто кто из текущих программистов не смог его освоить. А по честному, не такой уж я особенный — мне просто повезло: готовый конфиг мне дал один добрый человек, и помог мне разобраться с редактором на первых шагах. Я, в свою очередь хочу поделиться своим опытом с остальными, и решил сделать серию статей для начинающих и не очень, с рассмотрением разных полезных фич emacs.

                        В этой статье я также хочу пошатнуть сложившийся миф — что Emacs — сложный в работе/настройке редактор. Я считаю, что правильно начав, процесс изучения не будет сложным, и надеюсь, доставит Вам массу удовольствия от использования удобного, мощного и быстрого инструмента как в работе так в жизни.
                        Читать дальше →
                      • Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги


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

                          Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
                          Читать дальше →
                        • Уязвимы по определению

                            У многих людей, как-либо связанных с безопасностью, периодически возникает желание заняться pentest'ом, то есть тестом на проникновение. И чаще всего начинают все с pentest'а веб-приложений. Порог вхождения довольно мал (простейшая sqli определяется добавлением кавычки в параметр и эксплуатируется не особо сложнее), но при этом встречаются и довольно сложные задания, которые заставляют потратить пару-тройку дней на ковыряние.
                            Но возникает вопрос — где применять теоретические знания, без страха внезапного появления маски-шоу? Под катом проведу небольшой обзор полигонов для экспериментов по pentest'у.
                            Читать дальше →
                          • Шахматные задачи на мат в один ход: решение на языке Haskell

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



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

                              Что ж, понеслись...
                            • Обфускация JavaScript

                                В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

                                Первый способ


                                Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
                                Они превращают существующий код
                                function MyClass(){
                                    this.foo = function(argument1, argument2){
                                        var addedArgs = parseInt(argument1)+parseInt(argument2);
                                        return addedArgs;
                                    }
                                    var anonymousInnerFunction = function(){
                                        // do stuff here!
                                    }
                                }

                                В какой-то такой вид:
                                function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

                                Или такой:
                                var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

                                Или вот такой:
                                eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

                                Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

                                Все это были цветочки под катом жесткие методы обфускации.
                                Читать дальше →