• Ridual — новый файловый менеджер для Ubuntu



      Когда я только переходил на Linux, я пытался найти для себя удобный двухпанельный файловый менеджер. Оказалось, что для Linux полнофункциональных двухпанельников довольно мало, и все они по каким-то причинам меня не устроили. В итоге я расстался с этой идеей и стал пользоваться Nautilus и командной строкой.

      Однако недавно Canonical объявила конкурс по разработке приложений для Ubuntu, и я решил попробовать сделать лучший файловый менеджер для Ubuntu.

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

      Подробное описание
    • Использование синтезатора в качестве компьютерной клавиатуры

        Недавно мне в голову пришла мысль: а нельзя ли, подключив синтезатор к компьютеру, набирать на нем текст? Я попробовал реализовать это, и у меня получилось. Моя программа считывает нажатия клавиш синтезатора и эмулирует нажатия клавиш обычной клавиатуры. В этой статье я расскажу, как это реализовать. Писать будем под Linux на C++ с использованием Qt.



        Читать дальше →
      • Онлайн-блокнот note-pad.net



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

          Всего в блокноте 36 страниц, добавлять и удалять их нельзя. Если нужно больше страниц, можно завести несколько блокнотов. Всё как в жизни.

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



          В этой статье я постараюсь рассказать о разработке сервиса и его технических особенностях.
          Читать дальше →
        • Побеждаем ELMS Delivery Client

            Сначала объясню, о чем речь.
            Что такое ELMS? ELMS (e-academy License Management System) — это веб-сайт для распространения ПО, который каждый администратор программы может настроить в соответствии с потребностями своего подразделения. Факультеты-подписчики MSDN Academic Alliance всего мира могут пользоваться ELMS бесплатно, так что ее использование не приведет к дополнительным затратам.

            Зачем нужна ELMS? ELMS — это основанная на веб-технологиях система управления, упрощающая распространение ПО среди студентов в соответствии с политикой лицензирования программы MSDN AA.
            Ссылка

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

              В этой статье я хочу рассмотреть основные недостатки раскладок клавиатур для набора русского текста на телефонах, а также предложить альтернативу и даже показать эмулятор придуманной раскладки.
              Читать дальше →
            • Python Tips, Tricks, and Hacks (часть 3)

              • Перевод
              В этой части статьи рассматриваются уловки для выбора одного из двух значений на основе логического условия, передача и получение произвольного числа аргументов функций, а также распространенный источник ошибок — тот факт, что дефолтные значения аргументов функции вычисляются только один раз.
              Читать дальше →
            • Базы данных в MIDP, часть 1: понятие Record Management System

              • Перевод
              Одним из ключевых компонентов MIDP является Record Management System (RMS). Это API, предоставляющий возможность хранить данные локально, в памяти устройства. Для большинства MIDP-совместимых телефонов это единственный способ хранения данных — лишь небольшое число устройств поддерживают доступ к обычной файловой системе. Легко догадаться, что полное понимание механизма RMS необходимо для написания любого приложения, требующего хранения локальных данных.

              Это первая статья цикла, в котором будут рассмотрены наиболее распространенные проблемы, касающиеся использования RMS в приложениях, например, взаимодействие с внешними источниками данных, такими как реляционные БД. Для начала мы узнаем, что может нам предложить RMS, и напишем несколько простых отладчиков.
              Читать дальше →
              • +22
              • 3,4k
              • 3
            • Python Tips, Tricks, and Hacks (часть 2)

              • Перевод
              Содержание

              Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
              Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
              Читать дальше →
            • Python: советы, уловки, хаки (часть 1)

              • Перевод
              Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

              Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

              Содержание

              1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
              2. Списки. Генераторы списков и выражения-генераторы.
              Читать дальше →
            • Как устроен GIL в Python

              • Перевод
              Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
              Почему после создания потока перестает работать Ctrl-C?
              Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

              GIL
              Читать дальше →
            • Be Pythonic

              • Перевод

              От переводчика


              Представляю вашему внимаю перевод статьи Shalabh Chaturvedi «Be Pythonic», рекомендованной в этом топике. Если мое начинание будет поддержано, планирую также перевести две остальные упомянутые там статьи этого автора.

              Вступление


              Эта статья предназначена для новичков в Python.

              При переходе с одного языка на другой некоторые вещи для вас могут остаться неизвестными (см. Transfer of Learning). То, что вам известно о других языках, может быть не всегда полезным в Python. Эта статья содержит некоторые используемые в Python идиомы, которые мне особенно нравятся. Я надеюсь, читатели найдут их полезными для овладения языком.
              Читать дальше →
            • Восстановление последних закрытых вкладок в Chrome по Ctrl+Z

                В Хроме последние закрытые вкладки можно открыть, нажав комбинацию Ctrl+Shift+T. Я написал расширение, которое позволит делать это по Ctrl+Z — такая комбинация используется в Опере. Установить расширение можно здесь.

                Upd. Если в момент нажатия комбинации курсор находится в текстовом поле, срабатывает обычная отмена. Только если отмену больше сделать нельзя, комбинация передается на обработку в расширение.

                Upd. После установки расширения следует перезапустить браузер, иначе оно не будет работать на страницах, открытых ранее.
              • Импорт записей из RSS в ЖЖ

                  Upd. Новая версия онлайн-сервиса доступна по адресу http://ljimport.idzaaus.org. Статью о ней я напишу позже.

                  Написал для себя скрипт импорта записей в ЖЖ. Сейчас этим онлайн-сервисом пользуются еще 50 пользователей. Решил написать и сюда, чтобы чувствовать себя еще более полезным для общества. Поскольку я сильно сомневаюсь, что мой сайт выдержит даже жалкое подобие хабраэффекта, я решил переделать скрипт для использования одним человеком и выложить исходные коды.

                  Читать дальше →
                • Как сделать теговую ФС удобной для пользования

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

                    Читать дальше →