Архив за 21 ноября 2016

Разделяемые указатели и многопоточность. И снова о них, в который раз - 1

Глава из книги "Современное программирование на C++" называется "В сто первый раз об интеллектуальных указателях". Все бы ничего, но книга была издана в 2001 году, так стоит ли в очередной раз возвращаться к этой теме? Мне кажется что как раз сейчас и стоит. За эти пятнадцать лет поменялась сама точка зрения, тот угол под которым мы смотрим на проблему. В те далекие времена только-только вышла первая де-факто стандартная реализация — boost::shared_ptr<>, до этого каждый писал себе реализацию по потребности и как минимум представлял себе детали, сильные и слабые стороны своего кода. Все книги по C++ в то время обязательно описывали одну из вариаций умных указателей в мельчайших деталях.
Сейчас нам дан стандарт, и это хорошо. Но с другой стороны, уже не требуется понимать что там внутри, вместо этого достаточно три раза повторить мантру "используйте умные указатели везде где вы бы использовали обычные указатели", и это уже не так хорошо. Я подозреваю что далеко не все отдают себе отчет что данный стандарт — лишь один из возможных вариантов интерфейса, не говоря уже о разнице между реализациями различных вендоров. При выборе стандарта был сделан выбор между различными возможностями учитывающий разные факторы, но, оптимальный или нет, этот выбор очевидно не единственен.
А еще на stackoverflow например снова и снова задается вопрос — "потокобезопасны ли умные указатели из стандартной библиотеки?". Ответы даются обычно категоричные, но какие-то мало информативные. Если бы я например не знал о чем идет речь, то наверное бы не понял. И кстати, все сравнительно новые книги описывающие новый стандарт C++ этому вопросу тоже уделяют мало внимания.
Так давайте же попробуем сорвать покровы и разберемся с деталями.

Читать полностью »

Разбирая завалы хлама в гараже, обнаружил свой старый конструктор с которым с удовольствием играл в детстве. Данный конструктор начал выпускаться в 1986 году, мой экземпляр был выпущен в 1990. Производился он в Латвийской ССР фирмой производственным объединением Straume. Судя по всему закрылось оно в 1992 году.

Коробка
Читать полностью »

Экспоненциальное расширение Вселенной происходит сейчас, а ещё одно происходило очень давно. Связаны ли они?

Природу нельзя купить или продать, взять в долг или скопировать. Ни с чем не сравнимое, незабываемое, бесстыдное, стихийное, как земля и лёд, вода, огонь и воздух, квинтэссенция, чистый дух, не разлагаемый на компоненты.
— Джей Гриффитс

На каждой неделе, пока мы пишем про чудеса, интересные и сложные задачи и новые открытия в природе Вселенной, у вас есть возможность отправлять мне вопросы и предложения для еженедельного выпуска «Спросите Итана». И хотя на каждой неделе вопросов, кажется, всё больше, интересные среди них по-прежнему встречаются. На этой неделе честь достаётся Джону Пашкову (второй раз уже), который спрашивает:

Связаны ли каким-то образом силы расширения у инфляции и тёмной энергии? Очень странно было бы, если бы существовали две разные силы, причиняющие расширение Вселенной.

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

image
Читать полностью »

Возможно, внеземная жизнь скрывается в окружающей материи - 1
NGC 1300, пример спиральной галактики с перемычкой. Фото: NASA, ESA, The Hubble Heritage Team STScI/AURA

Английский писатель-фантаст Артур Кларк в своём творчестве сформулировал три (четыре) закона, которые впоследствии стали называть законами Кларка. Один из них самый известный. Он гласит, что любая достаточно развитая технология неотличима от магии.

Если вы покажете средневековому человеку смартфон с синтезатором речи и музыкальным плеером, то он однозначно признает в вас волшебника или ведьму. Даже банальное электричество покажется ему магией. Но закон Кларка применим не только к нашим предкам, но и к современным людям.

Возможно, Артур Кларк был недостаточно амбициозен в своих размышлениях. Что если внеземная цивилизация продвинулась настолько далеко, что мы не просто посчитаем её технологию магической, но вообще не сможем отличить от физических явлений окружающего мира? Такую смелую точку зрения выдвинул известный физик Калеб Шарф (Caleb Scharf) из Колумбийского университета (США), статья которого опубликована в ноябрьском номере журнала Nautilus Cosmos.
Читать полностью »

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

Но в постиндустриальном обществе качество их работы удовлетворяет всё меньше. Что-то не так с самими институтами или просто человек XXI века ставит повышенные требования, которые старым системам не под силу удовлетворить — вопрос дискуссионный. Факт в том, что они стали слишком непрозрачны, слишком громоздки и, главное, слишком медлительны для современных темпов жизни. На смену им приходят технологии — теперь они должны обеспечить современному человеку тот уровень доверия, который необходим для комфортной жизни.

О том, как технологии, включая блокчейн, меняют взаимоотношения между людьми, удовлетворяя фундаментальную потребность во взаимном доверии новыми способами — выступление Рейчел Ботсман на TED в июне этого года:

Читать полностью »

Примерно год назад начались продажи полнокадровых объективов AF-S Nikkor 24-70mm f/2.8E ED VR. Спустя некоторое время первые владельцы новинки заметили некие артефакты, приняв их за пыль или другие инородные тела, проникшие в изделие. Однако производитель развеял опасения, Читать полностью »

Я уже несколько раз писал о том, что по неизвестным причинам в китайских интернет-магазинах нет хороших светодиодных лампочек. Совсем нет.

При этом почти все приличные светодиодные лампы, которые можно купить в России, производятся в том же самом Китае.

Однажды в комментариях к моей статье о плохих китайских лампочках-свечках один из комментаторов написал: «Я отцу взял эти 5w. В люстре у него 15 штук. Доволен выше крыши и ещё попросил 15 штук.»

Я не пожалел кровных пяти долларов и решил проверить, заказав две лампочки.

Ещё раз про китайские лампочки: всё очень плохо - 1

Читать полностью »

Организация SD Association представила свою новейшую разработку — новый класс скорости. Он закреплен в спецификации SD Specification 5.1.

Новый класс скорости называется Application Performance Class. Он призван указывать на гарантированные возможности карточки по части хранения и запуска приложений. SD Association уточняет, что карточки с маркировкой Application Performance Class можно использовать не только для хранения и запуска приложений, но и для хранения данных — видео, звукозаписей, фотографий и т.п. Предусмотрено два варианта обозначения класса: полный и краткий.

Компания Japan Display (JDI) сообщила о создании жидкокристаллического дисплея размером 3,42 дюйма по диагонали, предназначенного для гарнитур виртуальной реальности (VR). Разрешение панели, изготовленной по технологии низкотемпературного поликристаллического кремния, составляет 1440 x 1700 пикселей. Указанные размер и разрешение соответствуют плотности 651 пиксель на дюйм.

Компания MediaTek сегодня представила технологию UltraCast. По словам производителя, это первая технология, реализующая на уровне чипсета потоковое вещание видео 4K по беспроводному подключению. Используя UltraCast, пользователь получает возможность смотреть на большом экране — например, телевизоре — видео 4K, воспроизводимое на смартфоне.

Поддержка UltraCast скоро появится в чипсетах MediaTek Helio

Читать полностью »