LiveJournal TabIndex Greasemonkey plugin

Взьярённый от нововведений ЖЖ, набросал махонький Greasemonkey-скрипт, чтобы комментарии по-прежнему отправлялись в стиле Write-Tab-Space-Style

// Adding TabIndex to LJ Post button user script
// version 0.1 BETA!
// 2010-09-01
// Copyright © 2010, Andrew Jumashev
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: https://addons.mozilla.org/en-US/firefox/addon/748
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to «Install User Script».
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select «TabIndex LiveJournal», and click Uninstall.
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name TabIndex LiveJournal
// @namespace http://www.skazkin.ru/
// @description This is a quick patch on LiveJournal innovation with adding FB and Twitter repost options. This script supports old Write-Tab-Post style for writing comments.
// @include *.livejournal.com/*
// ==/UserScript==

Читать пост целиком »

Колоризируй это, колоризируй то

Иногда людям приходят в голову странные мысли и они спрашивают — «А как подсветить в блоке первые N символов но чтоб типа без встроенных тегов?»

Никак.

Ну, или так:

<script>
function colorize (id, num, empty, styleClass){
    // id - ID элемента
    // num - сколько символов подсвечивать
    // empty - считать ли пустые символы за символы для подсветки
    // styleClass - какой класс присваивать символам?
    var obj = document.getElementById (id);
    if (!obj) return;
    var regex = empty ? /^((?:[^\s]\s*){3})/ : /^(.{3})/;
    obj.innerHTML = obj.innerHTML.replace (regex, «<span class='»+styleClass+"'>$1</span>");
    
}

Читать пост целиком »

Perl 6 — или грядёт апокалипсис

А знаете ли вы о том, что в Perl6 можно будет сделать так:

«perl -le 'say q[Hello];'»

?

А можно будет сделать и так:

«perl -le 'q[Hello].say;'»

Это — апофеоз.

Локальные модификаторы в RegEx — используй кластер, Люк

В жизни каждого программиста наступает момент, когда ему надо выцепить кусок текста, независимо от регистра — но в контексте зависимого от регистра текста.

На помощь приходят локальные модификаторы — например, — в пределах кластера это будет так:

— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?i:a) b/;'
ok
— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?i:a) B/;'
— bash-3.2$

Читать пост целиком »

Bidirectional pipe для mystem в Perl

Когда нормализуешь слова с помощью mystem — лучше использовать bidirectional pipe, вместо того, чтобы каждый раз открывать новый процесс.

Это очень просто.

Учитывая долбанутость mystem, мы будем отбрасывать слова с цифрами и ждать подольше. На всякий там. Пробелы он превращает в _, так что триггеры обоснованы.
Читать пост целиком »

SQL-извращения для JIRA

Запрос оброс мясцом и приобрёл вид типа CONCAT (TRUNCATE (SUM (IF (wl.timeworked IS NULL, 0, wl.timeworked)/3600),1),' h.'), конструкций :)

Ещё немного — и из этого родится или create view, или же он сьест мой мозг :)))

JIRA гаджет — перенос сурцов на другой инстанс

Делал плагин для JIRA. Запихнул сурцы в Dropbox, снёс систему, переставился, синхронизировался.

Открываю проект в NetBeans — а он мне — Mailformed Maven Project. Download deps ни к чему не привели.

Решение проблемы — это JIRA SDK. Качаем, ставим в PATH папку bin, и из папки сурцов плагина делаем atlas-run. Он подсосёт всё необходимое для системы самостоятельно.

Opera, Firefox и священная война

Под iPhone вышла Опера.

Попробовал и на компьютере ее поставить. Ну как была куцая — так и осталась.

Я пользуюсь FireFox, потому что уже не могу без милых плагинчиков — LiveHTTPHeader, TamperData, FoxMarks — да хоть того же FireBug. В Opera же так и не удосужились сделать что-то кроме виджетов — это чисто казуальный браузер, видно.
Читать пост целиком »

WoW — гребем достижения в ЖЖ

Суть проста — выгрести из Армори последние ачивы, проверить — не постили ли раньше, запостить в ЖЖ.
Накидалось на коленке, я использую БД в расширенной версии скрипта — но решил и такой мелкий написать :)
UPD — чёт ппц криво получился этот сниппет в опубликованном виде. Аттачу ссылку на оригинал.
Plain-Text
Читать пост целиком »

Perl, RegEx и LookAhead — форматируем MAC-адрес

Задача — из 001e8c15ffbc сделать 00:1e:8c:15:ff:bc

Решение —

perl -le 'my $x = «001e8c15ffbc»;$x =~ s/(...(?!\Z))/\1:/g; print $x'

Разберем по кусочкам этот примитив.
(...(?!\Z))/\1:

... — два любых символа (можно написать длиннее, если сомневаемся, что к нам придёт именно мак) — например, [a-f\d]{2}
(?!\Z) — заглянем вперёд — нет ли там конца строки. Если есть — не попадаем в условие и, соответственно, не заменяем.
Читать пост целиком »