↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Картинки ссылками
До даты

Все новые сообщения

#прогерское
А чем бы не заняться на выходные, а не написать ли свой браузерный текстовый редактор?!

Что можно?

1. Менять выравнивание текста. От стандартного до правого (alt и стрелка вправо или влево).
2. Превращать абзац в заголовок. Заголовки делятся на заголовки глав и частей (alt и стрелка вверх или вниз).
3. Загружать ранее сохранённую страничку, чтобы продолжить редактирование.
4. Переходить в режим чтения.
5. Режу лишние вертикальные и горизонтальные пробелы.

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

https://minimawr.neocities.org/
Показать 4 комментария
#прогерское
Казалось бы, у той же тытрубы должен быть код просто образцового качества, но нет, это жуткая каша! Может я чего-то не понимаю и у меня просто чувства прекрасного? Но всё таки, зачем так было делать?
Показать 6 комментариев
#прогерское
Вечером буду обновлять систему до Mint 19.3 Tricia, ну и как тут не вспомнить этот шедевр :)

https://coub.com/view/24snjb
Показать 12 комментариев
#прогерское #политота
Компания GitLab из-за политики прекращает набор инженеров из России и Китая
Д - демократия.
Ссылка
Показать 11 комментариев
#прогерское

Чего это никто никого не поздравляет?



01001000 01100001 01110000 01110000 01111001 00100000 01010000 01110010 01101111 01100111 01110010 01100001 01101101 01101101 01100101 01110010 00100000 01000100 01100001 01111001 00100001
Показать 17 комментариев
#прогерское
Когда прилетает обновление очередного пакета, хорошо бы смотреть, что он делает и для чего используется… хотя бы по диагонали, хотя их столь много, что врядли это возможно :(
Показать 10 комментариев
#прогерское
Всё больше убеждаюсь, что жить нужно в вируалбоксе, чередуя внутренние системы по мере надобности, а внешняя система должна быть максимально чистой, чтобы её было проще администрировать.

Осталось построить удовлетворяющий меня набор виртуалбоксов, а потом аккуратно переехать "внутрь". И конечно, почистить внешнюю систему от всего лишнего.
Показать 6 комментариев
#учебное #прогерское

7 часов возни с документацтей, различными сайтами и книгами ради того, чтобы в итоге написать 7 строк кода. Или коротко о том, что такое освоение новых технологий.
Показать 5 комментариев
#прогерское #вопрос
А на чём проще всего писать GUI? Язык и либы. Интересует личный опыт и впечатления. Если есть гайды и примеры, то это будет вообще замечательно.

Планируемый юз-кейс. Общаться с основным приложением по tcp и осуществлять его управление. Соответсвенно предполагается написание максимально тонкого клиента.

Что мне это даст? Я смогу писать ГУИ не на Хаскеле, я смогу писать несколько вариантов гуи, я смогу запихнуть приложение в тестер и гонять его с сценариями использования, а не тыкать по кнопкам...
Почему и я не думаю использовать Хаскель для гуи? Потому что все (которые я видел) хаскельные гуи - это на самом деле биндинги гуёв на других языков, причём биндинги кривые. Чем использовать их, мне в такой схеме будет проще использовать либы непосредственно.
Показать 7 комментариев
#прогерское

Допилил для моих акторов (для fsm тоже должно работать, но я не тестил), модуль обеспечивающий подписку/отписку на события :) К сожалению не обошлось без теймплейтов.



Единственное, я не придумал, как нормально тестировать отсутствие события (я хочу убедиться, что после отписки сообщение уже не приходит).
Показать 7 комментариев
#прогерское

Комбинаторное программирование то ещё та жесть, вот что по вашему делает вот эта строчка?

maybe printError ($ message) $ actRuntime ^. handlers . at otherwiseType
Показать 7 комментариев
#прогерское

Всю функциональность, какую хотел, в свою либу для работы с FSM я впихнул, теперь балуюсь и проверяю применимость для каких-либо простых задачек, вот пример со светофором...

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

Вариант два, сделаем ещё одну фсн, которую не будет видно снаружи и будем запоминать в ней, а куда же мы хотели пойти.
Показать полностью 1
#прогерское
Балуюсь с конечными автоматами... вроде ничего так получилось :)

А вот лог запуска этой малютки.
[SM] [1118StBMMh] [set transition] [state Off] -> [event TakeOn] -> [state On]
[SM] [1118StBMMh] [set finish state] [state On]
[SM] [1118StBMMh] [set 'entry do' handler] [state On]
[SM] [1118StBMMh] [set 'exit do' handler] [state Off]
[SM] [1118StBMMh] [set 'exit do' handler] [state On]
[SM] [1118StBMMh] [init state] [state Off]
[SM] [1118StBMMh] [transition] [state Off] -> [event TakeOn] -> [state On]
[SM] [1118StBMMh] [exit do] [state Off]
[SM] [1118StBMMh] [entry do] [state On]
[SM] [1118StBMMh] [finish state] [state On]
[SM] [1118StBMMh] [exit do] [state On]


Исходники - если кому-то интересно.

В принципе, я туда впихнул всё что хотел, кроме возможности объединять состояния в группы. Так как хочется сразу сделать следующий шаг и дать возможность объединять группы и на любое кол-во уровней :) может за выходные сделаю, а может и нет.
Показать 4 комментария
#прогерское #велосипедостроение

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

https://github.com/vojiranto/TagFS

Список команд:
tfs initFS
tfs addFile 'aFilePath' 'aFileName'
tfs find '"tag1"+ ("long tag2" - "tag3")*"tag4"'
tfs tagMake 'aName'
tfs tagRename 'aOldName' 'aNewName'
tfs tagDelete 'aName'
tfs tagAddToFile 'aTagName' 'aFileName'
tfs tagAddToTag 'aMetaTagName' 'aTagName'
tfs makeAlias 'aName' 'anAlias'
tfs makeLink 'aName' 'aLink'
Показать 1 комментарий
#Велосипедостроение #прогерское

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

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

Есть у меня одна негативная (или позитивная, тут уж как посмотреть) черта: я могу зацепиться за какую-то совершенно постороннюю проблему и начать её решать. Как вы помните, именно так появился на свет Fanfics Extender :)

На этот раз мой взгляд зацепился вот за этот комментарий:
Можно ли каким-нибудь способом целиком качнуть диалог в каком-нибудь человеческом формате (да хоть бы и в CSV)?
Длинную переписку листать невозможно, даже если попытаться целиком загрузить.


Как вы знаете, в блогах существуют посты с огромным количеством комментариев. Если нажать княпку "Показать все" (комментарии), сервер долго думает, и выдаёт пустую страницу. Единственный способ увидеть все комментарии — долго и нудно нажимать княпку "Показать ещё 20 комментариев". Для треда техподдержки (8577 комментариев) пришлось бы нажать 428 раз. И это если ваш браузер продерётся через уйму скриптов, метрики и прочей обработки нового контента. После 150-ой загрузки пачки комментариев мой ноут с Core i7 2.2GHz/16GB разгонял вентиляторы так, будто решил взлететь, а время загрузки/обработки каждой новой пачки стала занимать 10-15 секунд.

Конечно же, я не кликал "Показать ещё 20 комментариев" вручную. Я написал скриптик, который заставлял браузер проделывать это за меня.
Если кому интересно: PHP + Mink + chrome-mink-driver.


Стало ясно, что нужно искать другой путь. Прости, javascript, но тут ты всё портишь.

1. Скачиваем изначальную страничку, на которой 20 комментариев и кнопочка "Показать ещё 20".

2. Чистим её от рекламных блоков, посторонних скриптов и стилей, и разбиваем на две части, «верх» и «низ». Между этими частями мы и будем вставлять загружаемые блоки с комментариями.

3. Начинаем загружать комментарии по 20 штук и сохранять в отдельные файлики. К сожалению, мы не можем загружать их, например, по 100 штук за раз. Родное API фанфикса (которое и обрабатывает нажатие кнопки "Показать ещё 20") отдаёт максимум 20 штук. Причём, чтобы загрузить следующую пачку — нужно знать ответ от предыдущего запроса.

3.1. Чертыхаемся, добавляем задержку между запросами, одной секунды должно быть достаточно :)

4. После загрузки всех блоков комментариев — склеиваем их в обратном порядке, вставляем между «верхом» и «низом».

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

Теперь самое главное: убрать из полученной страницы загрузку скриптов фанфикса, оставив только стили. Полученная страничка очень шустро открывается в браузере, ничего не тормозит и не лагает.

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

Держи, pskovoroda: архив HTML-странички без аватарок (≈8.6МБ, сжата до ≈1.1МБ).

Теперь можно расслабиться и выпить кофе, попутно давя мысли о создании телеграм-бота, который бы создавал такие архивы по запросу.
Свернуть сообщение
Показать полностью
Показать 20 комментариев из 26
#прогерское #велосипедостроение

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

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

UPD Велосипед лежит здесь.
UPD добавлена возможность создавать чистые метатеги.
Показать 15 комментариев
#звиздец #прогерское #телега
А вот теперь не смешно, у меня и коллег лёг Слак... ну упало ничего социально значимого, да? Мы мать его через это приложение общаемся и координируем работу. А сейчас приходится списываться ТАДАМ по телеграму ибо он всё ещё жив.

Вчера не смог дозвонится по виберу в Израиль к родокам, неупало ничего социально значимого? ДА?

Чего-то неправильно в этой блокировке.

UPD.
А ещё телетайп в атоме, ничего соц-значимого? ДА??????

UPD
Выяснили, что случилось с телетайпом, он прокидывает соединение через амазоновские сервера, ну ква...
Показать 20 комментариев из 116
#прогерское #велосипедостроение

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

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

теперь можно писать вот такие запросы:

-- вот так можно найти всех девушек с гитарой, которые не Хацуне Мику :)
result $ "Девушки" !* "Гитара" !- "Мику"

-- а вот так все случаи косплея Аски и/или Рей.
result $ ("Аска" !+ "Аянами Рей") !* "Косплей"


Поддерживаются такие операции на множествах: или (!+), и (!*), вычитания (!-).
Приоритеты операций как у обычных сложения, вычитания и умножения.

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

ПОИСК
ФАНФИКОВ









Закрыть
Закрыть
Закрыть