Pull to refresh
-1
0
Send message

Как Эйнштейн «опроверг» Ньютона

Reading time7 min
Views26K
Перевод статьи физика и популяризатора науки Мэтта Страсслера

К тому времени, как Эйнштейн в 1905 году вывел свою специальную теорию относительности (СТО), прошло уже больше 200 лет с тех пор, как Ньютон записал свои законы движения. Его последователи развивали его идеи, усложняли их и уточняли. Два столетия научных экспериментов, инженерных изделий и технологий, основанных на этих законах, подтверждали их правильность прямо и косвенно с большой точностью. В жизни людей XVIII и XIX веков уравнения Ньютона работали. Вряд ли бы они перестали работать в XX веке, и так и случилось – часы, двигатели, суда, мельницы, холодильники, гироскопы и пушки продолжали прекрасно работать и после того, как СТО Эйнштейна появилась в 1905 году. Так как же мог Эйнштейн «опровергнуть» Ньютона? Как Ньютон мог оказаться «неправым»?

Легко просто написать набор уравнений и заявить: «Я думаю, что общепринятые уравнения неверны, а мои новые – верны». Это каждый может сделать. Ежегодно я получаю десятки работ, выполненных начинающими физиками (или слышу о таких работах), содержащих ровно такие заявления. У большинства из них ошибку можно найти на первой странице, поскольку существует эксперимент или технология, которые не смогли бы работать, если бы новые уравнения были верны. Чрезвычайно сложно изобрести уравнения, соответствующие всем проделанным экспериментам и изобретённым технологиям. Таков высокий стандарт науки и природы.
Читать дальше →
Total votes 18: ↑14 and ↓4+16
Comments89

История процессора Itanium: от перспектив к разочарованию и забвению

Reading time4 min
Views18K

На днях на Хабре публиковалась новость о том, что компания Intel прекращает выпуск процессоров Itanium. На этом заканчивается история перспективных, как казалось изначально, чипов. Они были попыткой компаний Intel и HP перейти с 32-битных вычислений на 64-битные, причем не только для серверного оборудования, но и для потребительских ПК.

Несмотря на то, что история процессоров растянулась примерно на 20 лет, она насчитывает больше неудач, чем успехов. Процессор почти сразу даже прозвали Itanic, по аналогии с пароходом Titanic. В целом, были и светлые полосы, но их не так много. Ну а под катом — история создания архитектуры IA-64 и причины закрытия масштабного проекта.
Читать дальше →
Total votes 48: ↑40 and ↓8+43
Comments10

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Reading time18 min
Views72K

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

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

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

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →
Total votes 198: ↑197 and ↓1+255
Comments134

Как фокусировались на работе Кнут, Фейнман, Юнг, Шокли

Reading time17 min
Views19K
На Хабре уже 8 лет просят: «Никогда не отвлекай программиста!» Написание кода — процесс, требующий сосредоточенности. Но большинство менеджеров считают, что вы можете работать с тем уровнем сосредоточенности, с которым сочтете нужным. Если, конечно же, отвечаете на сообщения в рабочем канале без задержки.

Под катом история Дональда Кнута о том, почему он отказался от электронной почты в 1990 году (за 7 до лет моего рождения); объяснения автора романа «Анафем» Нила Стивенсона, почему он не общается с фанатами; фишки из работы Билла Гейтса и Джоан Роулинг, а ещё проект идеального рабочего пространства Дэвида Девэйна.

Простите за такую тяжеленную гифку, не удержалась.
Читать дальше →
Total votes 14: ↑11 and ↓3+13
Comments55

Реализация сервера авторизации OAuth с помощью сервера авторизации Spring

Reading time7 min
Views15K

Сервер авторизации в OAuth предназначен для выдачи маркера доступа, который позволяет клиентскому приложению использовать этот маркер доступа для запроса ресурса, который ему нужно получить. Сервер ресурсов будет подтверждать этот маркер доступа с помощью сервера авторизации каждый раз, когда клиентское приложение запрашивает ресурс, чтобы определить, следует ли разрешить клиентскому приложению доступ к этому ресурсу. Вы можете использовать множество различных открытых источников, таких как Keycloak, Spring Security OAuth (устаревший), или же новый проект Spring под названием Spring Authorization Server для реализации этого сервера авторизации. В этом руководстве я покажу вам, как использовать сервер авторизации Spring (Spring Authorization Server) для реализации сервера авторизации OAuth (OAuth Authorization Server)!

Сначала я создам новый проект Spring Boot с Web Starter, Security Starter:

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments2

@teqfw/vue

Reading time11 min
Views3.5K

Комментарии коллег к моей последней статье "Почему я 'мучаюсь' с JS" навели меня на мысль, что публикации, касающиеся Tequila Framework, нужно помещать в хаб "Ненормальное программирование".


Почему-то идеи:


  • создание больших web-приложений на "ванильном" JS;
  • отказ от упаковщиков и транспиляторов;
  • логическое пространство имён для прямого доступа к es6-модулям зависимостей, вместо импорта-экспорта на уровне npm-пакетов;
  • автозагрузчик кода и инъекция зависимостей, использующие пространство имен;
  • es6-модули, работающие без изменений одинаково как в браузере, так на стороне nodejs и в тестах;
  • отладка в браузере точно того же кода как тот, что создаётся в редакторе;

вот это всё относится к разряду "ненормального" в современной web-разработке.


В этой публикации — пример построения "нормального" PWA-приложения с использованием "нормальных" Vue 3 и Quasar UI на базе "ненормальной" платформы Tequila Framework.


Читать дальше →
Total votes 6: ↑5 and ↓1+5
Comments6

Дайджест свежих материалов из мира фронтенда за последнюю неделю №479 (26 — 31 июля 2021)

Reading time2 min
Views7.5K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Total votes 16: ↑15 and ↓1+18
Comments0

Как использовать IndexDB для управления состоянием в JavaScript

Reading time10 min
Views14K

Эта статья — перевод оригинальной статьи Craig Buckler "How to Use IndexDB to Manage State in JavaScript".

В этой статье объясняется, как использовать IndexedDB для хранения состояния в типичном клиентском приложении на JavaScript.

Код доступен на Github. Он представляет собой пример to-do приложения, которое вы можете использовать или адаптировать для своих собственных проектов.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments7

Более 15 полезных инструментов для фронтендера с уклоном в CSS

Reading time5 min
Views13K

К старту курса по Frontend-разработке делимся переводом подборки различных инструментов: от генератора CSS, который рассчитывает пространство так, что брейкпоинты (контрольные точки) заменяются переменными, до редактора анимации прямо в браузере, а также средства масштабирования для отзывчивости в SVG и даже визуализатора специфичности CSS, который пригодится при анализе больших таблиц стилей. Мы структурировали и, где это было возможно, расширили оригинал, добавив информацию и примеры из репозиториев и официальных описаний инструментов.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments2

Что такое XSS-уязвимость и как тестировщику не пропустить ее

Reading time8 min
Views220K
Привет, коллеги. Меня зовут Виталий Котов. По моему наблюдению довольно много тестировщиков когда-либо слышали такое понятие, как XSS-уязвимость. Но мало кто может просто и на пальцах рассказать на собеседовании про нее. Или эффективно проверить веб-сайт на наличие этой уязвимости. Давайте вместе разберемся со всем этим подробнее и попробуем сами найти несложную XSS-уязвимость на демо-странице, которую я специально подготовил к этой статье.

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


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

Контейнеры внедрения зависимостей и выгоды от их использования

Reading time7 min
Views72K

От переводчика


Всем привет! Я продолжаю серию переводов, в которой мы по косточкам разбираем, что такое Dependency Injection.

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

В сегодняшнем переводе речь пойдет о том, что собой представляет DI-контейнер, его функциях, преимуществах использования и отличии от фабрик.

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments36

Мы отрендерили миллион страниц, чтобы понять, из-за чего тормозит веб

Reading time9 min
Views34K
Мы отрендерили 1 миллион самых популярных страниц веба, фиксируя все мыслимые метрики производительности, записывая все ошибки и замечая все запрошенные URL. Похоже, таким образом мы создали первый в мире набор данных, связывающий производительность, ошибки и использование библиотек в сети. В этой статье мы проанализируем, что наши данные могут сообщить о создании высокопроизводительных веб-сайтов.


  • Посещён 1 миллион страниц
  • Записано по 65 метрик каждой страницы
  • Запрошен 21 миллион URL
  • Зафиксировано 383 тысячи ошибок
  • Сохранено 88 миллионов глобальных переменных

Можно ли превзойти наш анализ? Мы опубликовали наш набор данных на Kaggle, поэтому вы можете обработать данные самостоятельно.

Зачем рендерить миллион веб-страниц?


Сегодня распространено мнение о том, что веб почему-то стал более медленным и забагованным, чем 15 лет назад. Из-за постоянно растущей кучи JavaScript, фреймворков, веб-шрифтов и полифилов, мы съели все преимущества, которые даёт нам увеличение возможностей компьютеров, сетей и протоколов. По крайней мере, так утверждает молва. Мы хотели проверить, правда ли это на самом деле, а также найти общие факторы, которые становятся причиной торможения и поломок сайтов в 2020 году.

Общий план был простым: написать скрипт для веб-браузера, заставить его рендерить корневую страницу миллиона самых популярных доменов и зафиксировать все мыслимые метрики: время рендеринга, количество запросов, перерисовку, ошибки JavaScript, используемые библиотеки и т.п. Имея на руках все эти данные, мы могли бы начать задаваться вопросами о том, как один фактор корреллирует с другим. Какие факторы сильнее всего влияют на замедление рендеринга? Какие библиотеки увеличивают время до момента возможности взаимодействия со страницей (time-to-interactive)? Какие ошибки встречаются наиболее часто, и что их вызывает?
Читать дальше →
Total votes 57: ↑46 and ↓11+56
Comments43
12 ...
30

Information

Rating
Does not participate
Registered
Activity