• Zotero: оптимизация хранения и использования научной литературы



    Не буду распространяться о преимуществах использования библиографических менеджеров. На дворе 2015 год. Тема не раз обсуждалась на Хабре.

    Здесь подробно описываются все прелести использования библиографического менеджера на примере Mendeley (это один из главных конкурентов Zotero, сравнение позже в этой статье). Здесь любопытно представлена система Citavi. Вроде бы, все в ней неплохо, но платить за софт приличные деньги, когда есть прекрасные бесплатные аналоги — развлечение на любителя. Кстати, от души рекомендую почитать комментарии к этой статье — познавательнее иных опусов. Здесь автор библиографического менеджера SciRef предлагает получить программку бесплатно.

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

    Сравнительная таблица библиографических менеджеров



    Разумеется, при таком многообразии глупо говорить об одном идеальном решении. В этой статье я хочу рассказать вам о решении, которым пользуюсь и которое устраивает меня почти полностью. Как видно из названия статьи, это Zotero.
    Читать дальше →
    • +9
    • 21.6k
    • 4
  • Оттачиваем мастерство работы в консоли

    • Translation
    • Tutorial
    После того, как у меня появился новый монитор на рабочем месте, я начал новую итерацию улучшения своего «безмышечного» (mouse-less, прим. пер.) опыта. Вы же знаете, что это значит, не так ли? Это значит, что каждый раз, когда вы беретесь за мышку, убирая руку с клавиатуры, вы тратите немного времени и энергии. Если вам нужно набирать много текста (а я много пишу кода), это становится существенным.

    Так же существует следующий уровень «безмышечного» опыта, когда вы стараетесь избежать труднодоступных клавиш, например Delete, Backspace, Escape или даже Enter.

    Если вы держите руки в стандартной позиции для 10-пальцевой слепой печати, более удобно нажать Ctrl-m вместо того, чтобы тянуться мизинцем к энтеру.

    image
    Читать дальше →
  • Электронные сигареты: ликбез

      Электронные сигареты набирают всё большую популярность, но, как показывает практика, многие курильщики, решившие избавиться от пагубной привычки и перейти на электронику, разочаровываются в ней. Во-первых они не утоляют никотиновый голод, во-вторых обходятся дорого (хотя где-то слышали, что дешевле), в-третьих — часто ломаются. А всё из-за того, что пробовали они нечто подобное представленному на картинке.
      В этом посте я попробую немного рассказать о современном состоянии дел на этом стремительно растущем рынке, что должно помочь сделать выбор. Советов про вред или пользу, за или против не будет. Их полно в сети (например, очень хорошо сказано про это в недавнем посте), кому верить каждый решает сам.
      Читать дальше →
    • Собираем свой OpenWRT на роутер Tp-Link TL-WR741ND v.4.25 c vlan, openvpn, ротацией провайдеров и блэкджеком

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

      Выбор пал на роутер Tp-Link TL-WR741ND v.4.25 (цена 1150 рублей), который я выбрал по следующим характеристикам:

      1) Низкая цена
      2) Достаточное количество памяти для заявленных требований
      3) Возможность запиливания USB (для истинных ценителей поковырять железку)
      4) Поддержка OpenWrt Barrier breaker
      5) Поддержка vlan-ов
      6) Поразительная живучесть (роутер невозможно убить неверной прошивкой, функция восстановления прошивки по tftpd работает как часы, и не раз выручала во время неудачных экспериментов). О методах восстановления напишу в конце статьи.

      Стандартная прошивка для данного роутера от OpenWrt не устраивала. Причиной тому были лишние пакеты, которые занимали место в драгоценной памяти данного малыша.

      Было решено выпилить: ppp, поддержку ipv6, opkg (ставить же не будем больше ничего).
      Добавить: openvpn-polarssl (меньше занимает места), luci-mwan3 (очень понравилась визуальная настройки и индикация работы каналов)
      Читать дальше →
    • OpenWrt + VPNclient для роутера с 4mb ROM

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

      Недавно у меня появилась необходимость обеспечить доступ в интернет всех пользователей домашней сети через OpenVPN. Изначально для этих целей использовался древний IBM NetVista 6646-Q1G c Linux Centos 6 на борту.

      Справлялся он с данной задачей хорошо, но, как говорится, нет предела совершенству. Захотелось заменить его на что-либо более компактное. Изначально выбор пал на Raspberry Pi Model B, но смущала цена в 50$, ведь с задачей, которую он должен был выполнять, успешно справлялся и текущий сервер. Я приступил к изучению альтернативных вариантов. И нашел, как мне показалось, идеальное решение – роутер + прошивка DD-WRT, которая содержит клиент OpenVPN. Далее настал черед выбора роутера. Я остановился на TP-Link WR841N. Поиск по базе показал, что DD-WRT его поддерживает.
      Читать дальше →
    • Тонкости ES6: Коллекции (часть 2)

      • Translation
      От переводчика: это вторая часть перевода статьи про коллекции в EcmaScript 6. Первую часть можно прочитать тут. По разным причинам перевод второй части затянулся на достаточно долгий срок.

      Map


      Map (ассоциативный массив) — это коллекция пар ключ-значение (key-value). Вот что умеет Map:
      • new Map возвращает новый пустой ассоциативный массив.
      • new Map(pairs) создает новый ассоциативный массив и наполняет его данными из существующей коллекции пар [key, value]. Эта коллекция может быть другим Map объектом, массивом из двухэлементных массивов, генератором который возвращает двухэлементые массивы, и т.д.
      • map.size возвращает количество элементов в ассоциативном массиве.

      Читать дальше →
    • JavaScript — шаблоны наследования

      • Translation
      Примечание переводчика: Тема наследования в JavaScript является одной из самых тяжелых для новичков. С добавлением нового синтаксиса с ключевым словом class, понимание наследования явно не стало проще, хотя кардинально нового ничего не появилось. В данной статье не затрагиваются нюансы реализации прототипного наследования в JavaScript, поэтому если у читателя возникли вопросы, то рекомендую прочитать следующие статьи: Основы и заблуждения насчет JavaScript и Понимание ООП в JavaScript [Часть 1]

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

      JavaScript является очень мощным языком. Настолько мощным, что в нем сосуществует множество различных способов проектирования и создания объектов. У каждого способа есть свои плюсы и минусы и я бы хотел помочь новичкам разобраться в этом. Это продолжение моего предыдущего поста, Хватит «классифицировать» JavaScript. Я получил много вопросов и комментариев с просьбами привести примеры, и для именно этой цели я решил написать эту статью.
      Читать дальше →
    • Как конвертировать Debian Wheezy (или более новую) систему в btrfs

        Новый GRUB может обрабатывать /boot раздел в формате btrfs, так что теперь не нужно иметь отдельный раздел отформатированный в ext2/3/4.

        Далее предполагаем, что вся ваша файловая система представлена одной партицией. Если же у вас под каждый раздел /usr/, /var и т.д. создана отдельная партиция то модифицируйте их по отдельности, согласно приведённой ниже инструкции.

        Итак, приступим…
        Читать дальше →
      • Базовое Node.JS приложение с использованием express

        Всем привет.
        Искал статью, как сделать базовое Node.JS приложение с использованием express, точнее какая базовая структура должна быть у проекта, но так ничего похожего для меня не нашел.
        Потому решил написать собственную, дабы объяснить таким же как и я как это сделать и как это должно выглядеть.

        Подробности под катом. Осторожно. Много текста и кода.
        Подробности
      • Jii: Active Record для Node.js с API от Yii 2

          Jii

          Вступление


          Привет всем хабровчанам, любителям Yii и Node.js.
          Это вторая статья про фреймворк Jii (GitHub), в предыдущей статье мы рассматривали Объекты доступа к данным и конструктор запросов (Query Builder).
          Как и обещал, в этой статье я расскажу про использовании Active Record.

          Active Record


          Читать дальше →
        • Релиз VirtualBox 5.0

            Вчера утром была выпущена бесплатная кроссплатформенная виртуальная машина Oracle VirtualBox версии 5.0. Среди улучшений: drag-and-drop файлов и папок, шифрование жесткого диска на лету и многое другое. Краткий список улучшений под катом, скачать можно с официального сайта.
            Читать дальше →
          • Твердотельные накопители дали слабину

            • Translation
            Технологии хранения данных — отдельная тема. Не так давно мы косвенно затрагивали ее в нашем материале об управления дисковым пространством сервера.

            Сегодня мы поговорим о том, как команда поискового сервиса Algolia пыталась решить внезапно возникшую проблему с SSD-дисками.

            Читать дальше →
          • ECMAScript 6 Promises

            • Tutorial
            На Хабре уже встречались статьи о замечательной технологии Promises, которая в будущем станет частью стандарта ECMAScript 6, однако, в этих статьях не было подробного описания, почему же они так полезны и в чем таки их преимущества. Дабы заполнить этот пробел, я решил написать эту статью.
            Читать дальше →
          • Увеличение LVM диска в виртуальной машине на лету

              Продолжая тему, описанную здесь habrahabr.ru/post/252973, опять пишу про увеличение дисков виртуальных машин.
              Конфигурация следующая:
              Гипервизор сервер Supermicro с KVM и libvirt на Ubuntu.
              Гости — Ubuntu с LVM2.
              Задача:
              Увеличить размер системного дисков без выключения/перезагрузки гостевой ОС.

              В комментариях к предыдущей статье habrahabr.ru/post/252973/#comment_8330673 farcaller написал:
              Системный тоже можно на лету отресайзить. Для этого в libvirt есть команда:
              virsh qemu-monitor-command resized-virtual-machine --hmp «block_resize $DRIVENAME $NEWSIZE»

              Для HA проектов это очень важный момент, необходимо непрерывное функционирование сервиса.
              Я решил попробовать изменить размер диска при помощи virsh.
              Ниже результаты этого успешного эксперимента.
              Читать дальше →
              • +10
              • 32.6k
              • 7
            • Добиваемся OCSP stapling = Yes для сертификатов от WoSign на Nginx

                Доброго времени суток, Хабражители.
                Прочитав статьи №1 и №2 (про бесплатные SSL сертификаты от китайских друзей WoSign столкнулся с тем, что многие не могут добиться OCSP stapling = Yes для этих сертификатов.
                Хочу рассказать как этого добился я.

                Мы получили сертификат WoSign, залили на сервер.
                И так, приступим.
                Читать дальше →
              • Роутинг и policy-routing в Linux при помощи iproute2

                  Речь в статье пойдет о роутинге сетевых пакетов в Linux. А конкретно – о типе роутинга под названием policy-routing (роутинг на основании политик). Этот тип роутинга позволяет маршрутизировать пакеты на основании ряда достаточно гибких правил, в отличие от классического механизма маршрутизации destination-routing (роутинг на основании адреса назначения). Policy-routing применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты на определенный интерфейс, причем пакеты определяются не по адресу назначения или не только по адресу назначения. Например, policy-routing может использоваться для: балансировки трафика между несколькими внешними каналами (аплинками), обеспечения доступа к серверу в случае нескольких аплинков, при необходимости отправлять пакеты с разных внутренних адресов через разные внешние интерфейсы, даже для отправки пакетов на разные TCP-порты через разные интерфейсы и т.д.
                  Для управления сетевыми интерфейсами, маршрутизацией и шейпированием в Linux служит пакет утилит iproute2.
                  Читать дальше →
                • Быстрое знакомство с Docker-контейнерами для Django-разработчика

                  • Translation


                  Разработка такого проекта как кешбек-сервис подразумевает использование различных сервисов, нетипичных для обычного ноутбука, даже если это ноутбук разработчика. Postgresql, Redis, Celery и так далее. Желание создать комфортную среду разработки и тестирования привело нас к необходимости использование какой-то системы виртуализации/изоляции. Как вариант — некоторое время использовался Vagrant, но это всё-таки ovrerhead и наши поиски оптимального способа привели, на данный момент, к Docker.

                  Docker — платформа для запуска приложений в изолированных контейнерах. Использование контейнеров в Linux позволяет программному обеспечение быть изолированным от базовой системы. В отличии от Virtualbox, исключаются системные издержки (overhead), необходимые для виртуализации оборудования. Docker может помочь в разработке и развертывании веб-приложений и сервисов. Давайте посмотрим, как это происходит.
                  Читать дальше →
                • Всё о версиях Windows 8.1 и о том, как легально загрузить последний образ без подписки

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

                    Недавно я писал о том, как можно совершенно легально загрузить самый последний Microsoft Office с сайта Microsoft — как корпоративную версию, так и коробочную Retail — любые языки и продукты, со всеми интегрированными обновлениями. Сегодня я расскажу, как сделать то же самое и с операционной системой — средствами предоставляемыми самой Microsoft.

                    Но для начала я хочу рассказать о версиях Windows 8.1. Не об изданиях — этого добра в сети много, а именно о публичных версиях сборок ОС. Ведь для любого администратора удобно загрузить образ со всеми интегрированными обновлениями, чем устанавливать сотню самостоятельно. Причём загрузить образ с сайта Microsoft, а не самодельную сборку с торрентов. Всё что я буду рассказывать о версиях ОС Windows 8.1 применимо и к Windows Server 2012 R2, за исключением канала для бесплатной загрузки образов для переустановки ОС. Но давайте всё по порядку.
                    Читать дальше →
                  • Практическое применение DNSSEC

                    • Tutorial


                    В статье описываются недостатки существующей структуры DNS, полный процесс внедрения DNSSEC на примере доменов .com и .org, процедура создания валидного самоподписанного SSL-сертификата подписанного с помощью DNSSEC.

                    Читать дальше →
                  • Mikrotik. Failover. Load Balancing

                    Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

                    Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

                    Давайте рассмотрим что же мы можем сделать:

                    Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
                    Читать дальше →