La blog ala la la

And the life goes on..

Subscribe to RSS feed

Sticky post

My other pages

, , , ...

My scripts/modifications (mostly in Russian) page (страничка моих скриптов и модификаций):
http://userscripts.org/users/208877/scripts.

My public extensions list:
https://addons.opera.com/en/addons/extensions/?query=dithersky

GitHub page:
https://github.com/Dither

I still prefer to use UserJS and UserCSS as they provide compatibility with FF/Chrome GM scripts/css. And they are way more simple for inexperienced coder like me. Though extensions are good, because they are so user-friendly. So I'll be fixing part of my favorite UserJS to work as extensions if their functions doesn't degrade along the way.

Sticky post

Useful things

, , , ...

Posted below are my modifications and extensions. All mods have been done just for my own convenience. Use any of them if you like but don't ask me for a new features. If you have a bug in some script - post JavaScript console log about it here and I'll try to fix it in a free time.

Extensions
Blog posts:
Readable JavaScript  |  Notify-it  |  [mod] AutoPatchWork  |  [mod] NoAds Advanced

Read more...

NPAPI + Growl = desktop notifications right now

, , , ...

Thinking about notifications... I've tried to add Growl support with NPAPI plugin for a full-fledged (styles, sounds etc) desktop notifications from a lot of places (in extensions, widgets, userjs and pages).

The preliminary result is here: growlit.exe (NSIS installer for v0.0.0.2).

MD5:
42bd08d84f84be3145e235518f274585 *growlit.exe

To use it you need to install latest Snarl or Growl, set Allow network notifications and add password (growlit for the test case). To install run the installer and point it to browser's NPAPI plugins folder.

Checked with the following page:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>GrowlIt</title>
<script>
var growl;
function init() {
  growl = document.getElementById('plugin').GrowlIt('growlit'); // GrowlIt('password')
}
function test() {
  growl.config("warn", "Lorem ipsum dolor sit amet, consectetur adipisicing elit.", "Test"); // type, text, title
  var result = growl.show();
}
</script>
</head>
<body onload='init()'>
<object type='application/growlit' id='plugin' width='0' height='0'> </object>
<button onclick='test()'>TestMe</button>
</body>
</html>

UserCSS: HTML to markup and more

,

Some UserCSS' I've found very convenient up to the day:

Read more...

6 причин противостоять ACTA

, ,

Перевод с http://killacta.org:

  • ACTA надолго зафиксирует в странах устаревшие копирайтные и патентные законодательства. Если общество захочет демократично установить менее строгие нормы, отражающие реальное состояние дел в Сети, ACTA будет мешать их реализовать.
  • ACTA криминализирует пользователей, делая невинные некоммерческие ремиксы чуть ли не преступлениями "в особо крупных". Уже сейчас начинающие авторы могут достигнуть этих самых "крупных" благодаря популярным платформам вроде Youtube. ACTA, аналогично SOPA, означает угрозу будущим Джастинам Биберам всего мира сесть в тюрьмы.
  • ACTA криминализирует обычные сайты, делая их ответственными за действия пользователей в форме "пособничества и подстрекательства". (art 2.14.4). Как и с SOPA, основатели сайтов могут быть оштрафованы или даже хуже, упрятаны за решётку, за нарушения авторских прав пользователями их ресурсов.
  • ACTA позволит владельцам авторских прав использовать смехотворно раздутые предлоги для предъявления исков о возмещении убытков (основываясь на недоказанной идее, что каждая скачка данных равноценна потере денег от продаж). Будто текущих исков против отличных артистов, создателей роликов, студентов, домохозяек и различных некоммерческих проектов им не достаточно.
  • ACTA закрепит за "Комитетом ACTA" постоянное право обходить демократию под предлогом "внедрения поправок к ACTA" (art 6.4). Другими словами ACTA выдаёт "чек на неуказанную сумму" будущим комитетам. Такие возможности идеально подходят для заключения скрытых договорённостей между сторонниками SOPA, вроде MPAA.
  • Торговые соглашения это рай для тех, кто хочет создать лазейку в законодательстве и тех, кто под видом законности хочет обойти демократичность. Это закулисный процесс, который подогнан специально для завязанных политически компаний. Стоят ли за этими актами киностудии? В этом они доки. Если мы не сможем сделать закулисные торговые соглашения труднее к принятию, чем закон в США, наше будущее окажется в руках лоббистов, стоящих за SOPA.
Оригинал: La Quadrature du Net.

Tab stacking is NOT here

, , , ...

It's sooooo annoying. scared I hate it and wish developers add an option to disable it via opera:config. It is pretty much possible. To check non-tab-stacking goodness you need to replace this data (in regexp format):
 FF 75 08 E8 (.{4}) 8B F8 3B FB 74 (.) 53 57 E8 (.{4}) 85 C0 74
to this:
 FF 75 08 E8 $1 89 DF 3B FB 74 $2 53 57 E8 $3 85 C0 74
in some well known dll and see the result. Tested on 12 and late 11 builds.

It's convenient to download perl or its main module from http://www.mediafire.com/?r4aggm8fbgbtzcm and run patch (commenting off unneeded parts):
perl -W -f -- "fix.pl"

Notify-it

, , , ...

Extension (Opera 12 only):
https://addons.opera.com/en/addons/extensions/details/notify-it

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

I have wrote a small helper extension for other extensions to notify user about something.

Project repository // Репозиторий проекта: https://github.com/Dither/notify-it

Usage example: // Применение:
document.addEventListener("DOMContentLoaded", function() {
// At first we must initialize message object and assign its attributes.
 var message = {
    extension: 'my-extension', // mandatory extension name
    text: 'Message #', // message text
    type: 'error', // message type
    expire:-1, // expiration time: never expire
 };
 // Then send CustomEvent named 'Notify.It' to the current document.
 var evt = document.createEvent('CustomEvent');
 evt.initCustomEvent('Notify.It', false, false, message);
 document.dispatchEvent(evt);
}, false);


Full text RSS news

, , , ...

Основная причина, по которой я ещё не перешёл на Хром, это поддержка Оперой встроенного клиента RSS. В принципе Хром поддерживает Google Reader, но тогда я лишаюсь самой большой радости встроенного клиента: настраиваемого локального прокси для чтения в RSS полных новостей с сайта без его рекламы и интерфейса.

Делается довольно просто:
  1. Ставим Apache HTTP server или что-то подобное. wait
  2. Устанавливаем и настраиваем PHP.
  3. Устанавливаем Full-Text RSS (желательно последнюю версию rolleyes).
  4. Дописываем код кеширования больших картинок и преобразования небольших в data-URI.
  5. Добавляем персонализированные шаблоны для сайтов. star
  6. Через Full-Text RSS берём RSS этих сайтов и они разворачивются в полнотекстовые версии.
  7. Читаем новости не выходя из почтового клиента и полнотекстово ищем по ним в оффлайне.
  8. РАДУЕМСЯ! spock cheers yes



The main reason I have not switched to Chrome is built-in RSS reader in Opera. Well, Chrome supports online readers like Google Reader, but then I'm missing the biggest joy of the integrated client. That is possibility to use configurable local proxy for reading full text news in RSS without advertising and site interface.

It is quite simple:
  1. Install Apache HTTP server or something like that. wait
  2. Install and configure PHP.
  3. Setup Full-Text RSS (preferably the latest version rolleyes).
  4. Add PHP code for caching of large images and converting small ones into data-URI form.
  5. Add custom site patterns. star
  6. Use Full-Text RSS to get RSS feeds from those sites.
  7. Read full news from Opera and do full text search in them offline.
  8. JOY! spock cheers yes

Установка расширения в режиме разработчика

, , ,

Скачиваем архив расширения из репозитория на github:
Перетаскиваем на окно Оперы файл config.xml из распакованной, к примеру 7zip-ом, папки расширения. Распаковать можно в любое удобное место на диске:
Теперь расширение должно появиться в списке из меню:
Расширения -> Управление расширениями -> Режим разработчика.

Чтобы можно было быстро обновить расширение с гитхаба можно поставить TortoiseGit.

[mod] AutoPatchWork 1.9.5

, ,

Extension:
autopatchworkopera-1.9.5b.oex
I've modified AutoPatchWork for additional functionality and stability. The new stuff:
  • custom SITEINFO patterns in JSON-format;
  • changed the interface, statusbar and separator pages;
  • you can manually configure CSS for the separator and the statusbar;
  • fixed bugs in SITEINFO-manager;
  • fixed method of storing settings to the Opera's native (less bugs with the settings);
  • fixed browser detection method;
  • optionally location reflects currently loaded page;
  • new page URL can now be retrieved in AutoPatchWork.DOMNodeInserted event handler.
I hope original's author will add it to the main branch. And if no, there is always here. smile You can install developer version from github by dragging config.xml from extension root folder to the Opera window.

Project repository / Репозиторий проекта: https://github.com/Dither/autopatchwork-opera

Read more...

[mod] NoAds Advanced 1.3.2

, , , ...

Расширение было опубликовано Gemorroj'ем в официальном каталоге расширений Оперы. Все дальнейшие вопросы в комментариях и багрепортах по этой ссылке. Эта запись останется только в исторических целях и для персональных модов.

Extension (Opera 11.10+ only):
noads-advanced-1.3.2b.oex

Added support of URL filter API and corresponding subscriptions, export settings as files and Opera MagicFunction/MagicVariable blocker support. Sure-kill until they actually fix something instead of display:none to block ads by selectors. coffee

Добавлены экспорт настроек в виде файлов, Оперовская MagicFunction/MagicVariable для блокировки заданных функций/переменных и ​​поддержка URL filter API: максимум, что можно выжать из Оперы пока не придумают аналога или не вернут старое поведение CSS атрибута display:none. coffee

FAQ / ЧаВо: https://github.com/Dither/noads-advanced/wiki/
Project repository / Репозиторий проекта: https://github.com/Dither/noads-advanced

Read more...

My favorite skins

, , , ...

"Like Chrome" skin for Opera. Don't know why it looks so fu__ed up on new Next installations. Is it about fonts or font sizes maybe? How am I supposed to debug that?!
opera_like_chrome.zip

"µtiful!" skin for uTottent, can't download it from uTorrent skins repository somehow.
uTorrent.zip

Ох уж эти современные браузеры...

,



Readable JavaScript extension for Opera 11.10+

, , ,

Extension for auto-formatting of JavaScript code.


It is triggered by clicking yellow popup which appears on top of a page for files with .js extension in their URL. Also you can call simple JavaScript formatter using extension's toolbar button. The button can be disabled in preferences.


This extension supports optional syntax highlighting based on Google's CodePrettify parser but it is very slow and sometimes hurts my eyes with strange guessing so personally I don't recommend to enable it.

Read more...

Кто такой согл?

,

Я бы обновил, но надо убедиться, что согл это не заморское ругательство. И почему "щелчек", а не "щелчок", может это как-то связано со щелями, чеками и Фрейдом? Ну а сначала принять, и только потом уже обновить, это так по русски! x_X