Информация, которая хранится в виде файлов на наших компьютерах приобретает смысл лишь тогда, когда она упорядочена по разделам (папкам) и именам файлов.
Но даже самая упорядоченная файловая система нуждается в быстром поиске по всем документам и хочется, чтобы поиск был не только по имени файла и дате создания, но и по содержимому внутри файлов и нескольким словам сразу, независимо от их порядка. Покупая новый компьютер, все начинается с чистого диска и думаешь, что временных файлов больше не буду создавать, но этот мусор все равно накапливается со временем, если мы не пользуемся приложением для заметок. Я пользовался разными приложениями для заметок, всегда не хватало простоты и удобства в поиске информации.
Требования, которые я предъявляю к приложению для заметок
Портативное приложение. Программа не должна устанавливаться на компьютер, все должно работать с флешки без установки дополнительных компонентов
Работа под всеми версиями Windows начиная от XP и выше
Все документы (заметки) должны храниться в одном файле БД с надежной портативной (Embedded) версией СУБД
Возможность резервного копирования/восстановления БД
Быстрый и удобный поиск по содержимому всех документов
Создание таблиц и изображений
Форматирование текста
Переход по ссылкам на документы внутри приложения
В идеале, это Word и Excel, которые бы работали сразу с несколькими файлами, хранили их в БД и искали файл по содержимому. Но данных возможностей в Microsoft Office, к сожалению нет.
Было решено писать свое приложение для заметок, которое бы удовлетворяло всем этим требованиям.
История развития FAQ Net
Для начала выбирал компонент, который умеет форматировать текст. Выбирал между форматами RTF и HTML. Сравнив размеры файлов с одинаковым содержимым, размер HTML файла в 2 раза превышал RTF файл, поэтому выбрал RTF.
Приложение FAQ Net использует стандартный компонент RichTextBox, но у компонента из коробки есть проблема с отображением таблицы, это оказалось легко исправить. Далее разработал интерфейс, основой которого был CHM-формат (файл справки или руководство о программе).
В итоге интерфейс состоит их двух частей: слева вкладки для быстрого поиска документов, справа отображается список документов или содержимое документа.
Спустя несколько лет, решил рассказать о FAQ Net в Интернете. Создал группу в VK, снял видео ролик и рассказал о ней своим друзьям. Думал, что дальше количество пользователей будет само расти, но это так не работает. После размещения моей первой статьи на хабре, не знаю почему, но она была в топе за неделю. За это время приложение скачали более 500 раз. Это был большой успех для меня. Положительные отзывы и первые пользователи мне писали предложения по улучшению FAQ Net и я, на радостной почве, активно дорабатывал свое приложение.
Чтобы повысить интерес у пользователей, решил в первую очередь сделать яркий интерфейс, в котором цветовую гамму (тему) будет настраивать сам пользователь.
После очередного обновления написал еще одну статью на хабр. Но, к сожалению, в этой статье получил массу критики.
В этот момент я не понимал, почему так много негативных отзывов. Возможно, проблема с подобранными цветами на скриншотах, которые я подготовил на скорую руку.
Несмотря на этот печальный опыт, благодаря своим доброжелательным пользователям приложения, я решился на очередное обновление, которое бы смогло сделать приложение FAQ Net уникальным.
Следующая статья "Всплывающие подсказки в программе для заметок FAQ.Net или навигация по RTF-документам, не изменяя сами документы" печаталась с большой надеждой на то, что количество прочтений будет больше, чем у моей первой статьи. Перед публикацией я решил проверить отзыв и отправил текст статьи пользователю приложения FAQ Net, который тоже был уверен, что эта статья заслужит очередной интерес читателей. Эту статью, к сожалению, прочитало меньше всего людей, по сравнению с предыдущими статьями. Возможно, проблема в слабом заголовке статьи (на мой взгляд она самая полезная и уникальная).
Выпустив еще несколько версий, опубликовал статью "FAQ.Net — бесплатная программа для заметок под Windows с обновленным дизайном", но и здесь была очередная критика.
Заключение
Спустя один год (все это время FAQ Net не обновлял) я получил первый донат от нового пользователя приложения FAQ Net. Его сообщение: "Вам спасибо за труд! Так удачно приложение легло на моё представление о том как должно быть".
Благодаря этому отзыву, выпустил очередное обновление FAQ Net и написал эту статью.
Надеюсь, у каждого программиста найдется такое приложение, которое будет востребовано, пусть даже в маленьком количестве пользователей.
У меня два таких приложения, с которыми я делюсь бесплатно, за Ваше доброе слово:
FAQ Net (приложение для заметок) и ImportExportDataSql (для разработчиков и пользователей MSSQL)
Всем добра, удачи и успехов!
Комментарии (82)
aborouhin
15.10.2021 23:26+11Приложение для олдфагов, которым важна поддержка 7 лет как мёртвой Windows XP, приятен глазу интерфейс тех доисторических времён, реально не пофиг на разницу в размере заметок в HTML и RTF, которые готовы таскать с собой флэшку с портативными версиями программ, а наличие мобильного приложения воспринимают как некое новомодное чудачество :) Ничего не буду говорить против, но круг таких пользователей узок. Остальным в 10 раз удобнее какой-нибудь Notion.
Areso
15.10.2021 23:31+1Остальным в 10 раз удобнее какой-нибудь Notion.
который и потребляет в 10 (и хорошо если в 10) раз больше :)
aborouhin
15.10.2021 23:39+5который и потребляет в 10 (и хорошо если в 10) раз больше :)
Который просто очередная вкладка в браузере, который потребляет, конечно, неприлично много, но куда без него денешься.
Нет, я сам сторонник того, что десктопные программы совсем не умерли, и успел поработать не то, что c XP, но ещё и c Windows 3.0 :) Но в текущих реалиях приложение для заметок, которое недоступно с мобильного - удел ретроградов с кнопочными телефонами, сорри.Areso
15.10.2021 23:49+2Который просто очередная вкладка в браузере
Скорее - целый браузер.
хз, синхронизацию всегда можно сделать, было бы желание.
Причем, под мобилки можно всю эту логику и даже интерфейс повторить, чтобы почувствовать приятное послевкусие а-ля Windows Mobile с необходимостью использовать стилус.
aborouhin
15.10.2021 23:55Ну почему "целый браузер"? Не владею статистикой, но подозреваю, что пользователей десктоп-версии того же Notion, которая на Electron, в разы меньше, чем тех, кто просто открывает веб-версию в браузере. Который уже запущен. Да сейчас почту-то из нормальных клиентов мало кто смотрит, всех устраивает веб-интерфейс - что говорить о заметках?
И пользователь не хочет (а в большинстве случаев - и не умеет) ничего "делать", пользователь хочет, чтобы "само работало". Если же сделать это за него - получится такой же облачный сервис, как и у Notion. В этом случае делать по умолчанию веб-морду, из которой потом получать и мобильное приложение и (для редких извращенцев типа меня) десктоп-версию посредством Electron - это сейчас тупо быстрее и дешевле всего. Причём в текущих реалиях для простых приложений, как у автора поста, оно ещё и неплохо работает.
Ну и автор обсуждаемой программы, насколько я понимаю, под мобильные ничего не повторил и не планирует.
Areso
16.10.2021 00:29+5Я купил нетбук (10") в 2008 году. Конечно же, для учебы в универе. Играл в линягу (тянул 2 окна), запускал 2005 студию без скрипа, и 2008 со скрипом. Intel Atom. 1, потом 2 гигабайта ОЗУ, HDD.
В 2014 году понял, что старичку пора на покой. Купил ноутбук (11,6"), Intel Celeron 2955u, 2GB RAM. Тормозил прямо с магазинной 8-кой ужасно, поставил 4 гига ОЗУ - продолжил тормозить. Поставил SSD - о чудо, оно заработало. В 2019 добил до максимума ОЗУ - стало 8 гигов. В 2020 году, во время повальной удаленки, заметил, что дискорд\зум\браузер с кучей вкладок подвешивают его. В этом году он меня бесил-бесил, и наконец был отправлен на покой, когда не смог открыть очередную (одну-единственную) вкладку в браузере с очевидно кривым ДжаваСкриптом. Причем - собрать бэкэнд ММОРПГ на Гошечке - нет проблем, меньше 0,5 секунды, а вот открыть Хабр или там новостной портал - ну, извини чувак, твой ноут "устарел".
Купил c двухядерным i5-6200, 16GB ОЗУ. Но, думаю, этого на 7 лет не хватит с тем ускоряющимся темпом, с которым все превращается в тыкву.
Кстати, ноутбук из 2008 до сих пор жив и отлично себя чувствует. С той самой экспишечкой. Живет у родни на складе, печатает накладные.
apro
16.10.2021 02:00На это можно посмотреть и с моей стороны. Купил в начале 2013 ноутбук, 16ГБ ОЗУ, i7, SSD. С тех пор 8 лет прошло и все еще без проблем и браузер работает и программировать могу. И в общем-то с тех давних пор требования к железу относительно моего ноутбука не особо выросли. Разве что видеокарта устарела, но для работы все еще подходит.
Areso
16.10.2021 11:40Если у вас не ULV и честных 4 ядра, то может и хватать. Просто, как видите, у меня любовь к недорогим и маленьким машинкам, а они устаревают быстрее, чем топовые конфиги.
Скажем, настольный комп у меня из 2014-го, вполне нормально себя чувствует. Но там со временем конфиг получился i7-4770,16RAM, ну и видюха правда из 2017-го. А для бОльшего у меня сервер в подвале стоит.
aborouhin
16.10.2021 09:52i5-6200, 16GB ОЗУ. Но, думаю, этого на 7 лет не хватит
Мне как раз в этом году "не хватило" купленного в 2014 году i7 4th Gen. 2 cores / 16 Gb / 1 Tb SSD (топовый конфиг Macbook Pro Late 2013, на который я, да простят меня идейные маководы, сразу взгромоздил винду :) Сейчас купил i7 11th Gen. 8 cores / 64 Gb / 3 Tb NVMe, прогнозы, сколько он проживёт, даже не берусь строить. 7 лет назад я вот не предполагал, что CAD-системами буду пользоваться.
Старые машинки тоже есть в хозяйстве в некотором количестве, как раз начиная с того самого 2008 года покупки. Только они все под Линуксом живут, ибо ОС без обновлений с доступом в инет - так себе русская рулетка, а сценариев, в которых мне нужна была бы машина без доступа в инет, у меня нет.Areso
16.10.2021 11:42Да, как показала жизнь, два ядра оказалось не future-proof конфигурацией.
Но конфиги с четырьмя ядрами, 16 ОЗУ и небольшим весом и на вторичке стоят неприлично много.
aborouhin
16.10.2021 12:03Конкретно мне не стало хватать ещё и 16 Gb RAM после того, как появилось желание часть виртуалок для разработки крутить локально, а потом ещё и совсем неожиданно - встроенного видео, когда хобби в виде домашней мастерской вышло на уровень, требующий применения CAD/CAE в чуть более чем минимальном объёме (теперь аж мобильная RTX 3060, уже чешется одно место нагрузить её чем-нибудь из области ML, а то что добру простаивать).
В итоге таки пришлось заводить 2 ноута:
- шустренького монстрика Gigabyte Aero для ежедневной работы, который весит чуть более 2 кило, а с зарядкой - так и все 3, поэтому ездит только между домом и офисом, ну или в длинные поездки.
- Surface Pro 7, который маленький, удобный, с планшетным режимом и пером, но при этом слабоват - зато идеально подходит для коротких поездок и отпусков, когда работать предполагается сугубо эпизодически.
Сколько всё это стóило, лучше промолчу :) Но вот как раз, возвращаясь к теме, облачность большинства используемых сервисов свела к минимуму затраты времени и неудобства синхронизации рабочего места на двух машинах.
sim31r
16.10.2021 12:12У меня пригодилась недавно машинка с 0.7 Гб ОЗУ, какой-то Пентиум 2 ГГц одноядерный. Windows XP запустился и веб камера, пригодилось по быстрому организовать видеонаблюдение в одном техническом помещении. Видно по записям кто зашел и кто вышел. Плюс на эту машину встала программа удаленного управления, правда при подключении загрузка процессора 100%, но посмотреть что делается в помещении удаленно можно. Некоторые производители поддерживают совместимость ПО на всех возможных устройствах.
cranium256
16.10.2021 01:35+2Приложение для олдфагов, говорите… А как нужно? Модно, современно, молодежно?
Лично меня бесит, когда примитивный мессенждер жрёт 250Мб оперативы и тормозит при перелючении между чатами. (Потому что подцепить Chromium оказывается проще, чем трахаться с RTF-контролом.) Примерно то же относится и к текстовым редакторам на Electron.
Portable-программы в некоторых случаях не просто удобны. Иногда критически важно, что бы программа работала так, что бы не оставлять следов в системе. Например, если вы приходящий «компьютерный мастер», которому требуется внести на компьютер клиента только те изменения, которые необходимы.
Мобильное приложение? Это вы здесь к чему упомянули? Начнём с того, что с телефона неудобно работать (в контексте обсуждаемой программы): маленький экран и неудобная клавиатура. Во-вторых, где будет лежать база? В облаке? Т.е. будет серверная часть и тонкий клиент. Это я к тому, что клиент-серверное приложение несколько затратнее писать и геморройнее устанавливать. А ещё придётся что-то арендовать под серверную часть. В-третьих, если база в облаке, хранить там чувствительную информацию… самонадеянно. И, наконец, в-четвёртых, внезапно, может отвалиться интернет. Так тоже бывает. Причём в самый неподходящий момент. И мобильное приложение успешно превращается в тыкву.
Конечно, формально XP 7 лет как мертва, что не мешает ей до сих пор успешно работать в разных странных местах.
И да, думаю, что на счёт «круг таких пользователей узок» у вас статистики нет. У меня её тоже нет. Но из общения с коллегами могу сказать, что вышеприведённые соображения достаточно распростанены. Кстати, и здесь, на Хабре, периодически появляются статьи по поводу качества разработки современных приложений. Как десктопных, так и веб.aborouhin
16.10.2021 09:30+4Упаси Боже меня Вам говорить, как Вам нужно писать :) Только Вы потом удивляетесь, что у Вас один донат за год, да и пользователей не очень много... ну так вот эти объективные данные и подтверждают мои слова. Это прекрасно, что у олдфагов (не вкладываю в этот термин никакого негатива) есть свои нишевые продукты, да ещё и бесплатные. Но ожидать, что они станут массовыми, а щедрые донаты польются рекой, при таком выборе своей ниши наивно.
Miller777
16.10.2021 10:52>>Лично меня бесит, когда примитивный мессенждер жрёт 250Мб оперативы и тормозит при перелючении между чатами
Да.Portable-программы в некоторых случаях не просто удобны. Иногда критически важно, что бы программа работала так, что бы не оставлять следов в системе.
Да, но не только. Проще перенести папку с настроенным софтом на другую машину, например, или при переустановке.
Начнём с того, что с телефона неудобно работать (в контексте обсуждаемой программы): маленький экран и неудобная клавиатура.
Неудобно, но терпимо, по крайндей мере, с некоторыми программами.
Иногда - бесценно.
Это я к тому, что клиент-серверное приложение несколько затратнее писать и геморройнее устанавливать
Посмотрите Firebase. Я не разработчик, но, по-моему, она сильно облегчает написание серверной части.
По поводу хранения чувствительной информации согласен, но тут каждый решает сам. Удобство часто перевешивает.
По поводу интернета - тоже согласен, кто-то настраивает кэширование, кто-то - хранение данных и на устройстве, и в облаке с синхронизацией, все это усложняет.
Вопрос: если сравнить ваше приложение с Joplin и Obsidian - какие плюсы и минусы?
Steplton
16.10.2021 12:33По поводу синхронизации, гляньте как-нибудь, как реализован Keepass2Android.
По-моему, блестяще. Автор реально заморочился для удобства пользователей.
Self_Perfection
16.10.2021 21:29Пусть не мобильное приложение, но хоть какой-то доступ к своим заметкам со смартфона, пусть даже только для чтения, весьма полезен. Например: я в магазине у полки с пакетами для мусора и мне нужно вспомнить какого размера ведро для мусора дома, чтобы купить подходящие.
Описанные вами минусы можно обходить разными способами. Например Turtl использует сквозное шифрование, так что не нужно доверять централизованному серверу для синхронизации. Но: свой формат, завязанность на одну программу, действительно проблемы при отсутствии сети.
Мой основной подход к заметкам решает вообще все перечисленные вами проблемы. Храню в Zim, то есть это просто древовидная структура директорий и .txt файлов формата вроде Markdown. Синхронизирую между устройствами с помощью Syncthing - ему не нужен сервер, синхронизация происходит напрямую между синхронизируемыми устройствами когда оба оказываются онлайн. Так не нужно доверять облаку и даже если нет связи сейчас, то на устройстве лежит заранее синхронизированная папочка с заметками. Редактирую я со смартфона мало. Раньше склонялся к режиму "закинуть быстро куда-нибудь новую информацию, а дома разобрать и сложить в заметки тщательнее", но понял, что лучше уж сразу потратить несколько больше времени, но вписать сразу в нужное место в иерархии.
А вот с чем действительно беда и что у меня до сих пор не решено, так шаринг заметок. Какая-то информация должна быть доступна хотя бы на просмотр не только мне, чтобы заметки были общей базой знаний в семье. Вот у Turtl есть такая возможность, но куча других недостатков.
Lizardinius
17.10.2021 23:02А вот с чем действительно беда и что у меня до сих пор не решено, так шаринг заметок. Какая-то информация должна быть доступна хотя бы на просмотр не только мне, чтобы заметки были общей базой знаний в семье.
Гугл\Яндекс\Майкрософт диск, просто закидывайте туда то, чем хотите поделиться (если для вас не критично использование этих облаков или свой сервер). Можно ещё скриптом прогонять через markdown преобразователь в то, что может в браузере отображаться или просто в картинку если достаточно ридонли.
dartraiden
17.10.2021 02:13Иногда критически важно, что бы программа работала так, что бы не оставлять следов в системе.
В Windows это в принципе невозможно, так как в реестре будут созданы всякие MuiCache и тому подобное. Даже, если вы запустите простейший хелловорлд, не предусматривающий хранение и создание каких-либо настроек.
NeoCode
16.10.2021 10:50-1Как по мне, так мобильные приложения для заметок — это что-то на случай форс-мажора, когда срочно нужно, а доступа к нормальному компьютеру нет.
Вот допустим я иду от дома до работы 2км (специально хожу пешком, получается отличная ежедневная прогулка, приятно и полезно). Иду, допустим, зимой, в мороз (на руках перчатки). Или в дождь/снег. Или лето, яркое солнце и изображения на экране смартфона практически не видно. Что я буду делать с мобильным приложением для заметок(!) в таких условиях? Самое лучшее для «мобильности» — простой mp3-плеер в форм-факторе «флэшки», воткнул в уши и слушаешь аудиокниги.
То ли дело — сидишь в удобном кресле, руки на удобной физической клавиатуре, на столе два монитора 24 дюйма… Красота!aborouhin
16.10.2021 10:56Ну так да. Но этих "форс-мажоров" на полжизни накапливается. В дороге, в транспорте, на короткий отдых ноут не взял, посреди ночи озарило, а вставать до ноута топать лень :) А смартфон - он всегда рядом.
Поэтому только мобильное приложение - зло (к сожалению, всё более распространённое). Но вот наличие в дополнение к нормальной версии мобильной (или адекватно юзабельной на маленьком экране веб-версии) - обязательно.
sshmakov
16.10.2021 12:14Что я буду делать с мобильным приложением для заметок(!) в таких условиях?
Запустить через голосовой помощник мобильное приложение и надиктовать в него заметку. Не вынимая рук из
кармановперчаток.repeat
16.10.2021 19:46Если только в режиме диктофона без определения текста, чтоб потом не разбирать непонятный текст или радоваться его отсутствию, т.к. интернета не было
sshmakov
16.10.2021 22:45В условиях задачи отсутствия интернета не было. Но вообще я соглашусь, что на нынешнем уровне развития это пока нерешенная задача.
algot
17.10.2021 18:16Ну если не надо онлайн, то очень удобен Obsidian - позволяет хранить базу заметок в md формате
cranium256
16.10.2021 00:01А зачем ваше чудо-приложение ломится на raw.githubusercontent.com по 443 порту?
Areso
16.10.2021 00:15+2Проверяет наличие обновлений
private void CheckUpdate()
{
try
{
System.Net.WebClient webCli = new System.Net.WebClient();
using (Stream stream = webCli.OpenRead("https://raw.githubusercontent.com/shmelev-1987/faq_net/master/WordEditor/LastUpdateInfo.xml"))
little-brother
16.10.2021 01:37+8Поскольку вы используете Releases, то наверно лучше использовать API, проверяя содержимое по ссылке https://api.github.com/repos/shmelev-1987/faq_net/releases/latest , а не один из файлов репозитария.
CrashOverride
16.10.2021 03:19все что я вынес из опенсорса - не иметь дела с GUI. Хочешь причинять добро - пили библиотеки и протоколы, все остальное - на грани вкусовщины и в поле абсолютного права автора.
Другими словами, если дело не касается политики в широком смысле этого слова, нужно предвидеть полное отрицание твоего вклада и соглашаться с возможным этим отрицанием до написания первой строчки
pbw
16.10.2021 04:07Выглядит интересно. Но работает странно. После второго запуска зависло (на семерке 64). Разбираться в причинах зависона не стал.
А как попасть в настройки? Вернее, есть ли настройки? Т.к. шрифты UI крайне мелкие, поменять хотя бы размер. Цвета это уже вкусовщина, но вообще да, немного вырвиглазно.
Я наверное еще больший олдфаг, чем многие присутствующие. И много лет пользовал на компе Tombo, а на телефоне miniNoteViewer, которые вобщем были "одно и то же". Причина проста: все заметки хранились в текстовых файлах. Т.е. если что, то просто открываешь заметку и читаешь, любым удобным способом.
Вот если бы такое было и сейчас... Заметки в *.txt, и какой-то файл конфига, содержащий ссылки, используемые внутри документов. При потере конф.файла (по любой причине), база заметок не пострадает.
alexs963
16.10.2021 07:05+1Таких программ вагон и маленькая тележка, например, zim-wiki, vnote, qownnotes, и тд и тп.
HappyGroundhog
16.10.2021 08:55Посмотрите на Obsidian.md. Позволяет удобно хранить и связывать любые заметки в md формате.
d-art
16.10.2021 19:14Пробовал Obsidian, но для себя остановился на TheBrain (обзор на русском).
Потому что, проблема всех электронных записных книжек - это организация информации. Когда хочется иметь структуру хранения заметок - сложнее чем просто иерархическое дерево. Ведь не всегда понятно куда лучше засунуть заметку: "к умным" или "красивым" (как в анекдоте), а еще так чтобы не боятся сделать выбор, потому что в будущем переорганизовать структуру можно за пару кликов мышкой, перетащив линию связи от одной заметки к другой, это как редактирование двухсвязных графов.
- Так вот я бы не отказался от открытого аналога TheBrain под .Net ;)Physmatik
16.10.2021 20:35+1Так ведь Обсидиан фактически основан на возможности прокладывать произвольные связи между любыми двумя заметками (гипер-рёбер вроде пока не завезли, но где они вообще есть?). Иерархическое дерево — просто одна из опций.
Steamus
16.10.2021 20:53Obsidian показывает иерархически сложенные заметки на левой панели, но это далеко не всё. Ключевая суть Obsidian -- реализация подхода Zettelkasten. Zettelkasten -- это такой подход к хранению информации, когда вы можете сцепить любые заметки между собой специальным тегом и видеть вашу информацию в виде такой сетевой/граф структуры связанных заметок. Эдакая база знаний с возможностью и видеть связи и мгновенно по ним перемещаться не глядя на иерархию физического расположения заметок.
Пользуюсь им уже наверное больше года. До этого использовал Microsoft One Notes, который реально выбесил своей закрытостью формата и использованию некоей структуры навроде БД. Да, можно было экспортировать в pdf и прочее, но когда каждый месяц открывая заметки видишь, что какая-то записная книжка с некоего перепугу не открывается и надо там немного станцевать с бубном. Нет, информация не терялась, но, как уже сказал -- выбешивало. Надо что-то глянуть, а он тебе такой, ай ну не открывается, авторизуйтесь ещё разок и переоткройте записную книжку и тд.
Принял решение уйти от любых закрытых или сложных форматов. Никаких баз данных, никаких HTML/Word/RTF etc. Текст. Plain text и файловая система. А если точнее, то давно существуют такие форматы как Markdown или чуть более сложный AsciiDoc, которые можно читать даже если Obsidian возьмёт и исчезнет. Это текстовые файлы с дополнительными несложными префиксами, позволяющими выделить заголовки, поставить ссылки и прочее.
И вот Obsidian -- на файловой системе, поддержка иерархической и сетевой организации информации, тексты в Markdown (можно переключать из режима редактирования в режим просмотра где префиксы отрабатываются и текст выглядит красиво). Поиск по всем файлам. Доволен как слон.
Единственная деталь -- написан на модном электроне. Лучше бы какой Qt или JavaFX. Но работает хорошо. Ни разу не упал, ни разу ничего не напутал. И вполне шустро на i7 не последнего поколения. Интерфейс можно настроить, скачав понравившуюся тему, которую также можно поменять под себя (там CSS)
Areso
16.10.2021 21:36И вполне шустро на i7
еще б оно на i7 тормозило бы...
Но должен согласиться, что Обсидиан реально хорош. Единственное, что у меня почему-то так и не получилось нормально научиться строить связи между записями.
d-art
16.10.2021 21:48Я вас понимаю. И вот про всё что вы говорите это и есть - TheBrain. Это тоже условно-бесплатное приложение на .Net, вдохновлённое Zettelkasten и MindMap.
Оно также хранит тексты заметок у вас на диске в формате markdown'a, правда названия нодов и свзи лежат в SQLiteDB.
Но в отличии от MindMap, где у ноды есть только один предок, TheBrain нода имеет неограниченное количество предков (parent), дочерних (child), и родственных (jump) нодов (как гипер-куб).
Я при добавлении информации, стараюсь установить как минимум 2-3 связи с другими нодами, иногда создавая и перелинковывая их на ходу мышкой. Причём, связи могут быть совершенно произвольны, и соответствовать тому, как те или иные явления или концепции увязаны в моей голове. Если в моем сознании связаны композитор Филипп Гласс, египетские пирамиды и глаз человека — я свяжу эти элементы в «Брэйне». Связывая элементы, я повышаю свои шансы повторно натолкнуться на материал, и лучше найти его и запомнить.Steamus
16.10.2021 21:54+1Наверное интересный инструмент, но для меня вот это вот SQLiteDB сразу всё пресекает. Как только начинается некая DB, так я сразу становлюсь заложником инструмента. Как олдскульный чел, мне уже надоели эти зависимости. Хочу простоты. ))
Вот зачем названия нодов и связи складывать в БД? Название файла это и есть название нода. А несложный тег внутри легко сохранит ссылку на другой нод. И даже если он исчезнет или переместится, вы визуально видите эту ссылку и сможете легко восстановить.
maxwolf
16.10.2021 12:49Мне зашёл WizNote. Заметки хранятся в html, кросс-платформенный (клиент под линукс — опенсорсный), есть докер-образ для серверной части. Клиентская часть довольно богатая (иерархические папки+тэги, форматирование, картинки, таблицы, напоминалки, гиперссылки (внутри и снаружи), поиск (локальный+серверный)).
smart_alex
16.10.2021 07:07+2Что-то я не понял:
1. Запустил программу — версии одинаковые (2.11.0.0), а интерфейс на скриншоте в статье и в реальности разные (на скриншоте иконки более-менее, а в реальности вообще мрак). Что это значит и как это понимать?
2. На скриншоте присутствует подсветка синтаксиса кода, а в реальности её нет (или как её включить?).
3. На втором запуске программа ломанулась (сканировать?) в локальную сеть (192.168...). Это что вообще такое? И какое дело этой программе до локальной сети?
(И отдельный вопрос к гениальным улучшателям юзабилити-интерфейса Хабра: теперь текст, например комментария, нельзя целиком втавить? Нужно вручную его писать отдельно по каждому абзацу?)
shmelev-1987 Автор
16.10.2021 09:19По-умолчанию тема не используется. Выбрать тему можно в настройках по кнопке расположенной слева внизу (с изображением "ключа"), выбрав пункт "Настройки внешнего вида"
Подсветки синтаксиса нет. Но при копировании кода из Visual Studio, SQL Server Management Studio или Word подсветка синтаксиса сохраняется
Извиняюсь. Есть небольшой баг в версии 2.11, который в ближайшее время исправлю в github. Он связан с отсутствием дочерних элементов в файле "FAQ_Net.xml" (например: <root></root>). Быстрое решение проблемы, отредактировать файл "FAQ_Net.xml", добавив один дочерний элемент "SettingString". Например:
<root> <SettingString KeyName="MainFormX" KeyValue="MA==" /> </root>
Mausglov
16.10.2021 09:47Без двух пунктов:
>Создание таблиц и изображений
>Переход по ссылкам на документы внутри приложения
для тех же целей использую проект в Sublime Text. Формат заметок - markdown
ciuafm
16.10.2021 10:56Я смотрю тут люди знающие собрались. А есть подобный продукт с установкой на свой web сервер, RTF подобным редактированием страничек (++ вставка форматированного с картинками текста из клипборда) и возможностью аплоадить большие файлы? Желательно без кучи зависимостей. И контроль версий страничек не помешает...
NeoCode
16.10.2021 11:33+5Я себе тоже нечто подобное разработал. Только требования были другие:
* Каждая заметка хранится в отдельном файле (для систем контроля версий)
* Формат обязательно человекочитаемый (html, markdown, wiki, rst, fb2, bbcode и т.п.), т.е. должна остаться возможность редактирования в обычном notepad.
Конечно, более «чистые» форматы типа markdown предпочтительнее, но поскольку ни для каких форматов кроме html не удалось найти реализацию WYSIWYG редактора, то выбрал html (QWebKit в режиме editable) с ограниченным подмножеством тегов, и соответственно Qt. Заодно кроссплатформенность, пользуюсь и под виндой, и под линуксом.
Заметки хранятся в гите, там же хранятся xml файлы с метаинформацией, связывающие заметки в единое дерево. Так что, думаю, не проблема прикрутить веб-приложение (оно же будет и мобильное). Но мне это не надо:)
Ближайший аналог из известных мне — Zim, которым я тоже пользуюсь, но там слишком мало стилей (например нет возможности оформить блок кода), заметки упорядочиваются тупо по имени файла, иногда его вики-разметка мешает (например зачем-то превращает имена с заглавных букв в гиперссылки), нет полноценной реализации таблиц (вместо них какой-то неудобный плагин) и еще другие мелкие недостатки.
А свою софтину я пока никуда не выкладывал и исходники не открывал, там еще многое не доделано (делаю просто по принципу: понадобилась фича — сделал). Но код открою рано или поздно.
Обратите внимание, насколько олдскульный интерфейс: специально искал, как сделать кнопочки на тулбаре именно такими, «объемными»:)Self_Perfection
16.10.2021 14:07+2Вы похоже сильно недоисследовали Zim. Блоки кода вполне оформляются плагином из стандартной поставки:
Превращение слов с заглавных букв в гиперссылки мне тоже не нравится, но оно выключается. В GUI Edit / Preferences / Editing / Automacitally turn "CamelCase" words into links.
Сам пользуюсь Zim c 2014 года и альтернатив как-то не вижу, хоть периодически рассматриваю то один то другой аутлайнер.NeoCode
16.10.2021 22:37Спасибо, преобразование слов в ссылки отключил, да и блоки кода пригодятся.
Кстати интересно, на чем написан WYSIWYG редактор в Zim? Что это за компонент? Сделан очень качественно, в нем решена самая главная проблема, возникающая при использовании html редакторов: при копипасте из браузера вставляется текст со всем визуальным форматированием и прочим мусором, при том что хочется иметь лишь ограниченное количество разметочных тегов. Может он вообще не на базе html редактора, а что-то написанное с нуля?
Я у себя сделал отдельную команду «Paste as text», и отдельную команду «Clear formatting», которая очищает html от всех тегов и атрибутов кроме разрешенных, это локально решило проблему, но ведь это не идеальное решение.Self_Perfection
16.10.2021 23:54Компонент по всей видимости какой-то стандартный GTK rich edit, не знаю. Но к решению проблемы вставки HTML это мало отношения имеет. В линуксах (а в других ОС я не разбираюсь) при копировании в буфер обмена помещается один и тот же контент в разных форматах.
Например
При копировании из Firefox
$ xclip -out -target TARGETS TIMESTAMP TARGETS MULTIPLE text/html text/_moz_htmlcontext text/_moz_htmlinfo UTF8_STRING COMPOUND_TEXT TEXT STRING text/plain;charset=utf-8 text/plain text/x-moz-url-priv
А при копировании из самого Zim:
$ xclip -out -target TARGETS TIMESTAMP TARGETS MULTIPLE GTK_TEXT_BUFFER_CONTENTS application/x-gtk-text-buffer-rich-text text/x-zim-parsetree UTF8_STRING COMPOUND_TEXT TEXT STRING text/plain;charset=utf-8 text/plain
У zim же такая логика. То есть он просто не воспринимает HTML как подходящий формат для вставки. Это прям беда, для вставки ссылок приходится всякие хаки использовать.
0617
16.10.2021 11:41Любая дополнительная программа с собственным форматом - и ты становишься её заложником.
Если нужно что-то сохранить, просто отправляю письмо сам себе на мойадрес+ключевоеслово@gmail.com (или мой.адрес@ или м.ойадрес@ и т.д.), один раз настроил сортировку и всё. По факту мне оказалось достаточно всего одного ключевого слова.
sim31r
16.10.2021 12:52+1Использую программу Tombo от японского программиста, программа лежит в Dropbox у меня и доступна с любого компа, в офисе или дома.
Удобна для заметок тем что есть древовидная структура, есть поиск по всем заметкам, есть шифрование отдельных листов по желанию, можно смотреть без программы отдельные страницы блокнотом. Если в другой ОС проект открыть, например. Тоже работает со времен Windows XP.
Описание тут и тут программы есть.
На Андроиде ColorNote, но тут фрагментация данных, оно не синхронизируется с ПК, иногда неудобно.
cser
17.10.2021 14:32А у Вас оно русский текст, созданный в мобильной версии (которая называется miniNoteViewer) открывает? А то у меня кодировка неправильная отображается и не понятно чем ещё можно зашифрованные заметки открыть.
sim31r
17.10.2021 15:22Мобильной версией не пробовал пользоваться. Кодировку можно поправить в перекодировщике каком-нибудь.
diakin
17.10.2021 01:19+1Mars Notebook.
NeoCode
17.10.2021 10:30Как видно из скриншота, у Mars Notebook (и огромного количества других подобных программ) проблема в том, что они смешивают форматирование и разметку. Шрифт, размер, отступы, центрирование — все это форматирование. А header1...header6, таблицы, нумерованные и маркированные списки — разметка. Веб через это прошел уже давно, а в аутлайнерах почему-то до сих пор в изобилии встречается.
X3_Shim
17.10.2021 17:14+1У меня как то не сочетается в голове "портабельное приложение на флешке" и использование .NET.
Винда переустанавливалась уже давно. И работаю и играю, вроде все что нужно уже до установлено, а тут при запуске просит .NET 3.5 установить. Первое приложение за несколько лет, которому это понадобилось. Решил что переживу и без FAQ_Net.
Areso
17.10.2021 18:43+1Ну, просто дотнет 3.5 довольно старый (всё ради икспи), и сегодня не устанавливается ОС или прикладным софтом.
С другой стороны, согласен, портабельность и дотнет звучит как оксюморон.
d_ilyich
18.10.2021 11:00Ну, просто дотнет 3.5 довольно старый (всё ради икспи), и сегодня не устанавливается ОС или прикладным софтом.
Разве? В Win10 через Control Panel\Programs\Programs and Features > Turn Windows features on or off
shmelev-1987 Автор
17.10.2021 21:15Если Вы пользуетесь Windows 10, то достаточно скомпилировать проект под .NET Framework версии 4.7.2. Кстати, это хороший совет, добавлю дистрибутивы FAQ Net под Windows 10.
shmelev-1987 Автор
17.10.2021 22:17Подготовил сборку FAQ Net под .NET Framework 4.5. Можете скачать по ссылкам:
X3_Shim
17.10.2021 23:13+1Спасибо. Попробовал, но нет. Эргономика и дизайн времен NT4.0.
Не понимаю, зачем для узла отображать заметки списком в главном окне (причем занимают они по ширине малу его часть), почему не рисовать их в дереве, что бы основное окно всегда показывало выбранную заметку? Зачем поиск в отдельном табе? Ведь можно просто строку сверху сделать и сразу в главном окне отображать подходящие записи в виде заголовка и части текста. Ну да ладно. Это может все мои придирки просто.
rra_roro
18.10.2021 11:25Ultra Recall все заявленное в статье и даже больше. Пользуюсь уже лет 10, доволен безмерно.
https://www.kinook.com/UltraRecall/
Areso
Единственное, чему я научился за года опенсорса - не ждать благодарностей. Хотя они и приятны, что тут скажешь.
И с таким подходом продолжать гораздо проще.
jkollss
Мне везло ещё меньше. В один проект я сделал пул-реквест, который убирал серъёзную утечку памяти, причём ещё и детально описал почему было неправильно, но автор репозитория наотрез отказался принимать реквест, причём, особо не обосновывал своё решение. В этом проекте до сих пор эта утечка присутствует. Ну а я стал философски относиться к участию в опенсорсе.
Areso
Фигня случается. Авторы - тоже люди, и как везде, встречаются разные. Мне пока что везло - мои ПРы принимались, хотя бывало, что годами висели не влитыми.
jkollss
Так это понятно, но приходит с опытом. Поначалу жаль времени, потраченного впустую и непонятна упёртость автора. А так-то да, во вменяемых проектах мои ПРы принимались.
Я к тому, что встреча с таким упёртым автором может отвадить новичка вообще что-то вкладывать в опенсорс.
repeat
Как вам такой ход короля?
Новый проект (по факту, это форк), автор не знает как переделать под новое железо старый код для одной киллер фичи. Делаю реквест с исправлением. Автор принимает, удаляет проект и перезаливает. Никакого упоминания об о мне ес-но нет. )))
in_heb
Дело в том, что вливание своего патча в апстрим, это нужно в первую очередь вам, чтобы не тратить силы на поддержку своего форка, особенно если это библиотека/компонент/модуль/etc, которую вы собрались использовать в своем проекте. Мои критерии выбора OSS ПО для использования:
наличие коммитов за последнее время (проект не мертвый)
обработка PR (если это гитхаб или подобная платформа где это можно посмотреть), т.е. автор(ы) либо мёржит, либо комментит
наличие форков (опять же если это что-то типа гитхаба) и это можно посмотреть. если есть форки, то значит есть заинтересованное комьюнити
Критерии не универсальные конечно и не нужны если ищется софт для решения разовой задачи. А если это что-то, что нужно ставить в прод надолго или либа, то нужно подходить очень внимательно.
jkollss
Забавно то, что я просто бескорыстно хотел помочь проекту, я даже не пользовался программой, набрёл на неё случайно, стало любопытно, как реализовано. Наткнулся на проблему, не поленился, сделал форк, поправил, сделал PR, написал коментарии, всё как полагается. А встретил негатив. Ну я человек спокойный, пожал плечами и забыл, не хочет автор улучшить своё ПО, ну да ладно.
amarao
А покажите-ка MR. Очень часто благие намерения ломаются потому, что, например, не выполнены какие-то условия, или код тесты не проходит.
jkollss
Показать не получится, всё уже давно пропало. Но там суть в том, что приложение было на Qt и человек просто забыл передать parent в объект диалога, при этом создавал его динамически. В список чилдов QObject указатель на объект не попадал, поэтому в деструкторе вызывающего объекта освобождения памяти не происходило. В результате каждый вызов диалога откусывал чуть-ли не мегабайт. Не фатально, но и неправильно.
Ivan-suanin
здесь, видимо, как в поговорке. не спрашивают - не сплясывай. Видимо, автор принял как личное оскорбление.
У меня раньше тоже было стремление помочь кому-то стать лучше. В итоге в 9 из 10 случаев мои советы не принимались. Негатива не было, но и толку тоже. Хотя приняв советы и исправив, люди могли бы в разы больше зарабатывать.
jkollss
Да мне кажется, просто надо спокойнее к этому относиться. Ну не понравилось что-то автору ПО, ну да и ладно. И из этого надо просто изначально исходить. В своей-то ветке можно всё сделать как хочется.
tyomitch
Хехе, у меня было ещё круче: сначала пару месяцев мурыжили "подпиши соглашение, что все права на десять исправленных строчек переходят к нам, и пришли его нам в бумажном виде", потом просто перестали отвечать. PR до сих пор открыт, утечка до сих пор есть.