Search
Write a publication
Pull to refresh
3
0
VEnis @VEnis

User

Send message

Интерактивная обучающая онлайн-игра «Осваиваем нотную грамоту и лады на грифе гитары».

Reading time1 min
Views14K
На прошлой неделе в рамках проекта Гитара.By — Белорусский гитарный сайт, была запущена интерактивная обучающая онлайн-игра, которая призвана помочь начинающим гитаристам в освоении этого замечательного и всеми любимого инструмента.

image



Основная задача игры: помочь гитаристу быстро, эффективно, наглядно и в игровой форме преодолеть «нотный барьер» и приобрести навык быстрого нахождения ладов на грифе гитары.
Читать дальше →

Многоуровневое дерево с маркерами (только HTML, CSS, без Javascript)

Reading time5 min
Views24K
Многоуровневое дерево с маркерами (только HTML, CSS)До того как заняться верской гитарных аккордов (статьи 1,2,3) я столкнулся с необходимостью сделать человеку на сайте меню-дерево. Рисовать не хотелось вообще, поэтому я взял старый добрый HTML с CSS и начал делать это дерево, начал с простого одноуровневого, а позже сделал многоуровневое с маркерами, которое и представлю.

Позже это дерево дало мне плоды в виде habrahabr.ru/blogs/css/53792
Читать дальше →

Простой цифровой термометр своими руками

Reading time3 min
Views173K
Наткнулся недавно в интернете на интересный материал, идея заинтересовала, но после сборки отказалась корректно работать, погуглив дальше наткнулся на другой вариант, который и представляю.

Простой цифровой термометр с подключением через COM-порт.


Читать дальше →

Идея: функция форматирования для удобной локализации строк

Reading time2 min
Views1.4K
Проблема: при переводе приложений на другие языки (чаще мы сталкиваемся с русификацией англоязычных продуктов) чаще всего страдает поддержка множественных форм чисел. Например, «1 заметка, 2 заметки, 5 заметки» или якобы универсальное «1 file(s)» и т.д. Дело в том, что во всех языках программирования обычно дело не идет дальше варианта sprintf() или какого-то шаблонизатора, а поддержку множественных форм надо каждый раз программировать ручками: если N = 1, то «1 заметка», иначе «N заметок». А делать это каждый раз лениво. Эту задачу частично решает фреймворк gettext, где есть понятие нескольких вариантов локализованной строки, но это не сильно облегчает жизнь, ибо в одной строке, показываемой пользователю, может быть несколько частей, зависящих от чисел («Найдено 23 файла в 3 папках»), а значит куски строк надо потом все равно склеивать между собой.

Поэтому мне пришла следующая идея: почему бы не придумать какой-то общий формат, микроязык (по аналогии с вполне устоявшимся форматом функции format() или sprintf()), чтобы адресовать эту проблему и упростить в дальнейшем написание локализуемого кода.

Как известно, в разных языках разное количество множественных форм числа. В английском их два («1 file», «many files»). В русском — три («1 файл», «2 файла», «много файлов»). В арабском их вообще, как говорит нам Pootle, аж 6 штук. Поэтому нам нужно иметь возможность задавать прямо в строке набор из нескольких подстрок и параметр, от которого зависит выбор этих подстрок.

Предлагаемый формат подстроки с множественными вариантами:
{%COUNTER%|FORM0|FORM1|FORM2[|FORM3][|FORM4][|...]}

где
%COUNTER% — это некое имя переменной, которое может иметь значения [0,1,2,3,...]
FORM0 — это версия строки для значения COUNTER = 0 (это особый случай, обычно требующий отдельного сообщения)
FORM1, FORM2 и т.д. — это альтернативные варианты текста для каждой множественной формы данного языка; для английского это будет два варианта, для русского — три и т.д.

Пример на английском языке:
{%F%|No files|1 file|%F% files} found in {%D%|0 folders|1 folder|%D% folders}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => No files found in 1 folder.
%F% = 1, %D% = 2 => 1 file found in 2 folders.

Тот же пример строки, переведенной на русский:
{%F%|Не найдено файлов|1 файл найден|%F% файла найдено|%F% файлов найдено} в {%D%|0 папках|1 папке|%D% папках|%D% папках}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => Не найдено файлов в 1 папке.
%F% = 1, %D% = 2 => 1 файл найден в 2 папках.

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

Было бы здорово иметь реализацию подобного микроязыка на разных языках программирования.

Надеюсь, кому-нибудь идея пригодится.

UPD: Результат не заставил себя долго ждать: в данном топике хабраюзер webdew делится реализацией функции на C#, за что ему большое спасибо.

Круговая прокрутка а-ля iPod на тачпаде

Reading time2 min
Views4.3K
Всем известно, что мультитач и прочие удобные трюки тачпадов от фирмы Synaptics, которые стоят практически на всех ноутбуках, зачастую реализуются драйвером тачпада и от аппаратной составляющей мало что зависит. Вот только поддержка их на разных системах разная.
Около полугода назад я, покопавшись в сети, настроил себе нажатие двумя пальцами на правую кнопку мыши, а тремя — на левую, после чего стал переносить руку на мышь гораздо реже. Но хотелось несколько большего.
Порывшись в man synaptics, нашел там интересную вещь под названием CircularScrolling, что в переводе означает «круговая прокрутка». Многим она знакома по плеерам iPod — весьма и весьма удобна при прокрутке длинных документов. Естественно, мне захотелось себе такую же, ибо прокрутка по правому краю не лучший выбор.
Итак, приступим к настройке. Попутно покажу, как реализуется обработка нажатий двумя и тремя пальцами.
Читать дальше →

7 простых способов протестировать кроссбраузерную совместимость

Reading time4 min
Views73K
Эта статья предназначена для дизайнеров, верстальщиков, разработчиков и всех остальных людей, бьющихся с тестированием сайтов в нескольких браузерах.

Всего лишь год назад, хороших средств для тестирования кроссбраузерной совместимости сайтов практически не было. Инструменты, как правило, обладали серьезными недостатками – высокой ценой, скромными возможностями или затрачиваемым временем. Однако, в последнее время, в мире тестирования браузеров появилось много новичков, и некоторые из них являются прекрасными сервисами.

В этой статье, мы рассмотрим 7 простых инструментов для тестирования кроссбраузерной совместимости; инструментов, которые справляются со своей задачей очень легко, и к тому же, каждый из этих инструментов можно использовать бесплатно.
Читать дальше →

Munin — мониторинг сети это просто!

Reading time3 min
Views112K

В жизни каждого системного администратора рано или поздно наступает момент, когда глаз и рук уже не хватает уследить за всеми серверами, то там, то там возникают какие-то проблемы, а для решения их очень хочется узнать что же было «до этого». И именно здесь на выручку приходят они — вел
икие и ужасные системы мониторинга. Долгое время я пользовался Nagios, и до сих пор, при всём удобстве, иначе как монстрообразным назвать не могу. В итоге реально использовались лишь 10% возможностей этой прекрасной системы. Всё изменилось, когда я наткнулся на Munin — прекрасное решение для мониторинга небольших сетей.
Обзор системы

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше

Ещё одна возможность использования вашего гео-местоположения

Reading time1 min
Views1.4K
GeotargetingКак часто у вас бывали моменты, когда вы создавали подобные события в своём календаре:

[21:00] Кинуть бутерброд из сумки в холодильник — загниет.
[23:00] Незабыть взять диск для Гоши.


А было ли вам неудобно, если оповещение о них приходило в тот момент, когда вы ещё были не дома? И на следующий день — та же ситуация…

Идея заключается в том, что-бы использовать гео-положение вашего телефона(коммуникатора) как дополнительное измерение(помимо времени) о наступлении события.
Читать дальше →

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

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

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

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

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

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

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

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

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

Via Fresh GUI.

Улыбнитесь, Вас снимает скрытая камера!

Reading time4 min
Views20K
image
По долгу службы довелось мне тесно сотрудничать в области разного околокомпьютерного оборудования с одной крупной сетью супермаркетов. Чуть поменьше, чем «Metro» или «Wallmart», но тоже немаленькая и международная. На территории магазина продается много электроники, ювелирных изделий, есть отделы «элитных товаров» — к безопасности подходят серъёзно. За пару недель я неплохо познакомился с админами их сети и мне показали святую святых — зал видеонаблюдения службы безопасности. Собственно говоря, о том как, чем и зачем магазины такого уровня наблюдают за своими покупателями и будет статья.
Читать дальше →

Съемка развлекательной телепередачи — дубль 2 (мотор!)

Reading time7 min
Views7.8K
Это вторая статья цикла о том, как снимаются различные развлекательные телепередачи. В прошлой статье мы закончили на том, что съемочная группа получает в своё распоряжение готовую к работе студию, имеет сценарии, план съемок и может торжественно приступать к съемочному процессу.
Читать дальше →

Съемка развлекательной телепередачи — дубль 3 (железо и софт)

Reading time10 min
Views4.2K
Итак, это третья часть цикла статей о том, как снимаются развлекательные телепередачи. В первой части было рассказано о предсъемочной подготовке, во второй — о процессе съемок и задействованных людях, эта часть будет о используемом программном и аппаратном обеспечении.
Читать дальше →

Съемка развлекательной телепередачи — дубль 1 (начало)

Reading time5 min
Views9.2K
Так уж случилось, что довелось мне сотрудничать в области разного железа и софта с несколькими телеканалами по поводу съемок различных развлекательных телепередач. Времени было достаточно для неплохого понимания процесса и технологий съемки подобных проэктов. Собственно говоря, о том как, кем, на каком оборудовании и с помощью какого ПО делаются такие передачи и будет серия статей. Начнет ее данная статья — о том, с чего начинается съемка развлекательной телеперадачи. Вторая статья расскажет о самом процессе съемок и ролях участников съемочной бригады. Третья — о применяемом железе и софте (начать с нее не могу — без понимания процесса будет абсолютно непонятно зачем вообще нужна та или иная железка).

Читать дальше →

ESET выпустила утилиту для удаления червя Conficker

Reading time1 min
Views2.8K
Москва, 6 февраля. ESET — международный разработчик антивирусного ПО и решений в области компьютерной безопасности — сообщает о выпуске утилиты для удаления червя Conficker, также известного, как Downadup или Kido. Вредоносная программа уже заразила более 10 миллионов компьютеров по всему миру.

Win32/Conficker.A – червь, который распространяется, эксплуатируя уязвимость в операционной системе Windows. Первыми симптомами заражения являются прекращение обновления антивируса и невозможность попасть на сайты разработчиков антивирусных продуктов. Кроме того, помимо наличия собственной вредоносной функции, Conficker может стать промежуточным звеном для последующей атаки вирусов. Проникнув в компьютер, Conficker пытается дополнительно скачать вредоносные программы или рекламное ПО, обычно это варианты FakeAlert, Wigon.

Чтобы избежать заражения, необходимо, во-первых, использовать постоянно обновляемое лицензионное антивирусное ПО, а во-вторых, установить обновление операционной системы Windows, доступное с октября 2008. Подробную информацию об уязвимости можно найти на сайте Microsoft.

Специалисты ESET зафиксировали злонамеренную программу, создающую обширные бот-сети, еще в ноябре 2008 года. С тех пор решения ESET свободно детектируют Conficker в его трех вариантах — A, B, C. С уже зараженного компьютера червь удаляется с помощью специальной утилиты, которую можно скачать по ссылке: http://download.eset.com/special/EConfickerRemover.exe

Стенсилы для проектирования интерфейсов

Reading time2 min
Views19K
Продолжая выкладывать на блоге Amazing Development всё, что может понадобиться компаниям или специалистам начать заниматься проектированием и работами над повышением юзабилити своих продуктов и проектов, опубликовал коллекцию стенсилов. Стенсилы – примитивы используемые для графического представления чего-либо. Ниже представлены стенсилы для программ Microsoft Visio, Adobe InDesign и OmniGraffle. Если Вы знаете ссылки на другие стенсилы, которые можно использовать в проектировании, то сообщите о них в комментариях.

Microsoft Visio


Стенсилы Nick Finck


Читать дальше →

И снова Fugue!

Reading time2 min
Views927
image
Я возможно уже вам все уши прожужжал про этот сет, но не смог снова его не упомянуть. Да-да, фугия снова обновилась. Данная версия 1.4.3 хоть и не последняя но все же уже актуальная для каждого. Наконец в нем есть все иконки необходимые для оформления вашего веб-приложения. Я понимаю что в сети есть множество полезных сетов иконок, но этот почему то затронул меня больше всего.
читаем дальше...

Расширения для Firebug

Reading time2 min
Views4.2K
Последнее время появляется все больше и больше различных дополнений для Firebug'a. Решил сделать краткое описание для этих плагинов.
Здесь были описаны только 4 плагина.
Постараюсь описать все известные плагины для Firebug'a
Статья на украинском языке
Читать дальше →

Fugue Icons 1.4.1 — 1406 шт. отличнейших иконок

Reading time1 min
Views1.6K
Давно уже не постил ничего на хабре, но, добавляя в информацию о проекте ссылку на используемые иконки, заметил, что эти самые иконки обновились (с сегодняшнего дня их целых 1406 шт.), о чем не преминую сообщить.

Встречаем Fugue Icons 1.4.1 (лицензия, скачать)

Information

Rating
Does not participate
Location
Украина
Registered
Activity