Pull to refresh
2
0
Ondrej Oprala @braindebug

User

Send message

42 000 000 000 посещений. PornHub подвел итоги 2019 года

Reading time1 min
Views39K
image

  • 42 миллиарда посещений за год. В среднем 115 миллионов посещений в день. Это больше чем население Канады, Австралии, Польши и Нидерландов вместе взятых.
  • 6,83 миллиона новых видео загружено за год. 1,36 млн часов = 169 лет контента.
  • 6,597 экзабайт данных передано за год, это примерно 18 петабайт в день, 209 гигабайт в секунду. (Если это всё залить на жесткие диски, то высота будет выше 100км.)
  • 70 миллионов сообщений послали пользователи друг другу.
  • 11,5 миллиона комментариев к видео.
  • 98 000 новых моделей присоединились к ресурсу.
  • Самые популярные темы: «japanese», «hentai», «lesbian» .
  • Самые активные страны: США, Япония, Британия (Россия на 18 месте).
  • Среднее время, проведенное на сайте — 10 минут 28 секунд. (Самые долгие в Тайланде: 11 минут 21 сек, а русские еле попали в 20-ку со своими 8 минутами и 35 секундами.)
  • Самое популярное время — полночь.
  • Самый популярный день — воскресенье.
  • Самый непопулярный день — пятница.
  • Средний возраст посетителей — 36 лет.
Читать дальше →
Total votes 44: ↑33 and ↓11+22
Comments30

На пути к идеальной клавиатуре

Reading time9 min
Views61K

Я программист и, как вы догадываетесь, некоторое время провожу за набором кода. Это занятие обычно заключается в переносе мысли из пространства между дужками очков в пространство за монитором. Пока нейроинтерфейсы редки, легаси требования делают печать достаточно сложной, в ней участвуют мозг, глаза, руки, клавиатура, компьютер и монитор. Хотелось бы смотреть только на монитор, а не переводить взгляд на клавиатуру. При этом попадать по нужной клавише, быстрее печатать и меньше опечатываться, меньше двигать запястьем и пальцами.


Ответ — эргономическая клавиатура. Под катом процесс рождения двух. Уберите детей подальше от экранов, есть сцены технопорно.


image

Читать дальше →
Total votes 116: ↑115 and ↓1+114
Comments355

PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой

Reading time6 min
Views27K
Как стоит поступить (а как точно не надо), если в «многомиллионной» активно используемой таблице PostgreSQL нужно обновить большое количество записей — проинициализировать значение нового поля или скорректировать ошибки в существующих записях? А при этом сохранить свое время и не потерять деньги компании из-за простоя.


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments8

Разбираем WTF задачки в JavaScript

Reading time2 min
Views34K


JavaScript язык особенный. Сколько его не изучай, всегда найдутся моменты, которые заставят даже матёрого профессионала начать чесать репу.


В этой статье приводятся несколько задачек на JavaScript, связанных с необычным поведением языка. Кому-то они помогут узнать что-нибудь новое, а кто-то просто сможет освежить знания.


Задачка 1 — «BANANA»


Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments108

[Инфографика] Искусственный интеллект в научной фантастике

Reading time4 min
Views10K

Как говорится, важнейшим из искусств обмана для нас является кино.

Однако, когда имеем дело с научной фантастикой, человеческое воображение частенько зрит в верном направлении, особенно, если речь о футурологических прогнозах. Происходящая революция, связанная с искусственным интеллектом, тотально меняет нашу жизнь. Но, оказывается, мы размышляли об этом задолго до.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments30

Процесс компиляции программ на C++

Reading time5 min
Views202K

Цель данной статьи:


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

Читать дальше →
Total votes 44: ↑35 and ↓9+26
Comments29

Как LLVM оптимизирует функцию

Reading time10 min
Views9.8K
Оптимизирующий AOT-компилятор обычно структурирован так:

  1. фронтенд, преобразующий исходный код в промежуточное представление
  2. конвейер машинно-независимой оптимизации (IR): последовательность проходов, которые переписывают IR для устранения неэффективных участков и структур, которые не могут быть непосредственно преобразованы в машинный код. Иногда эту часть называют middle-end.
  3. Машинно-зависимый бэкенд для генерации ассемблерного кода или машинного кода.



В некоторых компиляторах формат IR остаётся неизменным на протяжении всего процесса оптимизации, в других его формат или семантика меняется. В LLVM формат и семантика фиксированы, и, следовательно, возможно запускать проходы в любой последовательности без риска неверной компиляции или аварийного завершения работы компилятора.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments12

Information

Rating
Does not participate
Registered
Activity