Pull to refresh
64
0
Павел @RPG

User

Send message

Да было дело позапрошлой весной…
Да, но только когда показывалась реклама адидас.
Моё мнение — это сам баннер adidas использует какие-то хитрости, работающие только в хроме, позволяющие нелегально скроллить страницу к своему баннеру. Я обратил на это внимание потому, что другие баннеры ведут себя «тихо» и эффект никак не проявляет себя.
Там битые ссылки на счётчики — это судя по всему они пытаются «догрузиться».
Я поставил «чистую» виртуалку. Пока писал комментарий, на десятый раз сработало:) А сайт тем временем лёг…
Проверил в виртуальной машине на чистой Windows XP, последний хром — эффекта не наблюдаю. Ищите троянец или какое-нибудь «доброе» дополнение к хрому (у меня чистая инсталляция винды и хрома, без мусора).
На такой помойке — удивительно только что какой-нибудь троян не подгружается:



Но в Linux проблем нет.
Похоже, вы не сталкивались с особенностями национальной логистики
image
В Москве до сих пор пинг 5184000 секунд с потерями 50% пакетов…
Сейчас всё в порядке. Похоже на кэш или что-то вроде это — ругался на отсутствующие css/js-файлы, минут 30 назад показывал просто карту без интерфейса. Или я слишком поспешил опробовать новый интерфейс.
А, теперь понятно почему у меня карты перестали работать.
Вместо значений цветов пикселей находится содержимое файлов-ресурсов, которое извлекается клиентской библиотекой с помощью Canvas.

Насколько я понимаю, чтение такого canvas будет «греть атмосферу» несколько секунд, что при загрузке веб-страницы совершенно неприемлемо. Хотелось бы увидеть в статье, насколько замедлилась загрузка страницы благодаря такой «оптимизации» по сравнению с несжатым аналогом.
grep USD now.tmp -A3 | grep -Po '\d+,\d+' | tr , .

И никакого расследования бы делать не пришлось.

P.S. Подскажите хороший XML-парсер из coreutils ну или хотя бы из GNU…
man malloc

NOTES
       Normally, malloc() allocates memory from the heap, and adjusts the size
       of the heap as required, using sbrk(2).  When allocating blocks of mem-
       ory larger than MMAP_THRESHOLD bytes, the glibc malloc() implementation
       allocates  the  memory  as  a  private anonymous mapping using mmap(2).
       MMAP_THRESHOLD is 128 kB by  default,  but  is  adjustable  using  mal-
       lopt(3).   Allocations  performed  using  mmap(2) are unaffected by the
       RLIMIT_DATA resource limit (see getrlimit(2)).

Если что-то непонятно — смотрим SEE ALSO и ходим по ссылкам. Если что-то плохо описано — contributions are welcome:)
Именно, чтобы не дёргать по каждому поводу ядро для выделения куска памяти (скажем, создание множества объектов — счёт идёт на байты), этот механизм отдаётся на откуп библиотеке libc. Недаром существует целая куча кустарных библиотек выделения памяти. Даже слов не хватает их все описать:) Кстати разница между этими всеми навороченными lockless-библиотеками в Linux — жалкие проценты как раз по причине, озвученной автором статьи.
По поводу mmap есть нюанс:
       M_MMAP_THRESHOLD
              For allocations greater than or equal to the limit specified
              (in bytes) by M_MMAP_THRESHOLD that can't be satisfied from
              the free list, the memory-allocation functions employ mmap(2)
              instead of increasing the program break using sbrk(2).

Причём сама glibc решает, когда mmap-ить, а когда не следует.
Для тех, кто хочет понять, как рисовать сферы при помощи шейдеров, но с перспективой, а не с glOrtho, есть прекрасная статья.

Правильно ли я понял, что там используют Point Sprites вместо того чтобы топтаться в экранных координатах? Я слабо представляю как эта цепь магических констант будет выглядеть в случае перспективы:

vec2 ndc_current_pixel = ((2.0 * gl_FragCoord.xy) - (2.0 * viewport.xy)) / (viewport.zw) - 1;

Или это возможно даже без расширений ARB? И есть ли какая-то разница между PointSprite и просто Point?

В общем, самое таинственное осталось за кадром.
ReiserFS, я промахнулся с добавлением комментария, там была ссылочка, которая при редактировании пропала.

P.S. Опередили:)
Добро пожаловать в мир опенсорс.
Конфиги: GSettings, GConf, DConf, GKeyFile, QSettings, KConfig.
Графические тулкиты: GTK, GTK2, GTK3, Qt3, Qt4, Qt5 (да, всё это до сих пор используется), FLTK, EFL, Tk.
И это я ещё наверняка половину забыл. Но замечу, в пользу dconf, этот метод должен быть удобным в плане скорости и привязки к приложению: один бинарный файл mmap-ится ко всем приложениям как какая-то библиотека, соответственно память будет расшарена на всех (все эти хитросплетения conf-ов от отсутствия нормального механизма синхронизации). Стоп, так это же уже было сделано в Windows… Но нет, нам по граблям нужно пройтись самостоятельно.
После такого ввода было бы глупо говорить, что вас не предупредили, о небезопасности перепрошивки диска, не так ли?
Любой уважающий себя линуксоид хоть раз в жизни должен сделать вот так:

alias hdparm="hdparm --yes-i-know-what-i-am-doing --please-destroy-my-drive"

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity