• Layout страницы за 5 секунд

      image
      www.layzilla.com

      Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

      Можно создавать основу страницы проекта любой сложности.

      В будущем сделаем поддержку HTML5.

      Мануал для любителей почитать.
    • О защите персональных данных в Украине

        Первого января 2011 года в Украине вступил в силу закон №2297-VI “О защите персональных данных”. Многие слышали об этом событии, некоторые знали об открытии регистрации баз ПД в июле этого года, но совсем немногие из тех, кого касается этот закон, поспешили предпринять какие-то конкретные действия. А тем временем с 1-го января 2012 года вступают в силу изменения в административном и уголовном кодексах Украины, определяющие ответственность за несоблюдение соответствующего закона. Далее мы постараемся ответить на самые главные вопросы:
        • кого это касается?
        • что нужно делать?
        • и что будет, если ничего не сделать?
        Читать дальше →
      • Codecademy. Учимся программировать

          Изображение - savepic.ru — сервис хранения изображений

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

          • Перевод
          Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

          Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
          Читать дальше →
        • Кош на комплексной плоскости

            В какой-то из весенних дней этого года я ехал в троллейбусе и листал комикс о Коше. В одном из выпусков была такая фраза «НО! Её можно понять, она же фракталами в горизонт перетекает, я бы тоже замешкался...». После этого я посмотрел в окно и понял, что если мы возьмём два подходящих дробно-линейных преобразования комплексной плоскости a(z) и b(z), и рассмотрим систему итерированных функций для a(z), b(z), a−1(z), b−1(z), взяв в качестве начального множества картинку с Кошем, то Кош будет перетекать фракталами в горизонт!

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

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



            Читать дальше →
          • О плюсах и минусах Go

              В данной статье я хочу поделиться опытом, полученным в ходе переписывания одного проекта с Perl на Go. В ней будет больше о минусах, чем о плюсах, ибо о достоинствах Go и так поведано немало, а вот о подводных камнях, ожидающих новых разработчиков, узнать зачастую, кроме как от собственных шишек — неоткуда. Пост никоим образом не преследует цели охаять язык Go, хотя, признаться, некоторые вещи я был бы рад не писать. Также в нем охвачено сравнительно небольшой срез всей платформы, в частности, не будет ничего о шаблонах, регекспах, распаковке/запаковке данных и подобного, часто используемого в веб-программировании, функционала.
              Читать дальше →
            • [Перевод] Почему Go не так хорош

              Всем привет! Недавно вышел перевод статьи о том, как TJ Holowaychuk прощался с Node.js, решив двигаться в сторону Go. В конце статьи была ссылка на посвящённый сравнению и критике языка Go пост Уилла Ягера, который просили перевести — собственно, с результатами перевода я и предлагаю ознакомиться. Я пытался более-менее сохранить как многословный стиль изложения, присущий автору, так и оригинальную разбивку на предложения и параграфы.
              Буду очень рад любым конструктивным замечаниям и предложениям по переводу, опечаткам и/или оформлению, но очень прошу помнить, что точка зрения переводчика может не совпадать с позицией автора переведённой статьи.
              Читать перевод
            • Психология роботов и умные компьютеры: как это работает и где этому научиться. Лекция Максима Мусина в Яндексе

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





                Если вспомнить фильм «Терминатор» и технологии, которыми по сюжету пользовались киборги, то можно будет выделить и нейронные сети, и возможность беспроводной связи с внешним источником интеллекта (Skynet), и компьютерное зрение, и распознавание звука, понимание различных языков. На момент выхода фильма на экраны все это было абсолютной фантастикой, технологиями далекого будущего. Но сегодня большая часть этих технологий реализована в том или ином виде. Попробуем разобраться, что же из всего перечисленного уже используется.
                Конспект лекции
              • Изолирование приложения с IP-адресом из VPN другой страны на примере Steam

                • Tutorial
                Abstract: Изоляция приложения на уровне сети использованием network namespaces Линукса. Организация SSH-туннелей.

                Традиционно, большая часть статьи будет посвящена теории, а скучные скрипты — в конце статьи. В качестве субъекта для экспериментов будет использоваться Steam, хотя написанное применимо к любому приложению, включая веб-браузеры.

                Вместо вступления. Я просто покажу эту картинку:

                147%… Что-то мне это напоминает. Впрочем, хабр не для политики.

                Цена на игры в Стиме зависит от региона. Регион — от IP'шника. Есть желание иметь цены в рублях, а не в евро.

                Для этого мы используем VPN через SSH с использованием tun-устройств, плюс network namespaces для изоляции приложения от всех остальных сетевых устройств.

                Network namespaces


                Традиционно, приложение, запускающееся даже с правами пользователя, имеет полный доступ в сеть. Оно может использовать любой сетевой адрес, существующий в системе для отправки пакетов.

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

                Если у нас есть несколько интерфейсов (один из которых относится к VPN), то нет штатных методов сказать стиму, что надо использовать его, а не eth0/wlan0. Точнее, мы можем «завернуть» весь трафик в VPN, но это не всегда желательно. Как минимум — рост latency и снижение скорости (даже если VPN ведёт на супербыстрый сервер, увеличение latency, оверхед от туннеля и фиксированная ширина локального канала ставят TCP в положение, когда приходится резать скорость). Как максимум — одно дело «покупать через русский VPN», другое дело — пускать туда весь трафик. Меня совсем не прельщает использование VPN для получения защиты роскомнадзором от оппозиции и вольнодумства.

                В этих условиях возникает большое желание оставить один на один конкретное приложение и заданный сетевой интерфейс. Один. Сконфигурированный для нужд только этого приложения.

                Для решения этой задачи в Linux, уже довольно давно (аж с 2007 года) существует технология, называемая network namespaces, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

                Картинка ниже поясняет происходящее:

                Читать дальше →
              • Бюджетный SSH тоннель в подводный мир I2P для начинающих оленеводов


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

                Введение:
                Кто бы что ни говорил, но ледовая обстановка в отечественном сегменте становится все более тяжелой. За нас взялись всерьез, обкладывают флажками, взрывают ровные тропинки натоптанные по бескрайним ледяным полям, вспарывают ледоколами привычные пути доставки провианта и под предлогом борьбы с браконьерами, расставляют капканы за каждым вторым торосом. Все идет к тому что проход с одной льдины на другую скоро будет происходить только через КПП с автоматчиками, по предварительной заявке в письменном виде и после предъявления паспорта и мандата из рыбнадзора. И только непослушнозаконные браконьеры будут посмеиваться в лисьи воротники над жалкими попытками геологических партий с большой земли испортить им жизнь.
                Дочитать про спиннинги, роботов и резные яблоневые рукоятки