Как стать автором
Обновить
1452.79
Timeweb Cloud
То самое облако
Сначала показывать

Ущерб от баннерной рекламы

Время на прочтение12 мин
Количество просмотров8.3K

Очевидно, баннерная реклама раздражает пользователей. Но насколько сильно? Возможно, она настолько всех бесит, что доход от рекламы не стоит потерь в трафике. А возможно, и нет. Если коротко, то даже единственный небольшой баннер снижает трафик примерно на 10%. Подробный анализ — под катом.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии24

Как я получил награду Facebook по баунти-программе дважды

Время на прочтение8 мин
Количество просмотров6.1K

В марте 2020 года началась пандемия, поэтому у меня появилось множество свободного времени. Им нужно было распорядиться с умом, и я решил получить сертификат OSWE. Сдав 8 августа экзамен, я взял пару недель отдыха, а затем в середине сентября сказал сам себе: “Знаешь что? Моё имя не появлялось в зале славы Facebook в 2020 году, хотя бывает там ежегодно. Пора решить эту задачу!”.

Мне никогда не доводилось находить уязвимости на одном из поддоменов Facebook, поэтому я изучил статьи и нашёл один пост про поддомен Facebook, привлёкший моё внимание. Это отличный пост, рекомендую его прочитать: [Баг преобразования HTML в PDF приводит к RCE на сервере Facebook].

Прочитав этот пост, я понял, что в таком огромном веб-приложении можно найти множество уязвимостей.

Моей основной мишенью стал https://legal.tapprd.thefacebook.com, я намеревался реализовать RCE (Remote Code Execution, удалённое выполнение кода) или нечто подобное.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+8
Комментарии1

Что такое суперлуние? Сегодня первое суперлуние 2021 года?

Время на прочтение3 мин
Количество просмотров27K
Сегодня, 28 марта 2021 года, у нас есть возможность увидеть восход полной «Луны червя» (Worm Moon). Сегодняшняя Луна особенно огромна, потому что она ближе к Земле, чем большинство остальных полных лун.

Можно ли считать «Луну червя» суперлуной? Если да, то она может начать целую серию из четырех суперлуний подряд.

На самом деле, всё зависит от того, какое определение мы выберем.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+16
Комментарии20

Матричное умножение. Медленное достижение мифической цели

Время на прочтение6 мин
Количество просмотров23K
В недавней работе был установлен новый рекорд скорости по умножению двух матриц. Она также знаменует и конец эпохи для метода, который ученые применяли для исследований на протяжении десятилетий.


Математики стремятся к достижению мифической цели — второй степени (exponent two), то есть к умножению пары матриц n х n всего за n2 шагов. Исследователи подбираются все ближе к своей цели, но получится ли у них когда-нибудь достичь ее?
Читать дальше →
Всего голосов 24: ↑23 и ↓1+28
Комментарии8

Что прячет Энцелад в темных водах своего океана?

Время на прочтение4 мин
Количество просмотров19K
Энцелад — один из 82 известных нам спутников Сатурна. Около 10 лет назад учёные NASA назвали Энцелад наиболее пригодным для жизни местом во всей Солнечной системе. Оказалось, что глубоко под поверхностью этого спутника, под его ледяной коркой, могут скрываться океанические течения, аналогичные земным.

Согласно новому анализу слоя льда, покрывающего глобальный водяной океан спутника Сатурна, можно сделать вывод, что там есть течения, очень похожие на земные. Если это действительно так, значит, океан Энцелада неоднороден.


Гейзеры на Энцеладе. Снимок сделан зондом «Кассини». (НАСА / Лаборатория реактивного движения / Институт космических наук (Space Science Institute)
Читать дальше →
Всего голосов 17: ↑16 и ↓1+18
Комментарии24

Тизер от Xiaomi: в новом Mi Mix будет камера с жидкостной линзой

Время на прочтение1 мин
Количество просмотров7.1K
Многообещающая возможность обрабатывать как макро, так и телефото-снимки.

Готовящаяся к выходу модель телефона Xiaomi Mi Mix будет включать камеру с жидкостной линзой. Об этом вчера компания сообщила в постах на платформе Weibo. Как следует из названия, линза включает в себя слой жидкости, а фокус и фокусное расстояние линзы изменяются подачей электрического напряжения. Xiaomi заявляет, что линза даёт возможность камере делать практически любые снимки: от телефото- до макросъемки, а также обеспечивает быструю автофокусировку. Телефон будет представлен 29 марта.

Жидкостные линзы существуют на рынке уже несколько лет, однако они обычно используются в промышленных приложениях, где традиционные линзы с движущимися механическими частями могут изнашиваться слишком быстро. Компактный размер и универсальность делают их особенно привлекательными для смартфонов. Теоретически одна камера с жидкостной линзой могла бы объединить несколько камер, которые находятся на задней панели большинства флагманских смартфонов.

Помимо Xiaomi, в прошлом году ходили слухи, что и Huawei также исследует возможность использования этой технологии в своих смартфонах.
Всего голосов 11: ↑10 и ↓1+14
Комментарии26

Как воссоздать изображение всего по нескольким пикселям

Время на прочтение7 мин
Количество просмотров20K
Эта статья дает возможность познакомиться с такой методикой получения и восстановления сигнала, как Compressive Sensing.

image
Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом

Пространство изображений огромно, невероятно огромно, но при этом очень мало. Задумайтесь об этом на минуту. Из сетки размером всего 8 на 8 пикселей можно создать 18 446 744 073 709 551 616 различных чёрно-белых изображений. Однако из этих 18 квинтиллионов изображений очень немногие покажутся осмысленными человеческому взгляду. Большинство изображений, по сути, выглядит как QR-коды. Те, которые покажутся человеку осмысленными, принадлежат к тому множеству, которое я называю естественными изображениями. Они представляют крошечную долю пространства изображений 8 на 8. Если мы рассмотрим мегапиксельные изображения, то доля естественных изображений становится ещё меньше, почти ничтожной, однако содержит любое изображение, которое можно придумать. Так чем же эти естественные изображения так уникальны? И можем ли мы использовать эту фундаментальную разницу в собственных интересах?
Читать дальше →
Всего голосов 47: ↑46 и ↓1+64
Комментарии41

Lego анонсировала выпуск самого большого и детализированного набора

Время на прочтение1 мин
Количество просмотров12K
Новость, способная избавить от депрессии

В честь 40-летия запуска первого космического шаттла, компания Lego в сотрудничестве с НАСА выпускает новый набор — космический корабль «Дискавери». «Дискавери» не был первым шаттлом, отправившимся в полет (первым стал корабль «Колумбия», но, вероятно, если выпустить такой набор Lego, это вызовет слишком много грустных переживаний), однако именно шаттл «Дискавери» запустил космический телескоп «Хаббл», который также включен в набор.


Только посмотрите на эти блестящие двери! Источник: Lego
Всего голосов 30: ↑20 и ↓10+18
Комментарии16

Мнимые числа для описания реальности?

Время на прочтение5 мин
Количество просмотров21K
Новый мысленный эксперимент показывает, что квантовая механика не работает без странных чисел, которые становятся отрицательными при возведении в квадрат.

Много веков назад математики были обеспокоены, когда обнаружили, что вычисление свойств определенных кривых требует, казалось бы, невозможного: чисел, которые при умножении сами на себя становятся отрицательными.



Все числа на числовой прямой, возведенные в квадрат, дают положительное число; 22 = 4 и (-2)2 = 4. Математики начали называть эти знакомые числа «вещественными», а, казалось бы, невозможную разновидность чисел — «мнимыми».
Читать дальше →
Всего голосов 22: ↑16 и ↓6+19
Комментарии65

Создание аналога посмертного сore dump для микроконтроллера

Время на прочтение8 мин
Количество просмотров4.9K


При разработке программного обеспечения любого класса и назначения, зачастую приходится заниматься поиском ошибок, которые привели к краху всего приложения. И если в случае обычного компьютера, анализ логов и core dump`ов как правило не вызывает сложностей, то для устройств на основе микроконтроллеров бывает сложно получить «посмертную» информацию, необходимую для изучения проблемы.

Конечно, при подключенном программаторе и при постоянном выводе логов в какой нибудь отладочный порт можно достаточно комфортно вести отладку, но что делать, когда требуется искать причину сбоев устройства во время штатной эксплуатации устройства, когда инструментальные средства для отладки не подключены и нет внешней памяти для хранения логов?

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

Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии11

Новый поворот и секреты сверхпроводимости

Время на прочтение11 мин
Количество просмотров15K
Внезапно появившийся сверхпроводник казался случайностью, но новая теория и второе открытие показали, что за этим эффектом могут стоять возникающие квазичастицы.


Скирмионы возникают в результате коллективного поведения множества электронов, но ведут себя как отдельные частицы.

Последние три года электроны «устраивали» физикам игры.

Игра началась в 2018 году, когда лаборатория Пабло Харильо-Эрреро объявила о находке десятилетия: когда исследователи сложили один слой атомов углерода поверх другого, применили «волшебный» поворот на 1,1 градуса между ними, а затем охладили атомные пластины почти до абсолютного нуля, тогда образец стал идеальным проводником электронов.

Как частицы сговорились безупречно скользить через листы графена? Калейдоскопический «муар», создаваемый углом наклона, казался значительным результатом, но никто не был в этом уверен. Чтобы выяснить это, исследователи начали складывать и скручивать (поворачивать) любой материал, который попадался им в руки.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+11
Комментарии7

Виртуальная реальность на кончиках пальцев

Время на прочтение3 мин
Количество просмотров2.1K
Представьте себе, что вы сидите за компьютером и набираете текст, играете на фортепиано или просто стучите пальцами по столу от скуки. Каждое движение пальца, каждое постукивание генерирует уникальную в своем роде вибрацию, проходящую от фаланги к основанию кисти.

Исследователи из Швейцарской высшей технической школы Цюриха (ETH) нашли применение этой физической особенности человеческих рук в своем изобретении — двухсенсорном браслете, позволяющем напрямую взаимодействовать с виртуальными объектами.

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



Один из профессоров ETH, Кристиан Хольц, видит в VR-технологиях потенциальную замену десктопным ПК. По его мнению, «отвязка от экрана» позволит в полной мере задействовать виртуальное пространство: разместить вокруг себя «рабочие инструменты» и взаимодействовать с ним наиболее естественным путем – руками.
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Argumentum ad ignorantiam

Время на прочтение4 мин
Количество просмотров3.5K


Успел прочитал переводную статью «5 фактов о том, как Microsoft приватизировала открытый исходный код, убивая JavaScript в процессе». «Успел прочитать», потому что статью сразу безбожно заминусовали (через 30 минут уже было -12), а сейчас статья вообще скрыта в черновиках.

Её основная мысль была «Миссия Microsoft – так или иначе превратить каждого JavaScript-разработчика в дрон Microsoft TypeScript, приносящий деньги» за счет того, что «Microsoft внедрила использование TypeScript в React, Angular и Node, одновременно приватизировав Github и npm».

По мнению автора, именно для этого Microsoft купила Github, пакетный менеджер Npm (который является менеджером пакетов для NodeJS), а так же всячески продвигает свой VSCode как единственный редактор кода для TypeScript. И хотя все приведенные факты в статье имею место быть, но сам стиль подачи материала выглядит классической страшилкой из области теории заговоров, причем написанной человеком, который всей душой искренне любит JavaScript и ненавидит Microsoft.

Наверно я так и прошел бы мимо, если бы сам немого не кодил на JavaScript, и не по наслышке знаю ту боль, которую может причинить разработчику отладка на не типизированном языке. А ведь это одна из многих проблем, которую по задумке и предназначен решать TypeScript. Если бы не одно но…
Читать дальше →
Всего голосов 12: ↑10 и ↓2+13
Комментарии25

Таинственная математика совершенства

Время на прочтение10 мин
Количество просмотров7.1K
Улыбка Моны Лизы, олимпийский прыжок Мэри Лу Реттон, высокая тесситура Мэрайи Кэри — всё это считается совершенным. Так же, как и числа 6 и 28.

Не без участия таланта или атлетизма этих людей, но совершенство находится в глазах смотрящего. Для чисел совершенство же определяется математически. «Совершенные числа» равны сумме своих собственных делителей (делители — положительные целые числа, отличные от рассматриваемого числа, которые делят его без остатка). Например, 6 = 3 + 2 + 1, а 28 = 14 + 7 + 4 + 2 + 1. Хотя эти математические диковины могут так же украшать стены Лувра, как и выполнять сальто назад с поворотом, но тем не менее они действительно являют собой нечто уникальное: совершенную тайну.



Евклид изложил основы совершенных чисел более 2000 лет назад. Он знал, что первыми четырьмя совершенными числами были 6, 28, 496 и 8128. С тех пор было обнаружено гораздо больше совершенных чисел. Но, как ни странно, все они чётные. Никто не смог найти совершенное нечетное число, и после многих тысяч лет безуспешных поисков может возникнуть соблазн сделать вывод, что нечетных совершенных чисел не существует. Но и математики этого доказать не смогли. Как же так выходит, что мы можем так много знать о четных совершенных числах и в то же время не можем ответить на самый простой вопрос о нечетных? И как современные математики пытаются решить этот древний вопрос?
Читать дальше →
Всего голосов 16: ↑15 и ↓1+22
Комментарии5

Как написать интерфейс пользователя (UI) PlayStation 5 на JavaScript

Время на прочтение15 мин
Количество просмотров3.5K

Интерактивное демо PS5.js


Вот демо интерфейса PS5, созданного при помощи анимаций на JavaScript и CSS, которые мы будем писать в этом туториале. Интерактивный пример можно потрогать в оригинале статьи.


Поставьте звёздочку или форкните проект ps5.js 35,9 КБ на GitHub.

Я написал твит о демо PS3, когда создавал на JavaScript базовую версию UI консоли PS3. Пока у меня нет кода, но я планирую его опубликовать. Более того, данный туториал построен на основании знаний, полученных при создании первой работы.

Подготовка


Чтобы не усложнять себе жизнь, мы не будем использовать никаких фреймворков.

Но даже если вы используете фреймворки или библиотеки, то вам всё равно нужно разработать свой паттерн решения задачи. В этом туториале про UI я расскажу о самой концепции, лежащей в основе разработки. Этот подход можно легко адаптировать к React, Vue или Angular.

Я использовал эту заготовку HTML-файла с заранее созданными flex-стилями. Он содержит всё необходимое и общую структуру приложения, позволяющую приступить к работе. Это не React или Vue, но это та минимальная конфигурация, которая необходима для создания приложения. Я использую эту заготовку каждый раз, когда мне нужно начать работу над новым ванильным приложением или сайтом.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+10
Комментарии2

Маленькие хитрости для STM32

Время на прочтение4 мин
Количество просмотров12K

В процессе работы у каждого программиста иногда встречаются неожиданные проблемы, которые возникли как будто на ровном месте. Практически по Черномырдину «никогда такого не было, и вот опять!». После этого начинаешь искать решение в интернете или закапываешься в чтение мануалов и документации, чтобы разобраться в пустячном, на первый взгляд вопросе.

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

Продолжая серию статей про маленькие хитрости разработки под STM32, хочу поделиться двумя очень простыми, но полезными функциями. Они никак не тянут на полноценный проект на github.com, но способны облегчить жизнь (или наоборот, выпить немало крови), при определенном стечении обстоятельств.

  1. Буферизированный вывод отладочной информации в последовательный порт
  2. Автоматическое включение защиты от чтения и модификации прошивки
Читать дальше →
Всего голосов 14: ↑12 и ↓2+16
Комментарии49

Сделаем худший Vue.js в мире

Время на прочтение5 мин
Количество просмотров16K
Некоторое время назад я опубликовал похожую статью про React, где с помощью пары строк кода мы создали крошечный клон React.js с нуля. Но React — далеко не единственный инструмент в современном фронтенд-мире, Vue.js стремительно набирает популярность. Давайте разберемся, как работает этот фреймворк, и создадим примитивный клон, похожий на Vue.js, в образовательных целях.

Реактивность


Как и React.js, Vue является реактивным, то есть все изменения в состоянии приложения автоматически отражаются в DOM. Но в отличие от React, Vue отслеживает зависимости во время рендеринга и обновляет только связанные части без каких-либо «сравнений».

Ключ к реактивности Vue.js — это метод Object.defineProperty. Он позволяет указывать настраиваемый метод getter / setter для поля объекта и перехватывать каждый доступ к нему:
Читать дальше →
Всего голосов 23: ↑22 и ↓1+30
Комментарии4

Как определить массу Земли с помощью шаров и веревки

Время на прочтение6 мин
Количество просмотров16K
Чтобы найти суперогромные величины, нужно делать расчеты с очень и очень маленькими числами.


Иллюстрация: Daniel Grizely / Getty Images

Занятно думать о том, каким способом мы узнаём что-то. Например, масса Солнца составляет около 2 х 1030 кг. Это такое огромное число, что его трудно осознать. И если нам так сложно даже вообразить такие большие числа, как мы будем искать эти значения? Что ж, первоначальный метод заключался в использовании небольших масс, палки и веревки. Пожалуй, это один из важных шагов в определении массы как Солнца, так и всех планет в нашей Солнечной системе. Это эксперимент Кавендиша, впервые проведенный Генри Кавендишем в 1798 году. Эксперимент действительно крутой, поэтому я собираюсь объяснить, как он работает.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+20
Комментарии16

Размещение кучи FreeRTOS в разделе CCMRAM для STM32

Время на прочтение2 мин
Количество просмотров8.6K
При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением FreeRTOS. А так как исходный код был написан на С++ и вопрос об экономии ОЗУ даже не стоял, то и вылезла соответствующая проблема.

Заниматься оптимизацией кода, одновременно добавляя себе проблем с поиском новых ошибок, очень не хотелось. Поэтому своевременно вспомнилось, что данная версия микроконтроллера имеет на борту дополнительный сегмент ОЗУ размером 64К (CCM SRAM), который сейчас никак не был задействован. Эврика — вот оно, решение!

Но к сожалению, все оказалось не так просто.

Читать дальше →
Всего голосов 12: ↑10 и ↓2+12
Комментарии9

Архивация по URL

Время на прочтение12 мин
Количество просмотров4.9K


Каждый год несколько процентов материалов, на которые я ссылаюсь, исчезают навсегда. Для человека, который старается не писать без пруфов, это неприемлемо, так что я разработал собственную стратегию борьбы с битыми ссылками. Если коротко — коллекция скриптов, демонов и архивных сервисов в интернете просто берёт и бэкапит всё подряд. URLы регулярно выгружаются из логов моего браузера и статей с моего сайта. Все страницы архивируются локально и на archive.org, так что при необходимости они будут вечно доступны из нескольких независимых источников.

linkchecker регулярно проходит по моему сайту в поисках битых ссылок; все обнаруженные потери могут быть либо заменены (если адрес поменялся, но страница всё ещё существует), либо восстановлены из архива. Кроме того, мои локальные архивы криптографически датируются через блокчейн биткойна на случай, если возникнут подозрения в фальсификации.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud