Заметки


🔥 Thermaltake ISURUS DUB

Я вхожу в число 17% людей, которые могут считать себя счастливцами. Почему? Потому, что у нас нет музыкального слуха. Я не слышу не только гениальности музыки, но и ее недостатков.

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

Вот такие шли с айфоном — Apple EarPods:

Пользователи их хвалят, Apple — восхищается, а мне не понравились. Басов нету, высокие частоты — слишком высокие. На большой громкости скрипят.

В нашей стране альтернативой любым стандартным считают Sennheiser CX300 (II).

Но проблемы Сенхайзеров такие же как и EarPods.

Поэтому моим выбором стала гарнитура от Thermaltake — ISURUS DUB.

Игровые наушники лучше воспроизводят басы, прекрасно спасают от внешних звуков за счет своей конструкции и удобня сидят в ушах. Плюсом этой гарнитуры стало то, что она прекрасно работает с iOS и Android девайсами, а также с Macbook.

Читать 1 мин | 16.11.2013 20:17

🔥 Windows 1.01 и Windows 3.11 в браузере

Если вы в силу разных причин не застали времена 286-х компьютеров, DOS-a и ранних версий Windows, то у вас есть несколько вариантов их увидеть:

  1. Раздобыть немного старого компьютерного железа и увсе установить
  2. Проследовать вот по этой ссылке, чтобы увидеть как выглядела Windows 3.11, или вот по этой, чтобы увидеть настоящую Windows 1.01, запущенную в браузере. Ничего сверхинтересного вы для себя не найдете, но для общего образования очень полезно.
Читать 20 сек | 03.11.2013 17:53

🔥 Родные шрифты с иконками (Native iconic fonts)

Существует несколько популярных вариантов отображения иконок на веб-странице:

  • картинки
  • svg
  • иконочные шрифты

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

Их так же существует привеликое множество: FontAwesome, Entypo и другие.

Но в процессе тестирования на разных устройством были обнаружены некторое особенности отображения иконок. Самым интересным стало то, что браузер IE на Windows Phone 7.5 вдруг вместо иконок шрифта Entypo отрисовал свои иконки, которые вышлядели практически идентично.

Задавшись этим вопросом, мы с товарищем @pukhalski стали «читать» интернет.

В этом месте, следует уточнить, что для отрисовки иконок мы использовали следующую контрукцию:

.icon {
    display: inline-block;
    font-family: 'entypo';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon:before {
    content: "\2606";
}

В данном примере 2606 - Unicode для отображения здездочки. Т.е. вы должны увидеть примерно вот это: ☆.

Оказалось, что во все более или менее человечкие операционные системы встроен шрифт serif, который уже содержит множество иконок. Вот по этому адресу можно их все увидеть.

Стоит также вспомнить о шрифтах Webdings, Wingdings, Wingdings 2, Windings 3, которые точно присутствуют в Windows и Mac OS и несут внутри себя сотник классных иконок.

Экономьте свои силы и траффик пользователей, используйте встроенные шрифты. Кстати, это очень кроссбраузерно и кросссистемно.

Читать 2 мин | 28.10.2013 14:43

🔥 Функция uniqid в JavaScript

В PHP есть шикарная функция uniqid. Она позволяет сгенерировать случайный идентификатор состоящий из цифр и букв, основанный на текущем времени. Выглядит он примерно вот так 526439af76c56.

Я очень часто пользуюсь ей (функцией), когда делаю что-то на ПХП. Конечно же мне очень хватало этой функции в JavaScript, поэтому я поискал в интернете, нашел один неплохой вариант, немного его подправил и вуаля:

(function () {
    this.uniqid = function (pr, en) {
        var pr = pr || '', en = en || false, result, us;

        this.seed = function (s, w) {
            s = parseInt(s, 10).toString(16);
            return w < s.length ? s.slice(s.length - w) : 
                      (w > s.length) ? new Array(1 + (w - s.length)).join('0') + s : s;
        };

        result = pr + this.seed(parseInt(new Date().getTime() / 1000, 10), 8) 
                    + this.seed(Math.floor(Math.random() * 0x75bcd15) + 1, 5);

        if (en) result += (Math.random() * 10).toFixed(8).toString();

        return result;
    };
})();

Использовать можно:

  • так uniquid() - результат 52643b81917b3
  • или вот так uniqid('prefix_') - результат prefix_52643bb682821
  • и даже вот так uniqid('prefix_', true) - результат prefix_52643bdf3b1fb7.38568327

Пользуйтесь на здоровье.

Тут ссылка на Gist.

Читать 1 мин | 24.10.2013 14:15