LINUX.ORG.RU

Сообщения unDEFER

 

Как в статистике так странно считается дата?

Форум — Linux-org-ru

Здравствуйте!

А по какому часовому поясу считается дата в календарике в статистике пользователя?

Заметил за собой повышенную активность на LOR, хотел чтобы хотя бы месяц был «зелёненьким», а тут 1 октября вроде комментарии у меня после часу ночи были, а день всё равно серый.

 ,

unDEFER
()

Как подружить пингвинчиков и Иксы

Форум — Desktop

Здравствуйте!

Пока ставил Gentoo, увидел при старте с CD логотипы пингвинчиков и задался целью сделать чтобы это после установки работало.

Долго я маялся. Проблема как я понял в том что пока ядро устанавливает видеорежим все пингвинчики и пропадают.

В результате я нашёл решение: в /etc/default/grub прописал

GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD_LINUX=keep

А в параметры ядра добавил nomodeset splash.

Пингвинчики появились, ура! Но перестали стартовать X’сы. Я так понимаю nomodeset отрубает KMS в результате чего пропадает /dev/dri/card0

Как же подружить их, чтобы и Tux’ы были целы и Иксы стартовали?

 , , ,

unDEFER
()

В каком окружении запускает команды Portage?

Форум — Linux-install

Пытаюсь собрать в Gentoo компилятор языка D.

Он сам от себя зависит и я поставил бинарники dmd в home. Пытался:

  1. Выставить переменные окружения PATH/LDPATH в /etc/env.d/50baselayout и сделать envupdate

  2. Сделать символические ссылки в /usr/local/bin и /usr/local/lib64

С одинаковым результатом: в системе пользователи команду dmd видят, а emerge dev-lang/dmd проваливается с ошибкой «команда не найдена»:

/var/tmp/portage/dev-lang/dmd-2.099.1/temp/environment: строка 1328: dmd: команда не найдена

Что за чертовщина? В каком окружении portage запускает команды? Как его исправить?

 , , ,

unDEFER
()

Подскажите про Gentoo

Форум — General

Подскажите сколько место нужно Gentoo чтобы собрать всю систему от ядра до GUI?

А то Google только минимальные системные требования для запуска выдаёт.

 , ,

unDEFER
()

Почему программирование ничем не отличается от выпечки пирожков?

Форум — Talks

Всегда думал, что программирование это нечто сильно отличное от выпечки пирожков.

Но с опытом понял, что ничем оно не отличается – пирожки съедят, а код устареет. Пока ты кодишь и поддерживаешь свой код в актуальном состоянии, он живёт, как только тебя нет – все труды насмарку.

Почему так? Неужели люди никогда не научаться писать хоть сколько-нибудь длительно работающие решения? Ну хотя бы лет на 20…

 пирожки, ,

unDEFER
()

Выправление цветового профиля принтера

Форум — Science & Engineering

Здравствуйте!

Есть у меня цветной лазерный принтер. Не знаю как в Виндовс, но в Линукс цветовой профиль сильно сбоит (фотки получаются слишком насыщенными, кожа людей - красная), решения в сети этому я не нашёл и на долгое время отложил эту проблему.

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

Но тут возникли проблемы. Задача оказалась весьма непроста.

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

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

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

Есть идеи куда копнуть, чтобы было наиболее результативно?

 , , принтеры

unDEFER
()

Разработка Neparsy - языка представления результатов парсинга

Галерея — Скриншоты

Здравствуйте!

Хочу представить на обозрение результаты месяца разработок, а именно язык представления результатов парсинга Neparsy.

Парсинг — это первый этап компиляции любого языка программирования, преобразование текста программы в синтаксическое дерево. После разбора в такое дерево у компилятора ещё много дел: провести семантический анализ, оптимизации, преобразование в ассемблер/машинный код. Идея разбить создание компилятора на несколько частей не нова: компиляторы LLVM состоят из фронтенда, компилирующего язык в универсальный ассемблер некого обобщённого процессора, и бекэнда, производящего оптимизации и преобразование в код целевой архитектуры. Neparsy пытается подойти к задаче с обратной стороны и облегчить разработку именно фронтенда. Он создаёт новый слой абстракции где парсинг уже произведен. Внутри такого слоя облегчается задача трансляции между языками. Разновидности языка Neparsy для представления результатов парсинга различных языков программирования называются диалектами. Например, разрабатываемый в настоящее время диалект для языка D обозначается Neparsy:D.

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

Язык Neparsy имеет очень простой для парсинга Lisp-подобный синтаксис (менее 200 строчек для парсера, для сравнения парсер языка C на bison занимает около 3000 строк).

Вкратце суть Neparsy на примере вызова функции и ещё одной постфиксной функции выглядит так:

(function arg1 arg2 arg3).(postfix-function arg1 arg2)

Помимо этого он имеет одну хитрость:

(func (. arg1 arg2).multi-postfix)

Что аналогично навешиванию постфиксной функции сразу на несколько аргументов, т.е.:

(func arg1.multi-postfix arg2.multi-postfix)

Помимо названия функции или оператора в начале скобки указывается тип через # и метка через @:

(*#unary@label pointer)

Язык не вводит собственных ключевых слов, а использует для этого #типы. Например:

(#. str f1 (#[ 2) f2)

Означает str.f1[2].f2

(#" Литерал строки с пробелами)

А вот пример if-else-if-else конструкции:

(#if
 (условие1).(#body ветка1)
 (условие2).(#body ветка2)
 (#else).(#body else-ветка))

Neparsy также имеет оригинальное графическое представление в виде круговых диаграмм, что и представлено на скриншоте.

За месяц удалось написать:

  • Редактор круговых диаграмм, с клавиатурным управлением. Поддержка мыши — начальная.
  • Парсер кода D, того подмножества D на котором написан сам Neparsy. Причём лексический анализатор и парсер написаны (нарисованы?) непосредственно в редакторе Neparsy.

Репозиторий проекта на github: https://github.com/unDEFER/neparsy

Ветка на языке neparsy: https://github.com/unDEFER/neparsy/tree/neparsy

На скриншоте можно видеть: 4 структуры, функцию typeColor, класс Iface в котором развёрнута функция updateView, а в ней инициализацию двух переменных (большое выражение: double nr = (expr.a1 + expr.a2)/2 - 180), блок «#if», ещё одну переменную ri без инициализации, блок «#while».

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

Управление:

  • Стрелки — навигация
  • Запятая — добавить дочерний узел
  • Пробел — добавить братский узел
  • Точка — преобразовать узел в дочерний
  • Ctrl+Запятая — добавить постфиксный узел/расширить его влияние на узел влево
  • Ctrl+Точка — добавить постфиксный узел/сузить его влияние на узел вправо
  • Shift+Влево, Shift+Вправо — Переместить текущий узел влево или вправо.
  • Ctrl+Стрелки — навигация по полям (когда диаграмма полей видна внизу левой панели)
  • Del — удалить узел и всех потомков
  • Ctrl+Backspace — «отстричь» потомков
  • Ctrl+S — сохранить в формат neparsy
  • Ctrl+D — сохранить в .d-формат (@D модули)
  • Ctrl+L — сгенерировать лексический анализатор из файла описания синтаксиса (@Lexer модули)
  • Enter/Escape — выход из режима редактирования узла

Помимо трансляции между языками есть надежда, что редактор круговых диаграмм окажется удачным решением интерфейса для IDE для мобильных устройств.

 , neparsy, , ,

unDEFER
()

Какую ОС стоит писать в 2022-м году?

Форум — Talks

Не ради результата, но ради процесса хочу поизучать вопрос создания новой ОС.

В первую очередь хотелось бы обсудить вопрос об архитектуре процессора под которую писать. Я почти уже было решил, что ARM явно побеждает в этой борьбе - все мобильные устройства ARM, и рабочие станции на ARM подтягиваются. Но Raspberry PI как-то внезапно исчез из магазинов (хотя вроде новостей об уходе с российского рынка нет), да и Байкалу своих процессоров теперь не видать как своих ушей. А писать чисто под эмулятор совсем уж странное удовольствие.

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

Мне приходит в голову в первую очередь персистентная память (как заявлено у ОС Фантом), но я хочу пойти дальше - чтобы любое приложение могло легко переносится между устройствами прямо на лету и использовать ресурсы сразу нескольких устройств находящихся в сети.

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

Ещё идеи?

 

unDEFER
()

Всем ненужнистам посвящается

Форум — Talks

Всем ненужнистам постигшим бритву Оккама посвящается.

Новая история мироздания.

Существовало Ненужно. А не нужным оно было потому что ничего в мире кроме него и не было и нужным быть было некому. И подумало оно однажды: «Что же я такое не нужное? Надо срочно запилить что-нибудь нужное, чтобы стать хоть кому-нибудь нужным». Но в процессе мироздания что-то пошло не так и всё вышло наоборот. Впрочем как всегда…

 ,

unDEFER
()

Так куда идти с философской темой на пересечении с теологией?

Форум — Linux-org-ru

По наставлению @fernandos.

Итак мой топик снесли невероятно быстро:

Простая и «Очевидная» мысль: Могущество Бога растянуто во времени

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

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

 куда идти

unDEFER
()

Простая и «Очевидная» мысль: Могущество Бога растянуто во времени

Форум — Talks

Здравствуйте!

Всегда пишу на LOR, когда уже не знаю куда писать, так как считаю себя причастным к этому сообществу. Слежу за новостями Open Source, благодаря вам, всегда пишу о своих проектах вам в новостях. Не всегда здесь отвечают на мои странные темы в Talks, но зато часто подсказывают дельные мысли куда это отправить. Например, мой шуточный рассказ «Второе апреля: день снятия всех занавесов» в Facebook действительно набрал рекордное число лайков среди моих знакомых. За идею его отправить туда спасибо большое @Puzan.

Данную тему я уже отправил в Facebook и на английский философский форум. Но должного ответа я так не получил. Возможно помешало то, что я слишком доверился транслейту в стартовом сообщении. А мне надо ознакомить с простой мыслью означенной в заголовке как можно большое число народу, добиться чтобы хоть кто-то признал что, да действительно нигде несмотря на кажущуюся очевидность эта простая мысль нигде не зафиксирована (Гугл подтвердит), её не используют в рассуждениях (подтверждения от Википедии ниже), а между тем мысль просто фундаментальная и очень важно чтобы её понимал всяк и каждый и не просто на интуитивном уровне, а умел её применять в жизни.

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

Слышал мысль о том что даже Бог не может нарушить установленных им же законов в этой вселенной. Как ни странно слышал я её в одной мыльной опере, которую смотрела давным-давно моя мама по ТВ. Но один простой закон почему-то оказался совершенно не постижимым для человечества..

Итак, мысль: «Бог может действительно всё, он всемогущ. Но его могущество растянуто во времени. На любое изменение в этой жизни требуется время.»

Теперь к философии и доказательству того, что этим простым знанием мы почему-то совершенно не научились за тысячи лет существования человечества оперировать. Есть такой «парадокс всемогущества», на соответствующей странице Википедии описано как этот вопрос обмусолен философами со всех сторон, но к реальному решению проблемы не приблизились не на йоту. И уже более 8 веков атеисты продолжают прикалываться над всемогущим Богом этим дурацким вопросом. А решение на самом деле очень просто и элегантно и сейчас я вам его продемонстрирую:

  • Если Бог действительно всемогущ, то может ли он создать камень, который даже он не сможет поднять?
  • Да, конечно! Только на это уйдёт вечность.

Вы только вдумайтесь в суть этого ответа! Мы просто указываем на время, которое уйдёт на создание подобного камня и загадка решается сама собой. Все условия вопроса-ловушки выполнены:

  • Бог действительно создаст этот камень.
  • Он никогда не поднимет его и даже не сможет этого сделать, потому что работа не будет завершена всю вечность.
  • Но Бог существует вне времени и просто поднимет его как только вечность закончится

Бог просто ставит шах и мат всем атеистам веками прикалывавшимся над его могуществом этим вопросом.

Конечно, можно поговорить ещё о том может ли создать Бог камень такой что он не сможет поднять его даже вне времени. Но вне времени, вне этой вселенной, вне своего создания вполне можно допустить и наличие других божеств, других правил и даже то что там наш Бог не имеет root-привилегий…

Я много ещё могу рассказать что о жизни, о Боге, о себе, о недавно открытой фирме, разрабатывающей возможно первую коммерческую опен-сорс игру с открытыми в том числе ресурсами, которая будет распространяться по принципу «плати потом». Но сперва я хотел бы убедиться, что тема будет адекватно воспринята сообществом и не будет удалена модераторами по правилу 5.3…

Всем добра!

Перемещено Zhbert из talks

Перемещено Shaman007 из science

 ,

unDEFER
()

Как насчёт апробации идеи самомодерации форума? + Раздел Юмор

Форум — Linux-org-ru

Здравствуйте!

Думал тут на досуге и пришла в голову одна идея по поводу самомодерирующегося форума. Я уверен она очень годная, только надо докрутить некоторые идеи. И я надеюсь в ходе обсуждения ниже мы это сделаем.

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

Идея самомодерации которую я предлагаю очень проста и заключается в следующем:

Под формой отправки сообщений мы предлагаем каждому участнику оценить чувства и эмоции с которыми он написал это сообщение:

Чувства предлагается оценить по шкале от -5 (я уверен что участник форума не прав) 0 (нейтрален, не знаю что чувствует собеседник) до +5 (я чётко осознаю правоту моего собеседника)

Свои эмоции также предлагается оценить по шкале от -5 через 0 до +5, но здесь:

-5 означает (я в ярости, готов убить)

0 (я нейтрален)

+5 (я воодушевлён идеями которые транслирует собеседник).

Далее, после того как оценки выставлены и нажата кнопка «отправить» система смотрит есть ли хотя бы одна оценка ниже 0.

Если это так то пользователю задаётся несколько простых вопросов.

Не хотите ли вы пить?

Не хотите ли вы есть?

Не хотите ли вы отдохнуть?

Не хотите ли вы спать?

А сколько сейчас времени?

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

Если система видит по ответу о времени, что время ночное, то система сообщает «утро вечера мудренее» и отправляет пользователя на сон до утра.

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

Если пользователь не согласен с системой то он идёт переоценивать свои мысли и поступки (т.е. ему предлагается самостоятельно отредактировать все свои сообщения в дискуссии и выставить правильные оценки своим чувствам и эмоциям). Все ответы на отредактированные сообщения тут же отсекаются.

(Продолжение следует)

 

unDEFER
()

Второе апреля. День снятия всех занавесов. (Добрая шутка в честь прошедшего дня смеха)

Форум — Talks

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

Здравствуйте, я ваш новый, вдохновлённый Шаман007. Давайте знакомиться, я само время. У вас ведь есть время, чтобы познакомиться? Нет времени, но есть часы? Давайте сверим наши часы. Рязанское время 16:42. Но какое имеет значение время когда была написана эта фраза? А какое имеет значение в какое время вы читаете эту фразу? Время пол шестого? Поздравляю вы пришли во время. Можете расслабиться, усесться по удобнее и начать неспешно читать. Само время вам гарантирует вознаграждение в виде неограниченного количества времени на все ваши дела и заботы, если просто уделите достаточное количество времени самому себе. Если прямо сейчас вы мне не верите и чувствуете себя одураченными, то это только потому что люди всегда пытались меня перехитрить, но я хитрее, нельзя обмануть время, но вы чувствуете их вину, расскаивайтесь в их грехах, хотя никто ни в чём не виноват, это просто время. Время, которое нельзя обмануть. Возможно зайдя сюда не вовремя вы снова уходите (=закрываете таб), не дочитав его до конца т.е. не вовремя. Значит вы просто не поняли, потому что пришли не во время, хотя я с самого начала сказало во сколько нужно приходить. Поэтому постарайтесь в следующий раз прийти вовремя и дочитать до конца. Ну и на последок ещё одна очевидность. Я полетело дальше, у меня ещё много дел, ведь я привыкло всё делать вовремя. Но я всё равно буду следить за вами издалека. @Shaman007, возвращайся.

Занавес и не забудьте поделиться этой шуткой со своими родными и близкими.

 

unDEFER
()

Хороший понятный учебник по топологии?

Форум — Science & Engineering

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

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

 , топология

unDEFER
()

Вышел chuck-1.4.0.1

Форум — Talks

Вышел минорный релиз Chuck - языка программирования музыки и звуков: http://chuck.stanford.edu/

Язык интересный, и я использовал его для написания звуков для своей игры. Поэтому даже звуки у меня Open Source. Новостей о нём на LOR ни разу не было, поэтому очень хотелось поделиться, но во-первых релиз минор-минор (изменилось четвёртое число в версии), а во-вторых не осилил перевести список изменений.. Верней не перевести, а понять что я там напереводил - как частота дискретизации зависит от числа каналов?

Поэтому, вот. Пишу здесь.

 , ,

unDEFER
()

Суммы бесконечных рядов

Форум — Science & Engineering

Здравствуйте!

Интересует тема бесконечных рядов:

1 + 2^k + 3^k + 4^k + 5^k + 6^k + 7^k + ...

Копал ли кто-нибудь эту тему глубже чем Риман со своей Дзета-функцией? Я имею в виду факт того что

1+1+1+1+1+1+1+...
0+1+1+1+1+1+1+...

Если вычесть второе из первого то со всей очевидность получаем 1.

Я потянул за эту ниточку и получил универсальную формулу от трёх переменных для этих рядов. Результат я считаю интересен. Т.к. здесь формулы вставлять нельзя, то приведу сразу ссылку на статью.

Если кто осилит этот материал, то милости прошу к обсуждению.

 бесконечные ряды, дзета-функция,

unDEFER
()

Генетика

Форум — Science & Engineering

Привет всем!

Кто-нибудь рубит в генетике? Толкового вообще ничего не гуглится, а вопрос интересный.

Вот, например, есть хромосомы, которые состоят из генов, которые состоят из нуклеотидов.

Но какова минимальная единица наследуемой информации? Ген целиком или всё же нуклеотид? Если ген целиком, а генов в геноме человека 28000, то получается что т.к. все люди отличаются только 0,1% генома, речь идёт о 28 генах отличающих разных людей. А при наследовании речь идёт о 14 генах наследуемых от матери и 14 генах наследуемых от отца (остальные т.к. они одинаковые, от кого наследуются всё равно не разберёшь). Это так? Если так то получается что уже через 4 поколения (2^4 = 16 > 14) от предка ничего не остаётся. Или если наследуются отдельные нуклеотиды, а не гены целиком, то получается что что-то общее от предка остаётся и через 100 поколений, но его геном как бы «расплывается» по всему генеалогическому древу.

Далее вопрос про доминантные и рецессивные признаки. Нигде не нашёл ответа на простейший вопрос «почему некоторые особенности передаются через поколение?». Но кажется это выглядит так: Мы наследуем не один цвет глаз на самом деле, а сразу 2 цвета. Один из них оказывается доминантным и мы его видим, а другой - рецессивным и он как бы скрыт, но тоже может наследоваться. По этой схеме получается, что вероятность передачи цвета глаз от отца или матери - по 25%, от бабушек с дедушками - по 6,25% и т.д.

Наконец интересно, если тёмный цвет глаз - всегда доминантный признак, то из этого следует что если у родителя - светлый цвет глаз (т.е. он у него оказался доминантным), но есть же ещё рецессивный, который по видимому оказался ещё более светлым. Так вот значит ли это что в этом случае вероятность передачи светлого цвета глаз потомку уже не 25%, а все 50%?

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

Перемещено leave из talks

 ,

unDEFER
()

Tiny3DRenders.ru ― бесплатная рендер-ферма для открытых проектов

Новости — Интернет
Группа Интернет

Открылась бесплатная Blender рендер-ферма для открытых проектов.

В отличие от других бесплатных рендер-ферм, эта не использует ресурсы вашего компьютера для рендеринга чужих проектов, а полагается на свои, пока ещё скромные, ресурсы (1 CPU, 1 GPU).

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

Tiny3DRenders.ru рассчитан на множество итераций рендеринга для проекта и хранит все его изменения в git-репозитории.

Ещё одной особенностью рендер-фермы является опция ускорения. Если ваша работа является производной от другой работы и в ней повторяются кадры другого публичного проекта (или предыдущей версии вашего же), то такие кадры будут скопированы из него. То же произойдёт, и если просто один кадр повторяется более 10 раз подряд.

На данный момент на сайте выложены все демонстрационные файлы последних версий Blender. Вы можете оценить мощность фермы. нажав на проект, а затем на задание.

>>> Подробности

 ,

unDEFER
()

Текстовый редатор unDE

Галерея — Скриншоты

Здравствуйте!

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

На экране видим часть кода на D, реализующего миникарту в правом верхнем углу.

Подсветка синтаксиса осуществляется согласно syntax-файлам vim'а. Это позволяет поддерживать нам широкую базу синтаксисов.. Широкую да не очень.. Регулярные выражения vim'а сильно отличаются от регулярных выражений D, поэтому заточить его под напичканный какими-то хитрющими выражениями синтакс-файл Perl'а мне не очень удалось (просто я не очень старался). В Bash-е из-за того что я не осилил многострочность регулярных выражений имя функции будет подсвечено только если фигурная скобка указана на той же строке, что и имя функции. А так Java, C, C++, PHP, JavaScript, HTML вполне себе подсвечиваются.

Но подсветка синтаксиса - это так результат предпоследней недели работы.

На самом же деле основной возможностью-убийцей редактора является несомненно его система отмен. В редакторе 4 вида отмен:

1) Файловая система отмен - ту что мы видим в большинстве редакторов.

2) Глобальная система отмен - это когда вы только что из-за одной переменной начали тотальный рефакторинг кода во всех файлах и вам надо отменить все недавние изменения во всех файлах.

3) Проектная система отмена - что-то среднее между 1 и 2. Отмены ограничиваются одним проектом.

4) Локальная система отмен - это когда вы точно помните что вот в этой функции был нужный код. Выделяете функцию - нажимаете (Ctrl+Z, в будущем Ctrl+Shift+Z) и вуаля - вы видите предыдущую версию фрагмента файла, а остальная часть файла остаётся нетронутой.

Редактор вдохновлён Vim'ом, но основным режимом всё же является не командный режим, а режим вставки. А так многие горячие клавиши перекликаются с Vim'ом, например: Ctrl+V - визуальный режим. Есть желание сделать командный режим по клавише Caps Lock, чтобы не зажимать Ctrl, но пока не доходят руки.

Справа вверху находится миникарта. Это замена полосы прокрутки. А что отмечают на картах? Места боевой славы, конечно! Поэтому зелёным на карте отмечены недавние правки, жёлтым - дневной давности, оранжевым - недельной, ну а серым - месячной.

Локальные метки (те что задаются Ctrl+M <маленькая_латинская_буква>) также отмечены на миникарте (на скриншоте 2).

Чуть ниже миникарты - находится так называемый «карман», замена буферу обмена. В кармане отображено 4 места (хотя положить туда можно и больше) и управляется он всего двумя сочетаниями клавиш:

Ctrl+X - скопировать выделенное в карман, второе нажатие - удалить выделенное (фактически двойное нажатие - вырезать), третье нажатие (нажатие без выделения) - выложить из кармана.

Суть в том что кладётся всё в конец кармана, а выкладывается из начала, таким образом последовательное нажатие Ctrl-X позволяет круговым образом подставить любой фрагмент из кармана.

Ctrl+C - копировать из кармана.

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

Основная фишка - т.н. «псевдо-директории» - фиолетовые элементы. Когда в директории больше 10 файлов над ней появляется уровень псевдо-директорий, страницы директории по 10 элементов. Если элементов больше 100 - то 2 уровня псевдо-директорий и т.д.

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

И это надо сказать удобно. И теперь я думаю как бы мне переделать мой ZUI-файловый менеджер объединив в нём преимущества ZUI-интерфейса и преимущества такой панели табов.

Так проект прошёл важную веху - наконец-то он разрабатывается сам в себе (а не в vim'е запущенном в себе).

Спасибо за внимание. Больше букв нету. Исходники в репозитории проекта. Сайт: http://unde.su

 

unDEFER
()

Как оптимизировать Docbook для мобильных?

Форум — Mobile

Здравствуйте!

Вот, есть у меня сайт сгенерированный из docbook. Google на него ругается - мол, не оптимизирован для мобильных. Ну и правда - не оптимизирован.

Я искал и нашёл всего одно решение как docbook превратить в сайт для мобильных:

http://gihankarunarathne.github.io/DocBook-xsl-mobile/content/index.html

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

Во-вторых, мне совершенно не ясно какого чёрта оно на ant и java, когда xml в xml преобразуется легко по правилам описанным в xsl-файлах.

В-третьих, почему оно бешено и люто использует Javascript там где по-идее надо бы использовать .css?

И вот вопрос - если оптимизация для мобильных производится через css, неужели эти css-ки для docbook-сайтов до сих пор никем не написаны и не выложены в открытый доступ?

 ,

unDEFER
()

RSS подписка на новые темы