LINUX.ORG.RU

Сообщения mm3

 

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

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

// ==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
()

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

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

 

mm3
()

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

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

mm3
()

LOR кинотеатр

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

mm3
()

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

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

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

 

mm3
()

подскажите MMO

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

mm3
()

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

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

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

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

|&

 

mm3
()

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

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

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

mm3
()

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

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

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

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

 

mm3
()

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

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

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

mm3
()

Google Reader rip

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

mm3
()

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

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

mm3
()

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

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

 

mm3
()

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

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

mm3
()

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

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

 

mm3
()

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

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

 ,

mm3
()

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

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

mm3
()

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

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

mm3
()

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

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

 

mm3
()

Почему IPv6 а не IPv8 ?

Вопрос навеян этим тредом

Процессоры же всё равно 8 байтовые, значит памяти, что 6 байтовый адрес, что 8 байтовый адрес будут занимать одинаково, тут мы вспоминаем про выравнивание, ага. Заголовки пакетов опять же не надо смещать, экономия на 4 байтах на пакет при нынешних скоростях сомнительная. Дискус.

 бывшая пятница

mm3
()

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