Pull to refresh
76
-2
Храбров Дмитрий @DeXPeriX

Программист

Send message

Jackett + Synology Download Station

Level of difficultyEasy
Reading time2 min
Views5.9K

Есть желание добавить в Synology Download Station возможность искать по 613 торрент трекерам? Хочется видеть, какие именно торренты будут загружены? Хочется чтобы оно работало и в мобильном приложении?

Тогда прошу под кат!
Total votes 7: ↑6 and ↓1+5
Comments14

Миниатюрное десктопное GUI приложение на PHP — 2 МБ хватит для всех

Reading time6 min
Views16K

Я часто заморачиваюсь на тему минимизации размера своих GUI приложений. Прошлая моя статья была про Nuklear. Но сейчас захотелось более современных технологий. Чтоб HTML5, CSS3 и PHP. Чтоб приложение ни от чего не зависело, т.е. построено по принципу "всё включено". И чтоб конечный размер приложения не превысил 2 МБ. Получится ли?

В Linux я часто пользуюсь утилитой df. Мне её очень не хватает в Windows, а искать аналоги лень. Так что было сделано волевое решение сделать свою, на РНР 5, с бутстрапом и JQuery.

Читать далее
Total votes 25: ↑24 and ↓1+31
Comments58

Nuklear+ — миниатюрный кроссплатформенный GUI

Reading time6 min
Views19K

Nuklear+ (читается как "Nuklear cross", значит "кроссплатформенный Nuklear") — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы.


Я уже писал на хабре статью "Nuklear — идеальный GUI для микро-проектов?". Тогда задача была простой — сделать маленькую кроссплатформенную утилиту с GUI, которая будет примерно одинаково выглядеть в Windows и Linux. Но с тех самых пор меня не отпускал вопрос, а можно ли на Nuklear сделать что-то более-менее сложное? Можно ли целиком на нём сделать какой-нибудь реальный проект, которым будут пользоваться?

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments7

Продвинутый Jekyll

Reading time10 min
Views50K

Jekyll — генератор статических сайтов. Это означает, что на вход ему даётся какая-либо информация, а на выходе получается набор HTML-страничек. Всё отлично когда сайт простой или даже одностраничный. Но что насчёт более сложных сайтов? Справится ли Jekyll? Будет ли удобно?


Данная публикация — попытка обобщить знания, полученные при создании нескольких веб-сайтов. Поэтому оставляю ссылки и на рабочие примеры, и на их полные исходники на GitHub. Уровень материала идёт от простого к сложному.

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments19

Читаем tar за 26 строк ANSI C кода

Reading time5 min
Views20K

Архиваторы — это страшно! Огромные и ужасные алгоритмы, которые обычному человеку никогда в жизни не понять! Rar, zip, gzip, tar — современные стандарты де-факто, а значит крайне сложные и навороченные штуки, которые и пытаться понять не стоит. Ну, tar выглядит попроще, может там всё не так сложно? Смотрим git с исходниками. Видим десятки файлов, многие на десятки килобайт. Мда. Видимо, тупик.


__________________|      |____________________________________________
     ,--.    ,--.          ,--.   ,--.
    |oo  | _  \  `.       | oo | |  oo|
o  o|~~  |(_) /   ;       | ~~ | |  ~~|o  o  o  o  o  o  o  o  o  o  o
    |/\/\|   '._,'        |/\/\| |/\/\|
__________________        ____________________________________________
                  |      |dwb

На самом деле всё не так сложно. В документации было описано, что tar — просто способ записи нескольких файлов на ленту. Т.е. всё должно быть просто. По факту — набор вспомогательной информации для каждого файла и непосредственно его содержимое. Именно понимание этого факта и позволило сделать читатель tar-файлов в 26 строк.

Читать дальше →
Total votes 63: ↑57 and ↓6+51
Comments34

Nuklear — идеальный GUI для микро-проектов?

Reading time7 min
Views65K

Nuklear — это библиотека для создания immediate mode пользовательских интерфейсов. Библиотека не имеет никаких зависимостей (только C89! только хардкор!), но и не умеет создавать окна операционной системы или выполнять реальный рендеринг. Nuklear — встраиваемая библиотека, которая предоставляет удобные интерфейсы для отрисовки средствами реализованного приложения. Есть примеры на WinAPI, X11, SDL, Allegro, GLFW, OpenGL, DirectX. Родителем концепции была библиотека ImGUI.


Чем прекрасна именно Nuklear? Она имеет небольшой размер (порядка 15 тысяч строк кода), полностью содержится в одном заголовочном файле, создавалась с упором на портативность и простоту использования. Лицензия Public Domain.

Читать дальше →
Total votes 109: ↑107 and ↓2+105
Comments80

Что ещё можно делать на e-ink книге с Android

Reading time4 min
Views106K
Как-то просидев очередные сутки за компьютером я понял, что не могу дальше работать, т.к. болят глаза. Обычно мне хватает несколько дней отдыха и я снова в строю. Но эти несколько дней надо прожить почти без компьютера и не пялиться в мобильный телефон.

Но отказаться от компьютерной техники в целом не получается, зависимость требует новую дозу! Тут и могут помочь устройства с E-ink экраном — от них глаза не болят. Уже год, как использую Nook Simple Touch. На нём сразу установлен Android 2.1 с кучкой самописанных программ от Barnes & Noble. После рутирования получается хоть и старенький, но полнофункциональный и полный андроид. В качестве примера дальше будет использоваться Nook, однако по аналогии можно сделать аналогичные действия на любой другой книге с Android. Итак, что же можно эффективно делать на читалке, какие именно приложения оказались наиболее полезными?
Читать дальше →
Total votes 50: ↑42 and ↓8+34
Comments77

QtCreator: Qt кросс-компиляция из linux 64 в linux 32, win32, win64 и Mac OS X; upx, usb, dmg, etc

Reading time14 min
Views80K


Библиотека Qt позволяет делать действительно кроссплатформенные приложения. Единожды написанный код можно откомпилировать под многие операционные системы. Но проблема именно в слове «компилировать», т.к. подразумевается, что необходимо перезагрузиться под целевую систему, иметь в ней настроенную среду разработки, установленный и настроенный зоопарк библиотек. Спасает кросс-компиляция — компиляция, производящая исполняемый код для платформы, отличной от той, на которой исполняется.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments24

Vim и переключение раскладки клавиатуры

Reading time2 min
Views25K
Все команды Vim нужно вводить на английском языке. Если основной текст вводится на каком-либо другом языке, то это представляет из себя проблему, т.к. нужно часто переключать раскладку. Одно из решений представлено тут, однако оно заставляет привыкать к новой горячей клавише для переключения раскладки. Так же существует множество платформенно-зависимых решений с вызовом тех или иных утилит. Целью плагина vim-xkbswitch является предоставить единое поведение для многих операционных систем и языков.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments17

Vim в Windows и переключение раскладки клавиатуры

Reading time2 min
Views9.2K
UPD: Это «историческая» версия топика. Новое решение проблемы смотреть здесь.

Проблема русской раскладки в Vim поднималась много раз. Одно из решений можно увидеть здесь, однако оно заставляет привыкать к новой горячей клавише для переключения раскладки. Также существует множество решений с вызовом системной утилиты для смены раскладки, но под Windows подобной утилиты не нашел, так что пришлось реализовать её самостоятельно.
Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments9

Асинхронная загрузка изображений в скрытом iframe: подводные камни

Reading time3 min
Views7.7K
Недавно пришлось делать загрузчик фотографий на сервер. Поскольку опыт использования сторонних скриптов уже был, а время на их доработку часто было больше времени на разработку скрипта с нуля, то было принято решение сделать загрузчик самостоятельно.

При обращению к гуглу выдаёт много статей по загрузке файлов через iframe. Алгоритм в общем сводится к:
1) Создаём скрытый фрейм (обычно просто обнуляется ширина и высота через HTML и CSS свойства)
2) Устанавливаем action формы в имя фрейма.
3) Отправляем файл. Радуемся.

Для удобства использования отдельная кнопка «Начать загрузку» не создавалась, а был повешен обработчик onChange для файлового input'a.

Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments32

Information

Rating
Does not participate
Location
Brno, Jihomoravsky Kraj, Чехия
Date of birth
Registered
Activity