Pull to refresh
19
0
Алексей Кузнецов @kuzalex2

User

Send message

Экспериментальное определение характеристик кэш-памяти

Reading time6 min
Views5K
В ряде случаев (например, для тонкой оптимизации программы под конкретный компьютер) полезно знать характеристики кэш-подсистемы: количество уровней, время доступа к каждому уровню, их размер и ассоциативность, и т.п.
Для одноразовой оптимизации необходимые значения можно посмотреть в спецификации на компьютер, но когда требуется автоматическая оптимизация (например, во время сборки и установки программы), характеристики приходится определять косвенно, по результатам прогона специального набора тестов.
Удобная тестовая программа для Linux — lat_mem_rd из пакета тестов lmbench. Её работа заключается в том, что она выделяет в памяти массив и читает его элементы с заданным шагом, циклически проходя по массиву снова и снова. Затем выделяется массив большего размера, и т.д. Для каждого значения шага и размера массива подсчитывается среднее время доступа.
Пример графика, который был получен этой программой на реальной системе:

Как по полученным данным определить характеристики кэша?
Total votes 33: ↑33 and ↓0+33
Comments10

Оптимизируем процесс работы в консоли

Reading time4 min
Views16K
Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.
Читать дальше →
Total votes 256: ↑245 and ↓11+234
Comments76

Определите свое местоположение по WiFi сети

Reading time1 min
Views7.5K
Простой скрипт. Определяет местоположение. Вы должны работать через Wifi.

iwlist wlan0 scan | sed -n 's/.* Address: //p;T;s/ //g;q' |
sed 's/.*/{version:1.1.0,host:maps.google.com,request_address:true,address_language:'${LANG/.*/}',wifi_towers:[{mac_address:"&",signal_strength:8,age:0}]}/' |
curl -sX POST -d @- www.google.com/loc/json |
sed -e 'h;s/.*latitude":\([^,]*\).*/\1/;G;s/\n[^\n]*longitude":\([^,]*\).*/,\1\n/;s|^|http://maps.google.com/maps?q=|;x;s/[,{]/\n/g;s/["}]//g;s/:/\t/g;s/\n//;G'

Не забудьте поставить curl.

В моем случае правильно определил город и улицу, ошибся с номером дома на 4.

Как это работает? Google собирает информацию о том, где расположены какие точки доступа (по MAC).
Первая часть (iwlist wlan0 scan | sed -n 's/.* Address: //p;T;s/ //g;q' ) — это просто определение мака.
Total votes 73: ↑64 and ↓9+55
Comments30

Licenzero: порно детектед

Reading time3 min
Views18K
Licenzero У нас великолепная работа — нам платят за просмотр порнографических роликов. Ну а серьезнее, мы работаем в R&D отделе компании Inventos, которая занимается автоматической фильтрацией веб-контента: модерация, защита авторских прав и т. д. Перед нами была поставлена задача — построить систему для автоматического выявления роликов порнографического содержания. Здесь мы расскажем, как мы решали поставленную задачу.
Читать дальше →
Total votes 222: ↑208 and ↓14+194
Comments136

5 вещей, которые вы могли не знать о jQuery

Reading time3 min
Views29K
jQuery очень мощная библиотека, но некоторые его богатые возможности неясны, если вы не изучали исходный код jQuery и не читали книгу jQuery Pocket Reference (автор пишет my new book), вы можете не знать о них. В этой статье представлены отрывки из этой книги — 5 полезных вещей о которых вы могли не знать.

1) Вы вы не обязаны использовать $(document).ready() Если вы хотите выполнить функцию, когда документ готов для манипулированию просто передайте её в $()

2) Вы, наверное, уже знаете, что вы можете передать тэг в функцию $() для создания элемента этого типа и, что вы можете передать атрибуты объекта (в качестве второго аргумента), которые будут установлены на созданный элемент. Вторым аргументом может быть любое свойство, который вы передаете в метод attr(). Кроме того, если какое-либо свойство имеет тоже самое имя, что и событие (click, mouseover), то значение свойства используется в качестве функции обработчика данного события.
Следующий код, например, создает новый элемент, устанавливает три HTML атрибута и регистрирует функцию обработчика события(click) на нем:
var image = $("<img>", {
                  src: image_url,
                  alt: image_description,
                  className: "translucent_image",
                  click: function() {$(this).css("opacity", "50%");}
               });

Читать дальше →
Total votes 159: ↑149 and ↓10+139
Comments30

Видеохостинг своими руками

Reading time6 min
Views66K
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments108

Кодирование видео в реальном времени во время загрузки

Reading time1 min
Views4.4K
Сервис Transloadit.com запустил новую фичу: обработка видеофайла кодеком ffmpeg в процессе его загрузки на сайт. Серверы Transloadit обеспечивают скорость кодирования выше, чем скорость аплоада у большинства пользователей. Таким образом, теперь практически устраняется задержка между загрузкой и публикацией видеоролика.

Фича realtime-кодирования в некоторых случаях увеличивает «скорость кодирования» (то есть время между окончанием загрузки файла и окончанием кодирования) в 150 раз. Как это работает, показано на видео под катом или можно проверить самому в демо-секции на сайте Transloadit.com.

Задержка кодирования — очень неприятная штука. Например, на Youtube она раздражает очень многих пользователей. Хорошо, если ребята опыт коллег с Transloadit переймут разработчики других видеохостингов.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments32

HTML5 Video — от А до Я

Reading time6 min
Views233K
Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!
Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments26

Information

Rating
Does not participate
Location
Россия
Registered
Activity