• Количественные CSS селекторы

    • Translation
    Вам когда-нибудь хотелось прямо в CSS коде посчитать, в меню 4 элемента или 10? Для четырех задать им ширину по 25%, а если набралось десять — прижать их друг к другу и уменьшить отступы?
    Как выяснилось, CSS умеет работать с разным количеством элементов, позволяя избавиться от головных болей и лишнего кода на js.


    Читать дальше →
  • Браузер Vivaldi — первая тестовая версия



      Всем привет!

      С самого первого дня работы сайта Vivaldi.net пользователей терзали смутные подозрения: ещё один веб-сайт, напоминающий социальную сеть, не имеет смысла, явно Vivaldi что-то задумали, и скорее всего это будет браузер… Что ж, ожидания вас не обманули: мы действительно всё это время работали над созданием браузера Vivaldi. Во-первых, это было логично после фактической смерти старой доброй Opera, а во-вторых, мы всё равно кроме браузеров ничего не умеем делать.

      В общем, час Х настал — встречайте новый браузер Vivaldi.


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

        Уж простите за пафосный заголовок, но раз пошла такая пьянка, то продолжим. Мне лично такие посты нравились всегда.

        Итак, речь пойдёт про уязвимость известного в Мск (да и не только) провайдере Beeline. Многие помнят его под именем Corbina. Без сомнения, это один из передовых интернет провайдеров, с большой и хорошей историей. В своё время он был спасением, благодаря качественному и быстрому инету, интранет сетям и т.п. В настоящий момент сотрудники провайдера в курсе уязвимостей и самые критичные уже закрыты. Однако, уверен, многие откроют для себя много нового и интересного. Тем более, что техника применима практически к любому провайдеру.

        image

        Читать дальше →
      • GNU Emacs. Статья, которую я так и не нашел…

        Доброго времени суток, Читатель!

        В данной статье хочу подробно рассказать про настройку текстового редактора GNU Emacs.

        Операционная система GNU Emacs — программируемый текстовый редактор для программистов, написанный на программируемом языке программирования.

        Для расширения Emacs используется диалект языка LispEmacs Lisp.
        Читать дальше →
      • Продукты JetBrains по ценам прошлого года

          Нас постоянно спрашивают: «Когда же будут скидки?». Отвечаем: «Скидки — есть!».

          До 5 февраля на ВСЕ продукты JetBrains можно приобрести новую лицензию или обновить существующую со скидкой 40% от текущей цены.

          На этот раз акция не международная, а только для жителей трех стран: России, Украины и Беларуси. Мы понимаем, что курсы валют сильно пошатнулись и изменили цены в последние месяцы, и надеемся, что наша акция как-то компенсирует это и позволит вам не экономить на производительности и качестве кода.

          Как воспользоваться скидкой?
          Читать дальше →
        • Krita: координаты Грина или как сделать из дракона кенгуру

            На днях была выпущена уже вторая бета-версия Криты 2.9. Этой статьей я хотел бы начать рассказ о том новом функционале, который ждет пользователей в предстоящем релизе.

            Одной из самых интересных функций этого релиза является преобразование клеткой. Оно позволяет изменять форму объектов без внесения искажений в изображение. О нем и пойдет сегодня речь…



            Читать дальше →
          • Создание собственного вендорного бандла в Symfony2

            • Tutorial
            Часто возникает необходимость использовать одинаковый код в разных проектах. Чтобы не было повторения кода, такой код обычно помещают в библиотеку. В фреймворке Symfony2 весь код должен быть помещён в так называемые бандлы (bundle). Уже сейчас существует огромное количество бандлов, решающих совершенно разные задачи, но всё-таки часто возникает необходимость создания своего бандла, решающего рутинную задачу.

            Это может быть обычный бандл, находящийся в папке src, и тогда при необходимости использовать его в новом проекте нужно скопировать его в новый проект. Но в таком случае возникает проблема с обновлением кода, ведь, когда код доступен для изменения, то он будет изменён (особые извращенцы изменяют даже код в папке vendor). Для удобства процедуры использования своего кода в других проектах можно оформить бандл как внешний, вендорный бандл, и управлять им через composer наравне с остальными сторонними бандлами.

            Эта статья пошагово показывает, как можно с нуля создать бандл, доступный к установке через composer.

            Содержание:
            1. Создание нового бандла
            2. Добавление настроек в бандл
            3. Подготовка бандла к публикации
            4. Публикация бандла

            Будет рассмотрено создание бандла для управления статичными страницами сайта. Можно найти несколько готовых подобных бандлов, но они либо слишком простые, либо слишком сложные (типа SonataPageBundle). Уровень статьи — продвинутый новичок. Подразумевается, что читатель уже умеет создавать бандлы в проекте, а также пользоваться контроллерами и шаблонами.
            Читать дальше →
            • +14
            • 19.6k
            • 6
          • Heartbleed и его друзья в 2015 году: как рекламная сеть ставит под угрозу посетителей сайтов



            В первый рабочий день нового года хотелось бы обратить внимание владельцев сайтов на рекламу, которую они публикуют. Ваш сайт работает на HTTPS, как и все рекламные скрипты? Вы используете новейшие версии ПО, поддерживаете только безопасные протоколы и наборы шифров? А система рекламы?
            Добро пожаловать в 2015 год!
          • Делить на ноль — это норма. Часть 1

            Часть 1. Вобще-то уже все поделили до нас!
            Часть 2. Истина где-то рядом

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


            Читать дальше →
          • Обзор наиболее интересных материалов по анализу данных и машинному обучению №29 (29 декабря 2014 — 4 января 2015)


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

              У каждого человека в жизни возникает такая ситуация как rm -rf на той папке, где этого не следовало делать. Бекапы это хорошо, но что делать если их нет? Для Linux систем существует утилита Scalpel, которая позволяет восстановить удалённые файлы по заданным паттернам, включая применение регулярных выражений.
              Читать дальше →
              • +23
              • 37.4k
              • 7
            • Для тех, кому влом писать планы

                Рекомендую заранее статью про то, как работать в потоке, и статью про спонтанное планирование (для тех, кто ненавидит тайм-менеджмент).

                Суть простая — иногда появляются мысли у людей, типа, почему полно книг «Как...», но почти нет «Зачем...». А многие просто страдают от прокрастинации, и пытаются безуспешно жить по методикам, где требуется железная сила воли и организованность — работа по плану.

                Ниже немного моих соображений, как быть тем, у кого эта тема не прет, но нужно как-то организовать свои дела.
                Читать дальше →
                • +10
                • 37.8k
                • 4
              • Как работать «в потоке»? Нужны всего 3 ресурса


                  Знакомо ли вам такое состояние, когда вы настолько увлечены идеей, что полностью погружаетесь в процесс ее реализации, забывая о времени и окружающем мире? А завершив, испытываете радость и даже счастье? Значит, у вас есть опыт потоковых состояний – особых ресурсных состояний сознания, когда все внимание сфокусировано на цели, и в результате замечательные идеи рождаются сами собой, и время концентрируется, вмещая гораздо больше, чем в обычном состоянии.
                  Тема эффективности потоковых состояний для работы и творчества уже несколько раз поднималась на Хабре, и в этой статье мы хотим обсудить практическую часть – что необходимо для того, чтобы вызывать это состояние «на заказ»?

                  Читать дальше →
                • Одиннадцатиклассница, или тестируем баги вёрстки



                    В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
                    Получить плюс пять к качеству
                  • Знакомство с парадигмами построения моделей предметной области

                      Введение


                      Возможно, кто-то задаст вопрос, а причем тут математика? Отвечу сразу: все, что здесь изложено, относится непосредственно к математике.
                      Изучая литературу по теории построения моделей предметной области, я обнаружил серьезный пробел. Авторы статей и книг сразу берут одну из нотаций моделирования: ER-диаграммы, или диаграммы классов, и в быстром темпе начинают их использовать для описания предметной области. При этом описание парадигмы, в которой производится это моделирование остается вообще не раскрытым. А следовательно, не раскрытыми остаются ограничения той или иной нотации. Увы, мы все умеем строить модели, но мало кто умеет объяснить то, что он построил в одной из существующих парадигм. Поэтому я часто слышу дикие с точки зрения любой парадигмы термины: класс типов, типы классов, виды типов и так далее, но ни разу не слышал корректный термин «класс классов». Этот пробел в нашем образовании очень серьезен. И я объясню почему.

                      Давайте зададим аналитикам простой вопрос.

                      Те, кто моделировал процессы, наверно, знакомы с нотацией BPMN. Очень часто при моделировании операции по заключению договора я встречаю такой фрагмент диаграммы:



                      Видно, что в результате заключения договора рождается нечто, что передается в другую операцию. Но что обозначает элемент диаграммы в виде листа с загнутым уголком? Нам надо точно знать, что именно передается из одной операции в другую, иначе трудно будет объяснить другим, что от них требуется. Итак, что создается на выходе из операции «Заключить договор»?
                      Варианты ответов, которые я слышал, следующие:

                      • Бумажка с печатью
                      • Бумажки с печатью
                      • Класс бумажек с печатью
                      • Договор
                      • Договоренность
                      • Информация о договоренности
                      • Файл MS Word с названием договор
                      • Запись в базе данных
                      • Поток каких-то объектов

                      Пока я наблюдаю отсутствие согласия между аналитиками на предмет того, что же все-таки передается, и что значат термины «договор», «поток», «договоренность», «информация», «данные». Чтобы ответить на этот вопрос, мне пришлось копать глубоко и в сторону парадигм. Причем, ответ потребовал разбиения вопроса на два. Первый вопрос был: «Как корректно сформулировать вопрос?» А второй был: «Как на него ответить?». Для правильной формулировки нужно было выбрать подходящую парадигму. Эта статья посвящена рассказу о двух парадигмах: Аристотелевской и логической, и почему я выбрал логическую в качестве рабочей. Ответа на поставленный вопрос в этой статье я не дам. Ответ я дам в другой статье.
                      Читать дальше →
                    • Внедрение через URL: www.site.ru/?jn=xxxxxxxx

                      Буквально на днях столкнулся с новым (*?) вариантом спам-вируса для веб-сайтов. Гугл определяет его как «Внедрение через URL».

                      Описание

                      На вашем сайте появляются ссылки которых не было и быть не могло — вы, например, четко знаете структуру сайта и оригинальный вид URL, который отличается от «левых» URL. В частности, в индексе поисковиков появляются ссылки вида:
                      www.site.ru/?jn=xxxxxxxx

                      Поиск и устранение

                      Яндекс-Вебмастер пока не реагирует на них, а вот в инструментах Гугла для вебмастеров выдается предупреждение о возможном взломе сайта. Там же даны рекомендации по поиску. К сожалению они довольно общие и конкретный поиск проблемы занимает время. Антивирусы и он-лайн анализаторы сайтов — результата не дают. Только ручками.

                      Вариант А: Код не обфусцирован

                      1. Ищем в исходниках кто и как у нас пользует переменную $_GET['jn']
                      2. Далее по коду смотрим кто где гадит (например: \js\swfupload\plugins\jquery\)

                      Вариант Б: Код обфусцирован

                      1. Ищем каталог с файлами, названия которых идут после "?jn="
                      2. Ищем подозрительные исполняемые файлы типа images/c0nfv.php
                      3. Можно сделать поиск путей где могут быть файлы а-ля "/img/icon/thumb/jquery.php"
                      4. Проверить дату изменения конфигов CMS
                      5. Рекомендуется проверить на наличие (корректность) файлов base.php — это само тело вируса, код обфусцирован
                      6. Проверяем дату jquery.php и сравниваем ее с датой обнаружения вируса по мониторингу инструментов вебмастеров Гугла.

                      Встречается

                      • CMS: Joomla, WordPress, DLE, PrestaShop, HostCMS
                      • Plugins: ImageZoomer, SWFupload, BlockCategories
                      • Велика вероятность появления практически во всех плагинах, которые используют JQuery и в тех местах, где у админов ручки не дошли до настройки.

                      Полный код (необфусцированного) зловредного кода под катом.
                      Читать дальше →
                    • Для чего blender фотографу?

                      Существуют ли эмуляторы фотостудий? Таким вопросом однажды задался мой товарищ, изучая цены на аренду осветителей и вспоминая первые эксперименты с настольными лампами и листами ватмана. Хороший студийный свет стоит дорого, требует затемненное помещение и специальные фоны. В виртуальном мире эксперименты со светом не ограничены ничем, а результат можно повторить в реальности имея готовую схему. Мы отыскали несколько приложений. Платное и даже онлайн. Но руки чесались сделать что-то своё. Выделил пару выходных на благодатное дело и смоделировал виртуальную студию с пресетами освещения и «фотомоделью» Сюзанной — маскотом свободного 3Д редактора blender.



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



                        Проблема в том, что в любом традиционном обучении переговорам предполагается, что стороны должны в итоге договориться.

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

                        Давайте ещё раз. Бывают хорошие условия, бывают нормальные, бывают плохие. Одни можно превратить в другие. Но если вы понимаете, что из плохих условий не сделать нормальные, то единственный логичный выход – остановить переговоры как можно быстрее. Вам не нужны компромиссы, странные пути решения и долгие разговоры. Вам нужно встать и уйти.
                        Читать дальше →
                      • Лучшие плагины для Sublime Text

                          WebInspector


                          Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



                          Читать дальше →
                        • Как сэкономить на фотоаппарате с GPS

                          • Translation
                          Мне нравятся геотеги в фотографиях. Геотеги так же, или даже более полезные, чем теги лиц. Уже появляются программы, которые позволяют отображать протегированные фото на карте в приятном и полезном виде:



                          Обычно, после поездок с фотоаппаратом я садился за компьютер и проставлял координаты фотографий вручную с мечтами о том, что в один прекрасный день я куплю себе «тушку», в которой будет GPS-приемник. Но несколько недель назад открыл для себя набор программ, которые компенсируют фотоаппарату отсутствие GPS наличием этого модуля в телефоне.
                          Читать дальше →