Медвед

Здрассти

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

А вот мои наиболее популярные посты:
Или если интересно список меток тут: http://kolyaseg.livejournal.com/tag/
P.S. Если вы используете материал из моего блога, пожалуйста указывайте источник
P.P.S. У меня в журнале не друзьям показывается каптча. Так что это еще один повод добавиться в друзья Я добавляю в ответ всех, у кого блог не пустой и в нем не только реклама.
P.P.P.S. Ребята, не надо никогда переходить на личности. Высказывайте свое мнение о теме поста, а не обо мне. Всем кто против - бан!
Медвед

JIRA: как удалить из задачи завершенные спринты

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

Открываем поиск задач, применяем фильтры, чтобы отобразилась нужная задача (или задачи). Справа сверху жмем кнопку "Tools", открывается меню "Bulk Change", жмем в нем первый пункт, открывается мастер редактирования. На шаге 1 из 4 выбираем задачу, в которой надо поменять спринт, нажимаем "Next". На втором шаге выбираем "Edit Issues" и жмем "Next". На третьем шаге ставим галочку в строке "Sprint". Здесь же можно вписать нужный спринт, но указывать надо id-номер спринта, а не его наименование. Номер спринта можно посмотреть, открыв другую задачу и наведя мышь на ссылку на спринт справа на странице. Нажимаем "Next" и на четвертом шаге нажимаем "Confirm".

Оригинальная инструкция тут.
Медвед

Сломался WebGL в Chrome

Уж не знаю, с патчем каким-то или обновлением, но в какой-то момент в Chrome перестал работать WebGL. Вот прям так: вчера работал, сегодня перестал. В Firefox при этом все продложало работать. Выглядит это как косяки с графикой в веб-приложениях, в частности HTML5-играх. А какие-то приложения намеренно отказываются работать при неработающем WebGL:

Collapse )
Медвед

Скопировать нечитаемый текст из PDF в кривой кодировке

Часто бывает, что пытаешься скопировать русский текст из PDF, а вставляется он куда-то крокозябрами вместо кириллицы. Бывает помогает вставить этот текст в окно браузера в любую форму на странице или даже в поле поиска и оттуда его же скопировать и вставить куда надо. (Этот способ вообще универсальный для перекодировки чего бы то ни было, даже часто помогает лучше, чем декодера Лебедева). Но бывает, что и этот способ не работает.

Тогда можно попробовать распечатать данный PDF-документ принтером Adobe PDF (Ctrl+P, в списке принтеров выбрать Adobe PDF, нажать Печать и выбрать путь сохранения файла), создав тем самым новый PDF. Печатать надо именно Adobe PDF, потому что другие PDF-принтеры создадут просто PDF-картинку, из которой текст вообще не копируется, как например Microsoft Print to PDF. Из нового документа тот же самый текст копируется уже по-человечески.
Медвед

Сухой контакт Sonoff Basic

Как известно wifi-реле Sonoff Basic комутирует нагрузку 220V. Это значит, что его можно напрямую подключать к освещению, например. Т.е. провод из розетки идет в реле, а из реле непосредственно к лампочке на 220В. Это очень удобно в сети переменного тока, но если нам надо скомутировать нагрузку например 12В от реле Basic, тут уже надо применять либо дополнительное реле с управляющей катушкой на 220В, которая вставляется в цепь между прибором на 12В и выходом Sonoff Basic, либо модифицировать Бейсик для получения так называемого сухого контакта, т.е. гальванически разделить вход и выход. Для этого надо сделать пропилы в плате, перерезав две дорожки идущие к реле и соединив дорожку от нормально закрытого контакта реле с дорожкой идущей на контакт N(нейтраль) выходного клеммника:

Collapse )
Медвед

Запрет платных подписок Мегафон

Достали эти платные подписки, когда ни сном, ни духом серфишь инет через мобильный браузер и тут бац! приходит СМС "Вы подписаны на такую-то хрень. Стоимость 35 руб/сутки". Написал в поддержку Мегафона, как запретить подписывать меня на платные подписки. Говорят на постоянке этого сделать нельзя, но можно на 3 месяца, по истечении которых придет СМС с предложением продлить запрет. Для этого надо отправить СМС с текстом "УСТЗАПРЕТ1" без кавычек на номер 5151 (кстати, с этого номера и приходят уведомления о подключении всяких говно-подписок). Услуга запрета бесплатная.
Медвед

Поиск в коде места изменения свойства объекта JS

Бывают такие ситуации, когда ну вот никак не удается понять, где происходит некоторое действие или событие, например, изменение свойства объекта. Вот как раз у меня такой случай в очередной раз произошел. Где-то кто-то делает объект видимым, т.е. устанавливает его свойство "visible" в true. Я перелопатил массу кода, оттрейсил (console.log) все что только можно, но так и не смог найти места, где это происходит. Только в логе по onEnterFrame вижу, что до определенного момента было false, a потом стало true. Наверняка для поиска такой хрени есть какие-то инструменты, но о них я не знаю и пользуюсь таким приемом...

Для нужного свойства мы переопределяем сеттер и геттер и в сеттере совершаем какую-то ошибку, например делаем сложение с необъявленной переменой:

Object.defineProperties(MyVObject.prototype,
{
    visible:
    {
        get: function()
        {
            return this.__visible;
        }
	,
	set: function(value)
	{
		console.log("MyVObject visible set", value);
			
		if(value)
		{
			var a = b + 7;		// переменная b не объявлена и ее использование вызовет ReferenceError
		}
		this.__visible = value;
	}	
    }
});


Теперь при установке свойства объекта в true сработает ошибка, которую покажет консоль и мы сможем увидеть весь путь вызовов функций и методов, который привел к этой ошибке. Профит.
Медвед

Про нумерацию файлов Canon 550D

Как следует из инструкции к фотику (на 140 стр.)

Снятым изображениям присваиваются последовательные номера файлов от 0001 до 9999, и изображения сохраняются в одной папке. На компьютере отображается номер файла в следующем формате: IMG_0001.JPG. Можно изменить способ присвоения номеров файлам:

При просмотре снимков MENU -> Гаечный ключик -> Нумер. файловCollapse )
Медвед

Аналог TortoiseSVN ignore-on-commit в TortoiseGit

В свое время наша контора перешла с SVN на Git. Многие за это ратовали, кто-то был против, но что случилось, то случилось. Клиентов для Git существует немало, но мне удобнее всего пользоваться привычным "тортойзным" интерфейсом TortoiseGit. Он почти полностью повторяет функционал TortoiseSVN с оговорками на Git.

Collapse )
Медвед

Notepad++ пропавшее окно результатов поиска

Столкнулся с тем, что в блокноте пропало окно результатов поиска, вернее я его случайно подхватил за заголовок и утащил куда-то вниз. После этого ни кнопкой F7, ни сочетанием Shift+Win+стрелки вернуть его не удавалось:



Справился, нажав F11. Блокнот развернулся на полный экран и на том месте, где была панель вкладок Windows обнаружился заголовок утащенного вниз окна поиска.