2022-04-25

Извлекатор mp3 файлов аудиокниг

Обновил readme своего извлекатора ссылок на mp3 файлы. В настоящее время извлекатор умеет извлекать ссылки из четырех сайтов. Сами файлы придется скачивать из командной строки и только на линукс.

 

Оставить комментарий

 
  2022-02-04

Audio Book Downloader

Написал прикольную штуку - Audio Book Downloader. Маленький букмарклет для скачивания аудиокниг в виде аудио файлов. Добавляем в закладки вот такой код и получаем список shell команд для скачивания mp3 файлов.

Код букмарклета следующий:

javascript:(function(){documejavascript:(function(){document.body.appendChild(document.createElement('script')).src='https://maxistar.ru/kitchen/bookmarklet/abdownload.js';})();})();

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

На сегодня поддерживаются два сайта https://audio-books.club и http://knigorai.com надеюсь владельцы сайтов не обидятся и не поменяют формат данных на сайте чтобы затруднить скачивание файлов.

Какие еще сайты можно добавить?

 

Оставить комментарий

 
  2020-12-06

Почему в npm так много плохих пакетов?

А просто любой школьник может создать новый пакет и опубликовать его!

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

Понадобилась мне на днях для одного маленького проекта библиотека cuba - такая маленькая утилита для вытягивания данных с google таблиц. Так оказалось, что библиотека перестала поддерживаться, а мне она очень нужна - уж больно удобная. Из-за маленького бага, табличка, которую я создал на Google Sheets никак не хотела импортироваться. При этом фикс простой, и Pull Request на гитхабе уже есть, но автор библиотеку давно не обновляет. Пришлось форкать репозиторий, и публиковать свою исправленную версию.

Встречайте - cuba-sheet. Теперь в npm одной плохой библиотекой больше!

 

Оставить комментарий

 
  2013-07-30

Node JS

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

Если очень кратко, то основой node.js является JavaScript движек - тот же самый, что крутится в Google Crome. Вот только его заставили работать на стороне сервера. Всё пишется на JavaScript. Хотя, нет, все работает на JavaScript - писать код можно на производных JS, например на CoffeeScript - эти извращенцы взяли и лишили JavaScript своих фигурных кавычек превратив его почти что в Python. Сам CoffeeScript затем также компилируется в JavaScript и затем уже выполняется. Есть для node.js и веб фреймфорк - называется Express - явный закос под Ruby on Rails и Jango.

Шаблоны можно писать с использованием различных шаблонных движков, например, Jade или EJS.

Так как везде используется JavaScript то код получается на редкость компактный.

Еще стоит заметить, что для того чтобы создать приложение и запустить вообще не нужен веб сервер - node.js, сам по себе, имеет возможности создать вебсервер буквально нескольким строчками кода. В общем, штука презабавная, а главное, довольно простая, правда, только для тех кто уже хорошо владеет JavaScript.

 

Оставить комментарий

 
  2012-02-29

VML в IE8

Заметил, что моя векторная библиотечка не хочет работать в восьмом эксплорере. При этом в Интернете вообще мало примеров работы VML которые бы оставались работоспособными в этом замечательном браузере. Даже на сайте Microsoft примеры VML которые прекрасно работали в шестой и седьмой версии напрочь отказываются работать в восьмерке.

При этом, вроде бы, иногда, что-то как-то работает в режиме совместимости, но не всегда, и только при определенных условиях типа наличия или отсутствия DOCTYPE и даже версии Service Pack.

Убив день на исследования я так ничего не выяснил. Кто то говорит что нужно переделать все размеры в заданные явно в пикселях, кто-то указывает на баг в количестве каскадных таблиц в IE. Каждый раз когда я, наконец, думал, что локализовал проблему она появлялась с другой стороны.

И вот когда я уже почти собрался переделать код на вывод VML в отдельном iframe который бы работал только в режиме совместимости, я нашел код который работает всегда и всезде во всех режимах - это оказался все тот же raphael. Дмитрий Барановский нашел способ обуздать IE8 - весьма неочевидным и почти магическим способом он заставил это всё работать как надо.

Обновлил свой пример для работы c VML.

 

Оставить комментарий

 
  2012-01-14

Интересная JavaScript библиотека

Набрёл на интересную бублиотечку для создания простых трехмерных визуализаций с использованием VML. Как следстивие использовазония VML работает это только в Internet Explorer. Интересно, можно ли малой кровью сделать для неё SVG реализацию чтобы она стала полностью кроссбраузерной?

 

Оставить комментарий

 
  2012-01-05

Фракталы на JavaScript, продолжение

После того, как фрактал в примере получился ну архи ме-е-е-е-е-дленным, решил немного исправить ситуацию. Все дело в том, что данную программку я написал как демо для объекта z.Canvas из z.Tools а z.Canvas - это на самом деле хелпер, который рисует графические примитивы при при помощи SVG и VML в зависимости от того, что доступно в текущем браезере. Идея была сделать именно холст, на котором можно было бы рисовать и в Internet Explorer и во всех остальных браузерах, ведь IE, как известно, до девятой версии не поддерживает SVG. Как следствие, каждый примитив на этом "холсте" будет занимать память, и если нарисовать фрактал из прямоугольников на холсте 300 на 300 пикселей, то компьютеру придется выделить память для девяносто тысяч маленьких объектов, само по себе это не сильно много, но всё равно, значительно тормозит весь процесс.

Переделать это дело на "настоящий" HTML5 canvas было делом нескольких минут, вот она, версия на Canvas, работает значительно быстрее и уже не жрет большого количества памяти.

Уже выложив, придумал, как ещё немного ускорить процесс рисования - сейчас, каждая точка рисуется в отдельном потоке через setTimeOut а это тоже страшно медленно - если делать без setTimeout процесс "подвиснет" пока не завершится рассчет фрактала, но можно сделать, чтобы рисовалась не точка но целая линия - это ускорит весь процесс без "зависания" процесса рисования.

 

Оставить комментарий

 
  2012-01-03

Фракталы на Javascript

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

 

Коментариев: 3

 
  2010-12-14

Графики на SVG/VML

Мне никак дает покоя Google Charts...

Наиболее популярными библиотеками для построения графиков на сегодняшний день являются JPGraph и Google Charts. Решение от Google - замечательное, удобное, простое, графики очень симпатичные. Однако, все графики генерируются на чужом сервере (речь идет о графиках построенных через URL API). Пользователю разрешается создать ограниченное количество графиков а потом его могут забанить. Конечно, это количество большое, но меня немного смущает сама возможность быть забаненным из за превышения количества показов. Кроме того, сервер гугла я не контролирую и никто не может гарантировать, что этот сервис будет работать вечно, или что завтра на моих графиках не появится реклама, или внешний вид этих графиков не будет изменен на тот, который мне не нравится.

Между тем, задача сделать график на экране компьютера под силу школьнику освоившему курс информатики (мы такое, помню делали в старших классах). Так зачем же отдавать такие "сложные" вычисления серверу гугла?

JPGpaph дает возможность создавать графические изображения на своем сервере, но все равно это — графические изображения, со всеми присущими графическим изображениям ограничениями.

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

На сегодняшний день в вебе наиболее популярными являются несколько технологий - Adobe Flash, Microsoft Silverlight и Canvas/SVG/VML. Выбирая между Canvas и SVG я отдаю предпочтение последнему так как эта технология позволяет создавать по настоящему интерактивные эффекты и ближе к VML используемому в браузерах от Microsoft.

Используя ztools создал несколько компонентов для построения различных графиков и диаграмм:

 

Конечно, эти компоненты еще не совершенны, это даже не бета версия. Но уже лучше чем ничего. Главным отличием от аналогичных являются: открытость исходного кода, простота, и (надеюсь) удобство использования. Замечания, пожелания, багрепорты и фичреквесты приветствуются.

 

 

Коментариев: 1

 
  2010-12-06

Векторные часики

Для одного из проектов сделал вот такие вот часики. Они должны работать во всех популярных браузерах включая IE6+, FireFox, Safary, Opera. Для визуализации в Internet Explorer используется VML для других браузеров SVG.

 
 

Оставить комментарий