lo-st пишет:

Уважаемый xintrea!
У вас на гитхаб выложены исходники программы mytetra для десктоп и андроид версии.
Не могли бы вы собрать файл .apk для андроида? Видел  статью Страх и ужосо: как выглядит PIM-менеджер MyTetra под Android, я думаю что лучше что-то иметь чем совсем ничего на андроиде

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

host пишет:

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

В продолжение темы: Ответ на вопрос: почему сайт с хорошей посещаемостью приносит так мало дохода. Добавить тут что-либо сложно.

78

(47 ответов, оставленных в Прочие проекты/разработки)

chadwick пишет:

Может подскажите что-нибудь дельное. Сейчас то всё работает, но хотелось бы разобраться.

Я в этих делах некомпетентен. Я как программист просто работаю с файлом устройства и все. А откуда он появляется и как создается в системе - мне не ведомо. Это надо на ЛОР или Опеннет писать, там сидят люди, которых хлебом не корми, а дай поковыряться с правилами UDEV.

Soxsten пишет:

Недолго думая я вставил в него инфо со второго компа и, о чудо!, все заработало!

Поэтому найдено костыльное решение - запретить изменение файла database.ini и добавить его в .gitignore

P.S. Вопрос: где хранится информация о текущем месте базы? А то я решил переместить базу, программа ругается, но не предлагает указать новое расположение.
А удаление папки конфиг просто создало новую базу...

Схема работы следующая: database.ini - это неотъемлемая часть хранимых данных. Поэтому этот файл хранится рядом с mytetra.xml. В настоящий момент в нем хранятся только данные, необходимые для шифрования. Пока нет шифрования - он с пустыми значениями. Если есть шифрование - он заполняется в момент задания (или смены) пароля. Важно то, что в этом файле хранится, например, соль, которая перемешивается с паролем для выработки ключа шифрования. Поэтому, если этот файл находится не в консистентном состоянии с зашифрованными в базе данными, то даже зная пароль, расшифровать данные будет невозможно (т. е. в случае если в database.ini лежит не та соль, которая была использована при задании пароля, или этой соли вообще нет). В любом случае, если таскать с собой полностью каталог /data, неважно каким способом - копированием, через git, через dropbox, то данные не потеряются, потому что сохраняется консистентность.

Информация о текущем месте базы хранится в файле conf.ini. Параметр называется tetradir. Это то значение, которое вы видите в настройках Основные - Директория с данными. Между директориями с данными можно переключаться. Проблема в том, что переключаться можно через интерфейс, уже находясь в существующей директории с данными. То есть, MyTetra должна корректно запуститься, чтобы можно было переключиться на другую базу через интерфейс.

Вы же, видимо, перенесли базу, и в старом месте базы не осталось. Поэтому интерфейс MyTetra не может стартовать, и MyTetra не может вам показать красивое окошечко где вы могли бы указать местоположение данных. Поэтому вам нужно просто отредактировать вышеуказанный параметр. Можете писать там абсолютный путь, можете писать там относительный путь относительно бинарника mytetra (если это Linux) или mytetra.exe (если Windows), MyTetra поймет и так и так.

В новой версии я наверно сделаю появление выбора каталога с данными при старте программы, если таковой не найден.

Файл conf.ini - это файл, который уникальный для каждого инстанса MyTetra, даже если включена синхронизация. В рекомендациях по синхронизации написано, что синхронизировать нужно именно каталог /data, но не выше. Различные conf.ini на разных инстансах позволяет иметь разные настройки. Например, на работе у вас Windows, и одно размещение базы. А дома у вас Linux с совершенно другим путем до синхронизируемой базы. На работе у вас одни команды синхронизации, а дома другие. И так далее.

* * *

Единственный тонкий момент с conf.ini - это ситуации, когда вы на двух инстансах поставили галочку "Хранить пароль локально". Пароль (точнее его хеш) сохраняется в conf.ini. Что произойдет, если вы решите поменять пароль? Это действие вы будете делать на одном интансе, а потом синхронизировать базу. И окажется, что на втором инстансе в файле conf.ini хранится хеш старого пароля (ведь conf.ini не должен синхронизироваться). И после синхронизации данные на втором инстансе не будут расшифровываться. Тут придется ручками в conf.ini очистить параметр passwordMiddleHash и установить passwordSaveFlag=false. Тогда MyTetra не будет автоматически пытаться расшифровать данные с помощью запомненного устаревшего пароля.

Рекомендация тут такая: хотите без проблем поменять пароль - предварительно уберите локальное хранение пароля на всех инстансах. Понимаю, что порой это бывает сложно (у меня, например, четыре инстанса, и не всегда они доступны), поэтому разруливать приходится ручками, как я выше написал. Главное в такой ситуации - не пытаться изменять или перешифровывать данные на инстансе со старым паролем. Увидели кракозябры или странный запрос пароля, которого быть не должно - выходите из MyTetra и поправьте conf.ini.


Soxsten пишет:

P.P.S. При перемещении записи из одной ветки в другую - у записи меняется дата создания. Мне кажется это не логичным.

Да, это явная недоработка, я на нее в свое время забил как на несущественную.

host пишет:

xintrea, видимо я перегнул планку. Приношу извинения.

Ну и хорошо.

По поводу сайта - я прекрасно понимаю, что с такой формой подачи информации и с такой целевой аудиторией много не заработаешь. Основная текстовая масса сайта - это записи MyTetra Share. Мое дерево и деревья пары человек достаточно качественные, остальное - весьма проходной контент. На качественном контенте человек решает проблему и уходит. На некачественном просто уходит. Контингент в основном IT-шники с включенным AdBlock-ом, с него и взять то нечего.

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

По поводу текстовых ссылок, у меня в CAПЕ почти 150 стоп-слов, которые отсекают 80% всей рекламы, которую продвигают через ссылки:

аттестат аттестаты венки диплом дипломы курительные курсовая курсовик курсовые попа попы порно реферат рефераты сигареты сигары табак эротика атаки атака казино жестокие жестокость жесть анализ анализы беременность беременностью беременности хирургия секс интим панкреотит панкреотите панкреотита похоронный похоронного похоронная ритуальных рак наркоман наркомании миома выкуп приворот кастрация БДСМ ритуальный ритуальная ритуальные крест кресты эротический наркозависимых наркозависимый тошнит тошнота рвота презерватив презервативы фаллоимитатор фаллоимитаторы вибратор вибраторы азарт азартных лотерея лотереи кладбище кладбища слот выигрыш выигрыши клубничка лечение операция лечения кредит кредиты ломка ломки ломку нарколог наркотик запой igrovie 18+ адалт писсуар порча порчу гадание гадалка "игровые автоматы" Гордон вулкан навальный рулетка экстрасенс экстрасенсы экстрасенсу экстрасенсорные экстрасенсорный страпон страпоны бомж бомжей бомжу casino проститутки проститутка анаша марихуана BDSM массаж простаты займ займы гуманное вэйп залог похорон похороны обосрался "эскорт услуги" "играем деньги" "купить справку" apteka татуировок Поляков медкнижка татуажа вагину vulcan тату флирт "сетевой маркетинг"

Естественно, при таком подходе и на текстовых ссылках рекламодателей почти нет.

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

Soxsten пишет:

А откуда информация про стоимость проги? Что за метрики?

Это методика COCOMO, по сути пересчитывает количество и плотность (сложность?) кода в человеко-часы. Берет среднюю зарплату по отрасли и выводит сумму. Не обновлялась с 2004 года, так что и расчет в зарплатах 2004 года, а сейчас сумма должна быть больше. Но и так цифры астрономические.

Под Linux есть пакет и утилита sloccount. Натравливается на каталог с исходниками, получается отчет.

Вот тут подробности: Как оценить стоимость разработки программы по количеству строк кода.

host пишет:

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

Ты знаешь, текущая стоимость программы MyTetra составляет более 4 млн. долларов:

Total Physical Source Lines of Code (SLOC)                = 120,865
Development Effort Estimate, Person-Years (Person-Months) = 30.72 (368.66)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.97 (23.62)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 15.61
Total Estimated Cost to Develop                           = $ 4,150,087
 (average salary = $56,286/year, overhead = 2.40).

Половина кода составляет код редактора, так что разработка редактора уже обошлась бы в 2 млн. долларов. А если его доводить до корпоративного уровня, то тут нужна уже команда программистов.

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

Так что эти страшно секретные объяснения "почему сайт приносит так мало денег" никакой погоды не сделают, можешь оставить их при себе, особенно если считаешь, что этот OpenSource проект недостаточно пользы принес сообществу.

Soxsten пишет:

Звучит мягко говоря грубо.

Это он перефразировал мою же фразу про корпорацию Гугл, которая жмотится на выплаты за рекламные показы. Мне, честногря, пофигу.

Кстати, для тебя есть хорошая новость:

MyTetra научилась работать с национальными кодировками в путях к файлам

Soxsten пишет:

P.S. Я тут на ровном месте поймал ошибку (случалось и ранее):

Просто заносил записи в шифрованную ветку. В какой-то момент вылетело это и программа закрылась.

После попытки открыть программу - вылетело это:

Файла myTetra.xml не было никакого. Я просто нашел последний с цифрами и переименовал.
После запуска - ругался на ActionLog.
Удалил ActionLog (пустой кстати) - все заработало.

Я вообще не понимаю, как у вас MyTetra работает, если она под Windows не может работать в каталоге, где в пути есть русские символы. Как вы ее вообще смогли запустить?

Скопируйте базу (каталог data) в каталог, где в пути, где нет русских букв.
Удалите каталог C:\\Users\Руслан\.config\mytetra
Запустите mytetra.exe. Он не обнаружит развернутую конфигурацию в каталоге пользователя и предложит выбор "Стандартная установка" или "Портабельная". Выбирайте портабельную.
В настройках запущенной MyTetra укажите каталог с базой "Основные" - "Директория с данными".

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

И еще вопрос: стоит ли у вас какой-нибудь антивирус? У меня на винде постоянно были проблемы с Карсперским. Для того, чтобы MyTetra нормально работала, а Касперыч не блокировал её файлы, мне приходилось прописывать MyTetra в его исключения.

Soxsten пишет:

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

А вы не можете вспомнить, она у вас появилась на голом месте, или в момент, когда вы настраивали синхронизацию? Например, в тот же день, или в момент, когда у вас засинхронизировались все инстансы, ну в общем когда синхронизация наконец заработала? Неважно, что вы использовали - Git или DropBox.

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

Или например в первом инстансе вы расшифровали все ветки, а потом зашифровали ветку с новым паролем. И когда эти изменения прилители на второй инстанс, произошло ой.

На ровном месте я не могу повторить проблему. Но вспоминаю, что были какие-то проблемы, по-моему когда решил сменить пароль, и смена пароля накатилась на компьютер со вторым инстансом. Из-за того, что на втором компьютере была включена галка "Запомнить пароль", хеш этого пароля из conf.ini уже не подходил к по-новому зашифрованным данным. И получилась чехорда. Пришлось вручную править conf.ini - обнулить passwordMiddleHash и установить passwordSaveFlag=false. Может, у вас это произошло?

Soxsten пишет:

Несколько раз натыкался на баг с шифрованием, который очень огорчил.

babaduk пишет:

Ошибка в программе есть. Видео могу сделать если оно всё же понадобится после моего объяснения.

Блин, народ, ну что же вы сливаетесь. Я не могу исправить баг, которого не могу повторить. Если не будет видео, не будет и исправления бага.

babaduk пишет:

xintrea Ошибка в программе есть. Видео могу сделать если оно всё же понадобится после моего объяснения.
Ошибка повторяемая.
1. Создаю новую ветку в корневого уровня "qweqwe"
2. Создаю в этой ветке 1 запись с текстом произвольного содержания.
3. Кликаю ПКМ на этой ветке и выбираю пункт "Зашифровать ветку"
Ошибка:
4. Появляется окно с текстом "Введите пароль для доступа к зашифрованным данным", хотя я ожидал увидеть окно для установки пароля.

У меня это к сбою не приводит. В предыдущем сообщении написано как заснять видео, для решения проблемы оно мне нужно.

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

Soxsten пишет:

Добрый день!
Несколько раз натыкался на баг с шифрованием, который очень огорчил.
Если пароль ввести - то вся зашифрованная инфа отображается крякозябрами.

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

Мне нужно видео, где демонстрируется сбой. На видео надо чтобы был видно:

1. Содержимое файла database.ini
2. Запуск MyTetra
3. Показано окно настроек шифрования
4. Сам сбой
5. Содержимое файла database.ini после сбоя

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

Возможно, потребуются и другие видеоролики, но пока в таком виде.

Soxsten пишет:

Добрый день!
В какой-то момент зашифрованная ветка перестает просить пароль, а предлагает ввести новый пароль (как при создании шифрованной ветки).

Я поковырялся и кое-что нашел. Проблема связана с запоминанием пароля после того, как в базе не осталось зашифрованных данных. Видимо, перед тем, как наступил этот момент, вы расшифровали все данные в базе, и увидели окно, в котором написано, что "в базе не осталось зашифрованных данных. Желаете сохранить хранимый пароль или его надо сбросить?". Возможные варианты ответа "оставить", "сбросить".

Если нажимали оставить пароль, то могла произойти такая проблема.

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

90

(47 ответов, оставленных в Прочие проекты/разработки)

Появились сборки LoLoSwitcher для Puppyrus:

https://mirror.yandex.ru/puppyrus/puppy … 4-kn01.pfs
https://mirror.yandex.ru/puppyrus/puppy … 4-kn01.pfs

https://mirror.yandex.ru/puppyrus/puppy … s-kn01.pfs
https://mirror.yandex.ru/puppyrus/puppy … s-kn01.pfs

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