LINUX.ORG.RU

Сообщения mm3

 

поругайте js-быдлокод

Форум — Development

вдохновившись этой темой решил написать свой велосипед добавляющий лору двач-стайл функциональность:

// ==UserScript==
// @id             www.linux.org.ru-2ch-style@scriptish
// @name           LOR 2ch-style
// @version    0.1
// @author         
// @description    enter something useful
// @match      http://www.linux.org.ru/*
// @match      https://www.linux.org.ru/*
// @namespace http://www.linux.org.ru/*
// @namespace https://www.linux.org.ru/*
// @include http://www.linux.org.ru/*
// @include https://www.linux.org.ru/*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.js
// @run-at         document-end
// ==/UserScript==

(function () {

var mouseOnPopup = false;

var locationurl = $(location).attr("href").replace(/#.*$/, "");

var locatTimer = null;

var processMouseEnter = function (){
    mouseOnPopup = true;
};

var processMouseLeave = function (){
    mouseOnPopup = false; 
    processMouseOut();
};


var processLink = function (lnk, elem)
        {
            	msg = lnk.parents('article');
            	msg_title = msg.find('.title');
            	msg_body = msg.find('.msg_body.message-w-userpic');
                popup = $('<div class="2ch_popup">' + '<div class="msg_title">' + msg_title.html()  + '</div>' + '<div class="msg_body">' + msg_body.html()   + '</div>' + '</div>');
            	popup.find('.hideon-phone').parent().remove();
                popup.find('div.msg_title > a').each(function (idx,elem){processTag(idx,elem);});
                popup.find('div.answers > a').each(function (idx,elem){processLinkComments(findLink(elem),$(elem));});

                popup.mouseenter(function(){processMouseEnter();}).mouseleave(function(){processMouseLeave();});
                
                if (locatTimer){
                    clearTimeout(locatTimer);
                    locatTimer = null;
                }
                
                $('body').remove('.2ch_popup');
               
                $(popup).css('z-index', '9999')
                                .css('position', 'absolute')
                                .css('top', ($(elem).offset().top)+'px')
                                .css('left', ($(elem).offset().left+$(elem).width()+5)+'px')
                                .css('background-color','#101010')
                                .css('width', '600px')
                                .css('border-radius', '5px')
                                .css('border-width', '1px')
                                .css('border-style', 'solid')
                                .css('border-color','#face8d')
                                .css('padding', '5px')
                                .attr('rel', $(elem).attr('href'));
                 $('body').append(popup);
        };
        
var findLinks = function (msg, elem){
            return msg.find('a').filter(function(){return ($(this).text() === "Ссылка" && $(this).attr('href') == $(elem).attr('href')); });
        };
        
var findLink = function (elem){
        var msgId = $(elem).prop("href").match(/comment-(\d+)/)[1];
        var msgObj = $("#comment-" + msgId);
       return msgObj.find('.title');
    };

var processMouseOver = function (elem){
       var links = findLinks($('#comments'), elem);
       if(links.length > 0)
        {
          processLink(links, elem);
          return false;
        }
        console.log('not found');
        if($('.2ch_popup').length > 0 && $('.2ch_popup').attr('rel') == $(this).attr('href'))
            return false;        
        $.ajax({type: "GET", url: $(this).attr('href')})
        .done(function(msg){
            msg = $(msg);
            msg = findLinks(msg, elem);
            processLink(msg, elem);
        })
    };
    
var processMouseOverComments = function (elem, elemshow){
          processLink(elem, elemshow);
          return false;
    };

var processMouseOut = function (){
    if (locatTimer){
        clearTimeout(locatTimer);
        locatTimer = null;
    }
    locatTimer = setTimeout(function(){    
        if(!mouseOnPopup){
            locatTimer = null;
            $('.2ch_popup').remove(); 
        }
    }, 300);
};

var processTag = function (idx,elem){
        $(elem).mouseover(function(){processMouseOver(elem); })
        .mouseout(function(){processMouseOut();})
    };

var processLinkComments = function (elem, link){

       link.mouseover(function(){processMouseOverComments(elem, link); })
           .mouseout(function(){processMouseOut();});
    };
    
        
var processTitle = function (index, url, element) {
		var replyUrl = $("a", element).prop("href");
		var replyMsgId = replyUrl.match(/.*[\?\&]?cid=(\d+).*/)[1];
		var nick = $("a[itemprop='creator']", element.next()).text();
		if (nick == null || nick == "")
			nick = "anonymous";
					
		var msgId = element.parent().prop("id").match(/comment-(\d+)/)[1];

		$("#comment-" + replyMsgId).each(function() {

			var href = url + "#comment-" + msgId;
			var link = $("<a href='" + href + "'>" + nick + "</a>");
			processLinkComments(element, link);

			var container = $(".msg_body", $(this));
			var answersClass = "answers";
			var answers = $("." + answersClass, container);
			if (!answers.length) {
				answers = $("<div class='" + answersClass + "'>Ответы: </div>");
				answers.css("font-size", "smaller");
				container.append(answers);
			}
			if (answers.children().length) {
				answers.append(", ");
			}
			answers.append(link);
		});
    };
    
	$(".title").has("a[data-samepage='samePage']").each(function(index) {processTitle(index, locationurl, $(this));});
    $('div.title > a').each(function (idx,elem){ processTag(idx,elem); });

}());

Да, да наш девиз: «Ни года без велосипеда». И потом последняя выложенная там версия меня не устраивала по функционалу, а всё остальное что было найдено, скорее не работало чем выполняло задуманное.

Проверялось всё в Scriptish в FF 26.0 в теме Tango. И выглядит оно примерно так.

 , ,

mm3
()

Можно ли будет укротить...

Форум — Talks

... Lenovo Miix 10 и поставить на него что нибудь линусовое? Господа аналитики, интересует ваше мнение, а то приглянулся формфактор, да так, что поползли крамольные мысли купить, но не нравится ОС установленная по умолчанию.

 

mm3
()

Прекрасный мир вокруг

Галерея — Скриншоты

Здесь вы можете увидеть, как GIMP легко и непринужденно отображает небольшое изображение.
Само изображение давно уже было обсуждено на лоре (старожилы могут накидать ссылок), изначально было скачано с торентов и конвертировано в png посредством консольного редактора изображений ImageMagick. В процессе этого действия пришло осознание, что для правильно написанной программы недостаток оперативной памяти (которой у меня наскребётся не более 8 Гб) не является помехой.
На данное действие меня сподвигла вызывающе неверная фраза мельком брошенная на хабре, что нет такой программы, которая бы смогла отобразить подобное изображение в связи со слишком большим его размером.

p.s. так же самые зоркие могут углядеть System Monitor, оперативно отображающий сетевой трафик, температуру и нагрузку процессора, процент занятой памяти и свопа, заряд батареи и свободное место на файловой системе. Всё то же самое могли бы отображать и конки, только вот уже недели три я не видел обоев и даже успел позабыть, что сейчас на них поставлено.

>>> Просмотр (1600x900, 1015 Kb)

mm3
()

А в linux'е есть поддержка mutual TLS?

Форум — Security

Собственно вопрос в том как отсылать POST запросы используя mutual TLS аутентификацию по сертификатам в этих ваших линуксах?

mm3
()

LOR кинотеатр

Форум — Talks

А что за троллинг сейчас идёт вокруг какого то нового мегаблокбастера «Трудно быть богом»? Кто уже посмотрел? Как думаете, стоит сходить? Нормальна ли картинка в 3D? Хороша ли главная героиня?

mm3
()

Тазик – сервер

Форум — Talks

Кто нибудь может объяснить откуда пошла такая ассоциация вынесенная в сабж?

p.s. взято из этого списка околоайтишного слэнга

 

mm3
()

подскажите MMO

Форум — Games

что нибудь на подобе Candies идущих под линуксом.

mm3
()

помогите распарсить команду.

Форум — Development
bash -c 'find src -regex ".*\.cc\|.*\.hh" | vera++ - -showrules -nodup |& vera++Report2checkstyleReport.perl > $(BUILD_DIR)/vera++-report.xml'

вобщемто тут всё и так понятно кроме одной конструции которая вызывает сомнения.

что значит это:

|&

 

mm3
()

А вы чем питаетесь на работе?

Форум — Talks

Интересно у кого нибудь поднимется рука уничтожить такое?

так же есть и другие варианты (осторожно оффтопик).

mm3
()

Неужели windows превосходит linux...

Форум — Talks

...пусть даже в такой мелочи как максимальный размер имени файла?

ну вот посудите сами в ntfs максимальная длинна имени файла 255 16-битовых слов а в любой файловой системе православно верной ОС не превышает 255 самых обычных байт. И это системное ограничение именно ядра linux, а точнее его VFS подсистемы.

А осознал я это после того, как случилось следующее, решил я тут скачать один торент, но некоторые файлы из него отказывались качаться ссылаясь на слишком длинное имя файла. Не беда, подумал я, сейчас создадим файлик, форматнём во что нибудь более продвинутое, подмонтируем и натравим Transmission... ан нет, нет такой православно верной ФС для которой бы максимальное имя файла превышало эти заветные 255 байт, я так думаю и драйвер ntfs тоже не в силах выйти за это ограничение.

 

mm3
()

RSS помирает чтоли?

Форум — Talks

Занесла меня нелёгкая на сайт roi.ru и увидел я там блок новостей и возжелалось мне подписаться на обновления этих новостей по православно верному rss, но не обнаружил я там даже и намёка на rss-канал. И пригорюнил я.

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

mm3
()

Google Reader rip

Форум — Talks

Вот и наступила тепловая смерть IT-вселенной. Признавайтесь кто поднял себе личный TTRSS? А может кто пилит свою читалку с преферансом и куртизанками? Или все разом начали грызть кактус Feedly?

mm3
()

как в процессорах чаще всего реализована команда деления?

Форум — Talks

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

mm3
()

как объединить несколько mp3 файлов в один?

Форум — Multimedia

это вообще возможно сделать из командной строки?

 

mm3
()

А не добавить ли на ЛОР Score?

Форум — Linux-org-ru

В припадке вечернего бреда появилась странная идея: добавить на лор скор для топиков.
При этом скор топика будет символизировать степень его интересности для рядовых лоровцев.
При добавлении нового топика ему выставляется скор равным к примеру 10.
Увеличивается скор на единицу, если пользователь добавит топик к себе в избранные.
Для уменьшения скора (тоже на единицу) можно добавить ещё одну кнопку. При этом для человека который нажал на кнопку уменьшения скора топик больше не появится в трекере (и возможно в форуме).
Если скор становится отрицательным, значит топик не интересен и не отображается в трекере, но доступен на форуме, и является потенциальным кандидатом на удаление.
Если топик набирает скор больше к примеру 100, то его нельзя будит удалить модератору (но не администратору).
Для эпичных топиков набравших скор больше 500 оставляется возможность добавления комментариев даже по прошествии года со дня создания топика.

mm3
()

Какие аддоны ФФ посоветуете?

Форум — Desktop

Не поймите меня превратно, но на протяжении вот уже 10 лет, сразу после установки/переустановки очередной операционной системы, я запускал идущий по умолчанию к этой ОС браузер, набирал в адресной строке opera.com, делал пару кликов и... больше никогда не запускал встроенный браузер.
Меня абсолютно всё устраивало, и встроенный фильтр с чёрным списком, и блокиратор всяких флешей, и удобный редактируемый экран быстрого запуска со строкой поиска, и менеджер загрузки в виде таба с возможностью докачки, и удобный автоподстановщик паролей не завязанный на сторонние сервисы, и встроенный анонимизатор с функцией экономии трафика, и куча других мелких приятностей которые просто не замечаешь потому, что они есть. И ради этих приятностей я мирился и игнорировал всю ту кучу багов, глюков, зависаний, вылетов и надписей «Ваш браузер не поддерживается».
Но в последнее время что-то изменилось, что-то неуловимое ушло, испарилось. Может это связано со слишком частыми зависаниями при просмотре ютубовских роликов. Или надоело ждать минуту когда на экране отрисуется хоть что-то после нажатия на иконку браузера. И вот, после вынужденной переустановки бубунточки, у меня не возникло больше желания набирать заветный адрес.
Но на лор же заходить как-то надо, и спасаться от лавины баннеров как-то надо, и укрываться от вездесущей гуглоаналитики как-то надо. И в качестве основы для брождения по бескрайним просторам интернета был выбран Firefox. Конечно же с настройками по умолчанию им пользоваться невозможно. Но ведь есть же аддоны реализующие недостающий функционал. Но этих аддонов так много в репозитории и среди них так много бесполезного хлама, что найти что-то стоящее не зная точного названия практически невозможно.
Вот я и обращаюсь с вопросом к лоровцам: Какие аддоны к firefox'у вы можете посоветовать чтобы сделать вебсерфинг чуточку удобнее? Какие аддоны к firefox'у стоят у среднестатистического ЛОРовца?
Хвалитесь, делитесь, советуйте.

 

mm3
()

FAQ по работе с SSD.

Форум — Desktop

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

 ,

mm3
()

Азбука для самых маленьких

Форум — Talks

Самая расово верная азбука для подрастающих IT-шников -> image.jpg

mm3
()

дискриминация

Форум — Talks

Я просто оставлю это здесь - фотка

mm3
()

Разыскиваю Тукса.

Форум — General

Разыскиваю Тукса, но не простого, а векторного, да ещё и анимированного. Не видел никто такого?

 

mm3
()

RSS подписка на новые темы