Как стать автором
Обновить
53
0.1
Павел Власов @zencd

Java/Python

Отправить сообщение

Раздельное логгирование методов в Java/logback

Время на прочтение5 мин
Количество просмотров23K

Bart writing some logs


Задача


Допустим, нам захотелось логгировать каждый метод некого Java-класса по разному:


  • Для каждого метода свой лог-файл,
  • … свой формат лога,
  • … свой минимальный уровень логгирования,
  • формат лога расширяем собственными %переменными,
  • возможность обновлять эту конфигурацию на лету.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии6

Мгновенная настройка привычных файловых ассоциаций

Время на прочтение3 мин
Количество просмотров18K

Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь.


Сначала проблематика. Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужные ассоциации, бывает, и вовсе теряются при установке (или даже деинсталяции) программ: снесёшь, бывало, GIMP, а ico-файлы перешли во владение от привычного просмотрщика файлов к стандартной Photo Gallery. Почему? Зачем? Неизвестно… А если нашёл новый редактор или, по разным причинам, свежая инсталляция? А если компьютер не один? В общем, кликать мышками в диалогах — развлечение такое себе.


Вместо этого я сохранил два файлика на Dropbox и теперь привести компьютерный мир к привычному состоянию можно почти мгновенно. И чего ждал столько лет… Далее рецепт для Windows и macOS.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии10

Подсчёт md5-хэша для mp3-файла

Время на прочтение4 мин
Количество просмотров12K
Итак, нам нужно подсчитать хэш-сумму для файла MP3. Простой прогон файла через md5.exe не годится, так как файл содержит метаинформацию — теги, которые имеют тенденцию со временем меняться. Таким образом, всего лишь обновив теги в файле, мы получаем уже другую хэш-сумму, что не годится совершенно.

Кстати, для форматов FLAC и APE данная проблема практически отсутствует, так как они обычно изначально содержат хэш-сумму аудио-данных, прописываемую кодировщиком. Для FLAC’а значение можно получить командой metaflac --show-md5sum.

Далее — достаточно надёжный способ подсчёта (не перцептивного) хэша на основе бинарных данных, хранимых в MP3.

1) Подход №1
2) Подход №2
3) Теги Xing и Lame
4) Resync
5) Надёжность подсчёта

Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии13

Братство капчи

Время на прочтение1 мин
Количество просмотров849
Многие файло-хостинги (рапидшары) уже перешли на использование рекапчи, взлом которой — задача до сих пор не решённая, по крайней мере для популярного скачивальщика JDownloader. Когда JD встречает рекапчу, пользователю предлагается ввести её в течении 30 секунд. Вроде бы неплохо, но на ночь такие закачки уже не оставишь.

Проблему решил турецкий программист Selim, основав сервис Братство Капчи. Принцип простой: некоторое время ты набираешь кредит, решая чужие капчи подряд, потом другие участники братства решают твои капчи.

1) Нужно скачать клиент под Windows, captcha solver, который при установке сразу подключается к установленному JDownloader'у и отбирает у него рекапчи — руками их интегрировать не нужно.

2) При запуске регистрируется аккаунт, на котором будут копиться кредиты. Одна решённая пользовтелем капча прибавляет 8 балов, капча решённая для пользователя снимает 10 — немного больше чтобы система оставалась на плаву.

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



Не знаю как другие, но я встретил такую проблему что не все капчи передаются на сервер Братства, некторые появляются через стандартный поп-ап JDownloader'а (может оттого что не было решателей онлайн?), но всё же значительная их часть решается «сама».
Всего голосов 9: ↑6 и ↓3+3
Комментарии7

Оптимизация HTTP-сервера через версионность ресурсов. Особенности реализации

Время на прочтение5 мин
Количество просмотров3.2K
  1. Суть оптимизации
  2. Page load vs forced refresh
  3. Потребуется автоматизация
  4. Реализация серверной части
  5. Оптимизация серверной части
  6. Особенности google app engine
  7. Исходный код
  8. Резюме


Рассматривается пример реализации для Google App Engine / Python.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии23

Быстрая публикация скриншотов

Время на прочтение2 мин
Количество просмотров5.3K
Постить скриншоты довольно заморочно если всё делать руками. Но возможен и более лёгкий сценарий:
1) жму Alt+Ctrl+S
2) появляется редактор с готовым скриншотом
3) обрезаю картинку, закрываю редактор
4) картинка сама загружается; ссылка на картинку оказывается в буфере обмена

Как это сделать — для тех кто знает что такое bat-файлы и сумеет установить пару Python-модулей.
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии30

Вышел Firefox 3.7 alpha 4. Изменения

Время на прочтение2 мин
Количество просмотров838
Четвёртый пре-релиз Firefox 3.7 / Gecko 1.9.3 готов. Изменения с прошлого пре-релиза.

Пользовательский интерфейс


— Если уже открытая вкладка подпадает под критерии вашего запроса в адресной строке, то в выпадающем списке отобразится предложение «переключиться к этой вкладке».
— Размеры многострочных полей ввода (textarea) изменяемы вручную (теперь фича включена по умолчанию).

Читать дальше →
Всего голосов 82: ↑67 и ↓15+52
Комментарии111

Изменения относительно селектора :visited в Firefox

Время на прочтение1 мин
Количество просмотров2.6K
CSS-селектор :visited представляет собой известную опасность когда злоумышленный сайт с помощью вызова getComputedStyle() может узнать какие другие сайты вы уже посетили до этого, причём делать это со скоростью до 210 тысяч проверок в минуту (в Сафари значительно больше).

Серьёзно относясь к privacy, мы в Mozilla в скором времени собираем залатать эту дыру. Ещё неизвестно в какой билд Firefox будут включены нижеследующие изменения, но приглядеться к ним можно уже сейчас:

— функция getComputedStyle (и такие функции как querySelector) отныне будет говорить не совсем правду. Она будет возвращать такое значение, будто пользователь никогда не посещал заданный адрес;
— посещённые ссылки по прежнему можно будет стилизовать по своему, но только ограниченным набором CSS-свойств: color, background-color, border-*-color, outline-color, fill и stroke. В остальном, для стилизации посещённых ссылок будет использоваться стиль какой бы применялся для непосещённых. Также, для установки значений вышеприведённых CSS-свойств вы не сможете использовать функции rgba() и hsla() и использовать прозрачность с ними.

Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии52

Как сделать неудаляемое расширение или вобще спрятать его

Время на прочтение1 мин
Количество просмотров1.5K
Прописываем в реестр Windows ключ:

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\extensions]
«xxx@yyy»=«F:\WINDOWS\Temp\xxx@yyy»

Где имя ключа — UID вашего расширения, а его значение — абсолютный путь к папке расширения (там должны лежать install.rdf и прочее — всё как обычно).

При ближайшем запуске лиса это расширение найдёт и оно будет вечно висеть в списке Tools/Addons, ибо пункт «Uninstall» для таких недоступен. (Задизейблить его всё-таки можно — налицо просчёт Мозиллы.) Причём установится оно без уведомлений, то есть средний пользователь лисы может о нём и не узнать никогда.

Есть и другая опция — скрыть расширение из общего списка. Достаточно в install.rdf расширения установленного по вышеописанному методу прописать строку <em:hidden>true</em:hidden> и — вуаля! — код работает втихую, в списке аддонов не показывается, а пользователь спит крепче прежнего. И не придерёшся — всё согласно API.

Но. Буквально следующей версии Firefox 3.6 «Namoroka» последняя (hidden) лавочка будет прикрыта — наверное закончился контракт с силами тьмы. А просуществовала она со времён версии один ноль.

Мой пример такого расширения. Ещё.
Читать дальше →
Всего голосов 29: ↑12 и ↓17-5
Комментарии9

Магазин виджетов с информационной и новостной графикой для интернет-изданий

Время на прочтение1 мин
Количество просмотров1.3K
Дизайн-бюро Артёма Горбунова открыло сайт infograms.ru через который будут распространятся инфограммы — интерактивные диаграммы на Flash, каждая на свою тему. Такую инфограмму можно безвозмездно вставить в личный блог; для коллективных блогов, форумов и СМИ это стоит 1000 руб./штука.

Вот скриншот первой ласточки (извините, тысячи на флэшку не нашлось):



Говорит и показывает Артём Горбунов:
Эту инфографику мы сделали в виде виджета, который можно вставить на сайт издания в статью вместо иллюстрации. Это первый продукт в магазине инфограмм который мы открываем через несколько часов и это будет первым продуктом который выйдет здесь. Дальше, начиная с 15 января, мы будем выпускать по три инфограммы в неделю, дальше будем наращивать это количество. Сейчас интерактивная инфографика — это достаточно горячая тема, наилучшие вещи сейчас происходят на Западе, в газете, например, “Нью-Йорк Таймс” — там делаются совершенно сумашедшие вещи. Мы хотим чтобы на сайтах наших изданий и СМИ появился тоже такой формат.

Мы работаем с информационными партнёрами, первым из которых стал Фонд “Общественное Мнение”. Вместе с ними мы будем делать инфографику в разрезе социологии на самые разные темы: политика, общество… на более популярные, скорее научно-популярные темы. Например у нас будут вещи связанные с научной визуализацией… рассказать людям чуть больше о том что такое грипп, как он работает, почему он свиной, козий и так далее. Другим партнёром является “Фонд дикой природы” и совместно с журналом National Geographic мы делаем инфографику на тему сохранения тигров.
Всего голосов 48: ↑40 и ↓8+32
Комментарии29

Концепт мобильного телефона для пожилых

Время на прочтение4 мин
Количество просмотров6.4K
Что нужно от телефона:
— принимать звонки;
— звонить на новые номера, с ручным набором;
— звонить из телефонной книги;
— самостоятельно заполнять телефонную книгу.

Список из четырёх пунктов не такой уж маленький потому что с «обычными» аппаратами мои пожилые родственники могут ещё меньше: приём, ручной набор, и fast dial одной цифрой. На практике, телефонные книги забиваются и обновляются более младшими родственниками, всё что сверх fast dial'а записывается ручкой на обычной бумаге. Случайные смс вслух читают те же родственники.

В своём проекте я попытался дать им возможность воспользоваться всеми этими базовыми функциями за счёт урезания остальных. Вот видео-макет концепта, а ниже подробно расписано что и почему было сделано:


Сделано целиком на Sony-Ericsson W880i, кстати.

 

Проблемы «обычных» телефонов


— Непонимание целевой аудиторией структуры меню — базового механизма управления устройством.
— Как следствие, лёгкость попадания на непонятные скрины и такая же трудность выхода оттуда.
Читать дальше →
Всего голосов 48: ↑35 и ↓13+22
Комментарии79

Нужны ли все эти файлы в C:\Windows

Время на прочтение1 мин
Количество просмотров10K
Папка Windows XP занимает на моей машине 2309 МБ. Стало интересно — действительно ли всё это добро ей необходимо, особенно если учесть что RAM в 10 раз меньше, а свопится она не то чтобы уж очень сильно :-) Свежая инсталяция занимала, кажется, мегабайт 800, и вот так вот разрослась… При этом прибавления функционала я не заметил, а тормозов прибавилось.

Я натравил маркоруссиновичевскую программу Process Monitor следить за любыми обращениями к файловой системе с момента следующей загрузки. После перезагрузки запустил браузер, посмотрел ролик на ютуб, пара раундов в КС, запустил торренты, посмотрел фильм — успел за 15 минут. Проанализировал лог.

Оказалось что за мою сессию были использованы:
— 7% регулярных файлов по объёму или
— 4% по числу.

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

Техническая информация...
Всего голосов 46: ↑16 и ↓30-14
Комментарии29

82 домена Google — продолжение

Время на прочтение1 мин
Количество просмотров1.1K
Два года назад Google в один день зарегистрировала 82 домена. С тех пор:

один, выставлен на продажу неизвестным товарищем,
другой редиректит на www.google.com/finance,
— остальные 80 так и не припаркованы.

«по мнению многочисленных блоггеров, масса имен проливает свет на планируемые компанией проекты и разработки»
И как, пролило?
Всего голосов 74: ↑58.5 и ↓15.5+43
Комментарии40

Плюсы и минусы мульти-мониторной конфигурации

Время на прочтение4 мин
Количество просмотров31K
Желание стать эффективнее и производительнее приводит многих дизайнеров к поиску методов улучшения рабочего процесса. Одно из распространённых решений — использование нескольких мониторов, способное дать значительные преимущества. В этой статье рассматриваются «за» и «против» такого решения.

«ЗА»


+1) Производительности труда растёт


Наибольшее преимущество — это, конечно, рост производительности труда.

Было проведено немало исследований, которые пытались подсчитать как именно меняется производительность труда от внедрения мульти-мониторной системы. В соответствии с исследованием Jon Peddie Research производительность вырастает на 42%.

В отчёте Pfeiffer 2005 года говорится что в результате повышения производительности, инвестиция во второй монитор (или увеличение диагонали первого) может дать годовой прибыли до нескольких тысяч американских долларов.

Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии105

Как поделить пирог чтобы все остались довольны

Время на прочтение2 мин
Количество просмотров2.7K
Есть задача — разделить некое целое между несколькими претендентами и чтобы при этом каждый остался доволен. Причём разделить в реальных бытовых условиях — пирог, например — с линейкой и циркулем вокруг него не сильно удобно бегать, да и целое бывает неоднородным.

На двоих


Первый делит, второй выбирает. Соответственно, первый старается поделить поровнее, чтобы впоследствии порадоваться любой доставшейся доле.

Философская идея


Почему не остаётся недовольных? Потому что каждый обладает всей полнотой выбора, при этом — о чудо — не притесняя соседей. Почти 200% свободы :-) С решением внешнего судьи — выбранного человека или судьбы при жеребьёвке — всегда могут несогласиться (хотя бы внутренне), здесь же каждый участвует в вершении своей судьбы потому что что-то делает, а не только принимает чужой вердикт.

Альтернативные решения и подобные задачи приветствуются.

На троих (уже посложнее)


Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии28

Audiotag.info — новый сервис распознавания музыки

Время на прочтение2 мин
Количество просмотров38K


Александр Радзишевский, владелец небезызвестого ресурса www.websound.ru, на днях открыл сервис AudioTag, позволяющий узнать имя исполнителя и название композиции по небольшому фрагменту композиции — достаточно загрузить лишь 15-30 секундный отрывок (или композицию целиком).

В основе сервиса лежит сложный механизм распознавания аудио, объединяющий технологию аудио-отпечатков и большую базу аудио-музыкальную данных. Когда вы загружаете файл, специальный алгоритм преобразует его в так называемый «аудио-отпечаток», который и используется для поиска в базе данных. В результате такого распознавания обнаруживаются один или несколько треков-кандидатов, совпадающих с обработанным файлом с той или иной вероятностью.

— алгоритм скорее не распознАет трек, чем распознает его неверно
— алгоритм распознаёт треки с некоторой вероятностью
— в случае нахождения нескольких вариантов, результат сортируется по этой вероятности
— распознаются ускоренные и зашумлённые треки
— музыкальная база содержит более миллиона треков, в том числе немало русских
— интеграции с плеерами (пока?) нет, только онлайн
— денег не берут

Секреты алгоритма создания слепков и источника музыкальной базы автор не раскрывает. Однако, что касается первого — они уже существуют (хоть я и не понимаю как это чудо работает, но по форме это что-то вроде MD5), а по второму вопросу, возможно, были задействованы ресурсы какого-нибудь «знакомого» онлайн-магазина — всё-таки миллион треков это очень много, да и вряд ли Алекс держит в личном архиве столько попсы :)

Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии49

Теперь новые комментарии скроллятся ещё и горизонтально :-/

Время на прочтение1 мин
Количество просмотров501
Раньше по Alt+Shift+C страница скроллилась вертикально, а теперь ещё и горизонтально. Таким образом, текущий комментарий оказывается всегда в верхнем левом углу. Firefox only feature seems.

1) Текст с нулевым левым марджином труднее читать.
2) Ухудшилась ориентация в пространстве, т. к. нельзя оценить уровень вложенности, отступа.
3) Приходится скроллить горизонтально (влево), когда отказываешься от услуг этой механики и начинаешь перемещаться по странице комментариев обычными средствами.
4) Вертикального скролла достаточно (чтобы выделить текущий комментарий средь прочь их).
5) Если снизу находятся комментарии с меньшим уровнем вложенности, их невозможно окинуть быстрым взглядом (таким взглядом обычно и «читаются» интернеты), ибо они будут обрезаны слева.

Верните как было!

«Нехорошо! Я сообщу. Я доложу.» (с) НОМ, «любовь инженера»
Всего голосов 15: ↑8 и ↓7+1
Комментарии5

Скорость имеет значение

Время на прочтение1 мин
Количество просмотров1.1K
Вице-президент Google, Марисса Мейер, на конференции Web 2.0 поведала историю об одном пользовательском тестировании. Группа пользователей Google была опрошена на предмет, сколько результатов поиска они хотели бы видеть на одной странице. Те просили показать побольше, больше чем те 10 штук что поисковик выдаёт обычно. «Много не мало», говорили они.

Специально для них, Гугл увеличил выдачу до 30 результатов. Объём трафика и доходность сократились на 20%.

Почему им не понравилось? Ведь всё было сделано именно так как они сами хотели.

Оказалось, изменилось кое-что ещё. На генерацию страницы с десятью результатами у сервера уходило 0,4 секунды, на страницу с тридцатью — 0,9.

Всего лишь полсекунды разницы уменьшило трафик на 20% и испортило впечатление пользователей о сайте.

Такой вывод может стать сюрпризом — разве люди заметят задержку в полсекунды? — но в Amazon.com мы получали похожие данные. В порядке тестирования, мы понемногу задерживали отдачу страницы сервером и обнаружили что даже небольшие задержки приводят к значительному и дорогостоящему падению прибыли.

Потом Марисса рассказала что после того как, в своей новой версии, страницы Google Maps стали весить меньше, а карты отрисовываться быстрее, объём трафика незамедлительно вырос, как и использование сервиса вообще.

Урок в том, сказала Марисса, что скорость имеет значение. Люди не любят ждать, так что не заставляйте их делать это.

Via Fresh GUI.
Всего голосов 80: ↑77 и ↓3+74
Комментарии56

Информация

В рейтинге
2 371-й
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность