Pull to refresh
0
0
Send message

Как искусственный интеллект поможет спасти мир?

Reading time6 min
Views9.5K


В 2100 году многие наши страхи, описанные как футурологами, так и фантастами, могут стать реальностью. Земля разрушена, Тихий океан покрыт слоем пластика. Люди погрязли во вражде, разрыв между бедными и богатыми продолжает расти.

Представим, что в 2100 году машины стали умными, действительно умными и захватили мир. После тщательного анализа взаимоотношений человечества и окружающей среды компьютерные правители решили избавиться от людей, прежде, чем люди уничтожат Землю окончательно. В общем, мрачноватая картинка, хотя к такому сценарию и склоняются многие футурологи и писатели-фантасты. Конечно, все может быть не так страшно. Так чего можно ожидать от ИИ?
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments28

Новая схема Wi-Fi стеновизора позволяет делать 3D модель невидимого

Reading time2 min
Views12K
Сама по себе задача видеть сквозь стены решена военными и спасателями довольно неплохо уже лет 5 как минимум. Военные стеновизоры видят даже дыхание противника через не слишком толстую стену. То есть новостью про наблюдения людей сквозь стены или распознавание материальных объектов мало кого удивишь из специалистов. Лучше и больше всего технологий существует, конечно, для нужд правоохранителей на поле боя.

У спасателей и археологов задачи несколько иные, чем контроль вероятного противника — часто или препятствия толще, или плоской картинки маловато, а радар особо не потаскаешь вдоль завалов и построек древности. Стоя на одном месте делать 3D картинку можно только самыми дорогими радарами. Для простого решения задач объемного сканирования внутренностей закрытых помещений подойдет новое решение от американских ученых Yasamin Mostofi и Chitra Karanam.


Total votes 9: ↑9 and ↓0+9
Comments3

«Гринпис» и iFixit выступили против запланированного устаревания гаджетов

Reading time4 min
Views27K
Компания iFixit уже много лет ведёт кампанию за ремонтопригодность техники. Она выступает за то, чтобы производители публиковали документацию на свои устройства, не мешали работе независимых мастерских, не мешали заменять комплектующие в своей технике на альтернативные детали сторонних поставщиков и т. д.

iFixit справедливо указывает на то, что производителям выгодно запланированное устаревание гаджетов. Им выгодно, чтобы потребитель выбрасывал поломавшуюся технику, а не чинил её. Они хотят, чтобы человек постоянно покупал новые смартфоны, планшеты, ноутбуки и компьютеры. Производители даже рассчитывают, с какой периодичностью потребитель должен покупать новые гаджеты. Например, смартфоны он должен менять каждые 1,5 года.

Во-первых, такой консюмеризм бьёт по карману людей. Современный человек вынужден работать больше, чем его предки сто лет назад — только для того, чтобы позволить себе постоянно менять гаджеты, автомобили и прочие вещи. Во-вторых, пишет iFixit, постоянная смена гаджетов вместо ремонта увеличивает количество электронного мусора.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments223

История реле: говорящий телеграф

Reading time20 min
Views12K


<< До этого: А вот, наконец, и реле

Телефон возник случайно. Если телеграфные сети 1840-х годов появились благодаря столетнему исследованию возможностей передачи сообщений при помощи электричества, то на телефон люди наткнулись в поисках улучшенного телеграфа. Поэтому довольно легко назначить правдоподобную, хотя и не совсем бесспорную, дату изобретения телефона – год столетия со дня образования США, 1876-й.

И нельзя сказать, чтобы у телефона не было предшественников. С 1830 года учёные-исследователи искали пути превращения звука в электричество, и электричества в звук.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments2

НАСА создаёт тихий сверхзвуковой лайнер с «мягким» звуковым ударом

Reading time3 min
Views18K

Иллюстрация планируемого самолёта Low Boom Flight Demonstration, каким он представлен в предварительном обзоре дизайна (Preliminary Design Review) на прошлой неделе. Иллюстрация: НАСА / Lockheed Martin

НАСА считает, что достигла важной вехи в создании тихого сверхзвукового пассажирского самолёта. На прошлой неделе была завершена стадия предварительного обзора дизайна (Preliminary Design Review) для воздушного судна, известного под кодовым названием Quiet Supersonic Transport или QueSST.

QueSST — это первый этап в разработке экспериментального самолёта Low Boom Flight Demonstration (LBFD), который входит в программу экспериментальных разработок X-plane.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments62

«Изгиб морковки жёлтой»: 8 необычных музыкальных инструментов

Reading time3 min
Views12K
Бывает так, что к традиционным музыкальным инструментам душа не лежит, или просто не получается: о гитару сбиты все пальцы, от баяна болит шея, а на барабане не выходит чёткий ритм. Не стоит отчаиваться, в мире есть много музыкальных инструментов, которые можно сделать своими руками и «подогнать под себя»: о них расскажем сегодня.

Total votes 21: ↑20 and ↓1+19
Comments11

Нейросеть сочинила стихи в стиле «Нирваны»

Reading time3 min
Views16K


Год назад «искусственный интеллект» от «Яндекса» сочинил стихи в стиле Егора Летова, которые затем наложили на музыку в стиле группы «Гражданская оборона». Это был первый музыкальный опыт «Автопоэта», разработанного в компании ещё десять лет назад. С 2006 года он попробовал себя в сочинении стихов под Пушкина, стихов на основе поисковых запросов, его применяли вместе с системой генерации голоса для декламирования стихов в авторском исполнении.

Сейчас разработчики программы Алексей Тихонов и Иван Ямщиков (в данный момент работает в Институте научной математики Общества Макса Планка в Лейпциге) решили повторить опыт и сделать нечто подобное, но уже на английском языке. В качестве образца для подражания «Автопоэту» задали культовую группу Nirvana. Тем более что Курту Кобейну в этом году исполнилось бы 50 лет.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments21

Российское производство встраиваемых систем

Reading time5 min
Views24K
Этот пост будет интересен для тех, кто хочет посмотреть, как выглядит российское высокотехнологическое производство электронного оборудования, а именно встраиваемых систем.



Для тех, кто не знает, что такое встраиваемые системы, простыми словами – это процессорные платы и периферийные модули различных форматов, например, CompactPCI, PC/104, MicroPC, которые встраиваются в разнообразные системы: от промышленной автоматизации до телекоммуникационного оборудования.

Для тех, кто все это знает – не принимайте на свой счет.
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments72

Bug Inside: крохотный шанс сделать громадную ошибку на Pentium

Reading time23 min
Views27K
«Ошибка в Pentium настолько специфичная, что обычный пользователь столкнется с ней раз в 27000 лет»
— руководство Intel

«Вот вам правдоподобный сценарий, когда пользователь будет сталкиваться с ошибкой каждые 3 миллисекунды»
— Воэн Пратт (дизайнер логотипа SUN и соавтор алгоритма Кнута-Морриса-Пратта)

66 MHz Intel Pentium (sSpec=SX837) with the FDIV bug

Вопрос: Сколько нужно разработчиков Pentium чтобы вкрутить лампочку?
Ответ: 1.99904274017, такой ответ должен удовлетворить людей без технического образования.

А теперь главный вопрос: «Чем занимался Томас Найсли с начала июня до конца октября 1994 года?»
Читать дальше →
Total votes 82: ↑67 and ↓15+52
Comments30

Offensive programming: параноидальное, наступательное, атакующее или беззащитное программирование

Reading time6 min
Views18K

Как сделать ваш код лаконичным и послушным одновременно?




Вам когда-нибудь встречалось приложение, которое вело себя очевидно странно? Ну, вы знаете, вы нажимаете на кнопку и ничего не происходит. Или экран вдруг чернеет. Или приложение впадает в «странное состояние» и вам приходится перезагружать его, чтобы все снова заработало.

Если у вас был подобный опыт, то вы вероятно стали жертвой определенной формы защитного программирования (defensive programming), которую я бы хотел назвать «параноидальное программирование». Защитник осторожный и рассудительный. Параноик испытывает страх и действует странно. В этой статье я предложу альтернативный подход: Offensive programming.
Total votes 29: ↑26 and ↓3+23
Comments34

Система отчётов: как получать 50 млн. отчетов и сохранить Дзен

Reading time3 min
Views6.6K


Чем сложнее программный продукт, чем больше он взаимодействует со сторонними системами (часто не менее сложными), тем выше вероятность сбоев в работе. Тестирование помогает найти большинство багов перед выкатыванием релиза, но иногда что-то может проскользнуть. И чтобы быстро получать подробную информацию о факте сбоя и сопутствующих условиях, в наших продуктах широко используется система отчётов. О её устройстве мы хотим сегодня рассказать.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments4

Первый баг на Марсе

Reading time3 min
Views29K
В 1971 году СССР доставили на Марс первые в мире планетоходы «на лыжах», которые должны были щупом (динамический пенетрометр и гамма-лучевой плотномер) ткнуть поверхность, и сказать — Марс твердый или жидкий пыльный. Первый аппарат разбился 27 ноября, второй совершил мягкую посадку 2 декабря, но марсоходик не смог выбраться из «скорлупы» посадочного модуля, поэтому попытку не засчитали.

Прошло 25 лет.
4 июля 1997 года на Марс прилетел американский аппарат и привез «пришельца» с первым багом.


Кадр из к/ф «Марсианин». Главный герой держит в руках марсоход Sojourner

Проект был под угрозой, но мощные инструменты отладки операционной системы и отличная работа программистов на Земле (парни, что надо) позволили в кратчайшие сроки все быстренько исправить.
Total votes 56: ↑48 and ↓8+40
Comments11

Консоль в массы. Переход на светлую сторону. Часть первая

Reading time5 min
Views24K


Вступление


Всем привет! Данная серия статей — это текстовый вариант моего доклада на WSD в Киеве 26 ноября. Решил написать, чтобы дать более развернутое описание темам, которые были затронуты, а некоторые моменты уточнить. Кроме того, есть возможность рассмотреть больше примеров, услышать мнение от тебя, уважаемый читатель. И, конечно же, поделиться информацией с более широкой аудиторией.
Total votes 25: ↑20 and ↓5+15
Comments42

Каникулы Василия или использование МТС ошибки учёта трафика для длительной блокировки счёта

Reading time11 min
Views17K
По следам аналогичной публикации о технических ошибках систем, приводящих к ошибкам в расчётах с клиентами, публикую обещанную историю с МТС. Не реклама. :)

Был август. До 2-го курса студента Василия Задёрганова (персональные данные изменены) оставалось несколько дней. Он был доволен летним интернетом от МТС на тарифе «МТС Коннект-4» по услуге «МТС-Планшет» — 4 ГБ трафика в месяц. И оставался последний день услуги и последний нескачанный гигабайт.

«Эх, скачаю фильм, и укачу на последние дни на природу!» — безмятежно подумал Василий. У него было просчитано всё. Он знал истории об облапошенных велосипедистах-любителях, у которых из-за незакрытого велозамка на прокате массово списывают тысячу рублей. Он знал, что вернут деньги лишь избранным, кто хорошо и красиво напишет об этом и прославит сервис на всю страну. Но это — не его путь. Он сделал всё, чтобы не пострадать. Он — стратег.

1) заранее для интернета завёл отдельную сим-карту;
2) заранее оставил для подлых крохоборов лишь 20 непотраченных рублей на счёте; а мог и меньше; но верил им, что побрезгуют такой мелочью;
3) в Личном Кабинете отключил опции законного жульничества — автоматической оплаты сверхлимитного трафика по повышенному тарифу;
4) там же отключил опцию «передавать трафик на услуге сверх лимита».

Вы поняли, какая перестраховка? Это вам не тракторист Федя, которого вы в этом сезоне обули на рекламе. Кто-то бы успокоился на отключении первой опции, а тут ему — вторая, не автоматическая. Вася — не такой.

… До конца его сим-карты оставалась пара часов.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments124

Консоль в массы. Переход на светлую сторону. Часть вторая

Reading time6 min
Views35K
tmux example

Вступление


Довольно долгое время я использовал в своей работе screen. Но со временем он меня перестал устраивать. Я начал искать альтернативы. Такой альтернативой является tmux. На многих порталах его описывают так: «Это тот-же screen, только на стероидах». Сначала я не мог понять почему такое сравнение пока не попробовал. Скажу честно, я на него не с первого раза перешел. Раза три-четыре пробовал, возвращался к screen’у. Но tmux все же победил.
Total votes 31: ↑28 and ↓3+25
Comments38

История одного бага: выравнивание данных на x86

Reading time14 min
Views17K
Однажды мне пришлось вычислять сумму векторов целых чисел.

Звучит необычно. Кому понадобится делать это в реальной жизни? Обычно такие вычисления встречаются только в задачках из начальной школы или бенчмарках компилятора. Но сейчас это случилось на самом деле.

В реальности стояла задача проверить контрольную сумму заголовков IPv4, которая является суммой обратных кодов (дополнений до единицы) двухбайтных машинных слов. Проще говоря, это означает сложение всех слов и всех битов переноса, которые производятся в процессе. У этой процедуры есть несколько приятных особенностей:

  • её можно эффективно выполнить с помощью процессорной инструкции ADC (к сожалению, эта функция недоступна в C);
  • её можно выполнить на словах любого размера (можете добавить по желанию восьмибайтные значения, только результат следует уменьшить до двух байт и добавить все биты переполнения);
  • она нечувствительна к порядку следования байтов (удивительно, но это так).
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments13

Интуитивное программирование

Reading time5 min
Views25K
За свой относительно небольшой опыт работы (порядка 6 лет) я довольно часто слышал фразы опытных и начинающих программистов — «Я чувствую, что это должно работать», «У меня есть ощущение, что этот метод работать не будет», «Давайте сделаем интуитивно-понятный интерфейс» и так далее. Всё это — проявление интуиции в процессе разработки и программировании.
О ней и пойдёт дальше разговор.


Взято с сайта oprah.com
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments33

Натягиваем ФП на ООП

Reading time2 min
Views12K

Некоторое время назад, вернувшись после полугодового отпуска в функциональном мире, назад в ООП, я в который раз наступил на привычные грабли: случайно изменил состояние.


private double fBm(Vector2D v, int y)
{
    double result = 0f;
    double freq = Frequency;

    for (int i = 0; i < Octaves; ++i)
    {
        result += NoiseFn(permutation, v * freq) * Amplitude;
        freq *= Lacunarity;
        Amplitude *= Gain; // <-- Вот тут.
    }

    return result;
}

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

Читать дальше →
Total votes 24: ↑14 and ↓10+4
Comments34

Абстрагируемся от горячих клавиш в десктопных приложениях, или как отлаживаться в любом IDE одними и теми же кнопками

Reading time11 min
Views10K
При работе со многими программами использование разнообразных комбинаций горячих клавиш — залог высокой производительности и удобства для пользователя. Для достаточно сложных программ мы заучиваем десятки специфических комбинаций клавиш для различный действий. Это позволяет сосредоточиться на фактической работе, а не на блуждании мышкой по многоэтажным меню в поисках необходимого пункта.

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

Это хорошо, однако у данного интерфейса пользовательского ввода есть проблемы.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments34

Поиск утечки GDI объектов: Как загнать мастодонта

Reading time6 min
Views16K
Строго говоря именно это оригинальный текст статьи, а в блоге уже перевод. Здесь статья публикуется чуть позже и только потому получает бирку перевод.

В 2016 году, когда большинство программ выполняются в песочницах, из которых даже самый некомпетентный разработчик не сможет навредить системе, странно сталкиваться с проблемой, о которой дальше пойдет речь. Если честно, я надеялся, что она ушла в далекое прошлое вместе с Win32Api, но недавно я с ней столкнулся. До этого я лишь слышал жуткие байки старых более опытных разработчиков, что такое может быть.

Проблема


Утечка или использование слишком большого числа GDI объектов.

Симптомы:


  • В Task Manager на вкладке Details колонка GDI objects показывает угрожающие 10000(Если этой колонки нету, ее можно добавить, кликнув на заголовке таблицы правой кнопкой и выбрав пункт Select Columns)
  • При разработке на C# или другом языке выполняемом CLR полетит исключение, не блещущее конкретикой:
    Message: A generic error occurred in GDI+.
    Source: System.Drawing
    TargetSite: IntPtr GetHbitmap(System.Drawing.Color)
    Type: System.Runtime.InteropServices.ExternalException

    Также при определенных настройках или версии системы исключения может и не быть, но Ваше приложение не сможет нарисовать ни единого объекта.
  • При разработке на С/С++ все методы GDI вроде Create%SOME_GDI_OBJECT% стали возвращать NULL
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments21

Information

Rating
Does not participate
Registered
Activity