Обновить

Разработка

Сначала показывать
Период
Уровень сложности

Миссия невыполнима

Время на прочтение8 мин
Количество просмотров9.1K
image
Пожалуй наиболее известной надписью в Центральном Разведывательном Управлении США, штаб-квартира которого располагается, как мы все знаем, в Ленгли — штат Вирджиния, являются библейские слова выщербленные в мраморе главного холла: «And ye shall know the truth, and the truth shall make you free» (И да узришь ты истину, и истина сделает тебя свободным, Иоанн 8:32) Однако в последние годы, другой текст стал предметом всеобщего ажиотажа и интереса; текст, являющийся квинтэссенцией всего происходящего в стенах ЦРУ — это 865 символов кажущихся абсолютной бессмыслицей, выдавленной в медном листе толщиной 1,3 см.

Инсталляция Kryptos, созданная человеком по имени Джеймс Санборн (James Sanborn), обосновалась при дворе ЦРУ в уже далеком 1988, когда за основным зданием началась постройка нового и более современного офиса. Агентству нужна была уличная скульптура между двумя постройками, поэтому выбор пал на образец искусства «для всех», который на самом деле никто и никогда не сможет «увидеть». Санборн не просто так назвал свое творение греческим словом «скрытый», ведь эта работа — ярчайшая иллюстрация скрытности, тайности, интимности и иллюзорности человеческой жизни, текст которой является одним из самых идеальных кодов на сегодняшний день.
Читать дальше →

Разработка DIY компьютера на базе FPGA

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

Желание поиграть в проектирование собственного процессора обычно приводит к покупке платы с FPGA. Но мне захотелось сделать шаг дальше и начать не с Verilog-а, а с паяльника.

Это статья о том, как я занялся разработкой электроники, не имея почти никакого опыта в этой сфере. Цель - сделать устройство с FPGA на котором можно загрузить Linux, подключить экран и клавиатуру, а потом прямо там писать и компилировать код.

Зачем это нужно? Это хобби. Практической ценности не имеет. Просто я так развлекаюсь. А сейчас у меня, к моему собственному удивлению, все задуманное получилось, и я хочу показать и похвастаться.

Читать далее

Предчувствие будущего: фальшивые книги, победившие настоящий контент

Время на прочтение4 мин
Количество просмотров39K
В конце прошлого года, на пике ажиотажа вокруг невзаимозаменяемых токенов (non-fungible token, NFT), я приобрёл на Amazon с дюжину книг по NFT с самым высоким рейтингом:


Я поступил так, потому что хотел опубликовать сбалансированную критику NFT, решив, что честнее всего это будет сделать, ознакомившись с самыми красноречивыми аргументами, выдвигаемыми сторонниками этой технологии.

Вскоре я выяснил, что все книги склоняются к одному центральному аргументу: ценность — неотъемлемое следствие дефицита.

Моё опровержение этого аргумента было простым: это исключение, а не правило. Каракули моего ребёнка дефицитны, но в художественной галерее они заработали бы не особо много. Увы, хоть этого было достаточно для твита, для подробного поста оказалось маловато.
Читать дальше →

C++ быстрее и безопаснее Rust, Yandex сделала замеры

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

Спойлер: C++ не быстрее и не медленнее и вообще смысл не в этом. Эта статья является продолжением славных традиций развенчания мифов крупных российских компаний о языке Rust. Предыдущая была "Go быстрее Rust, Mail.Ru Group сделала замеры".


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


В 2019 году я был на конференции C++ CoreHard, слушал доклад Антона antoshkka Полухина о незаменимом C++. По словам Антона, Rust еще молодой, не очень быстрый и вообще не такой безопасный.

Антон Полухин является представителем России в ISO на международных заседаниях рабочей группы по стандартизации C++, автором нескольких принятых предложений к стандарту языка C++. Антон действительно крутой и авторитетный человек в вопросах по C++. Но доклад содержит несколько серьёзных фактических ошибок в отношении Rust. Давайте их разберём.

GitHub превращается… превращается GitHub… в элегантный Windows 95

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


В Твиттере какое-то время назад запостили шутку в честь приобретения Майкрософтом ГитХаба — страницу сайта, перестилизованную в стиле Windows 98. Я решил, что шутка слишком хороша, чтобы оставаться шуткой.

Давайте перекрасим GitHub!

Сказ о том, как у украинского оператора появились серьезные проблемы

Время на прочтение2 мин
Количество просмотров124K
Из-за серьезной ошибки в безопасности оператора life:) теперь можно путем нехитрых махинаций заполучить в полное пользование номер любого человека, пользующегося данным ОСС.

image
Подробности

Как узнать все платежи в системе Яндекс.Деньги?

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


Безопасен ли сервис «Яндекс.Деньги»?
Да. Мы делаем всё, чтобы сервис был надежным и безопасным.

Яндекс.Деньги

Ответ на вопрос в заголовке под катом.
Читать дальше →

Заблуждения программистов относительно времени

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

За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.


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


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

Читать дальше →

Гугл научился строить графики математических функций

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

(кликабельно)

Теперь вы можете построить графики математических функций прямо на странице результатов поиска. Просто введите в строке поиска функцию и вы увидите интерактивный график в верхней части страницы результатов поиска.
Читать дальше →

Теория шести рукопожатий: еще одно подтверждение

Время на прочтение4 мин
Количество просмотров78K
Однажды в студеную зимнюю пору я столкнулся с упоминанием того, что кто-то в Facebook пытается подтвердить теорию шести рукопожатий. Для тех кто не в курсе, эта теория заключается в том, что все жители земли в среднем знакомы друг с другом через цепочку из пяти друзей (т.е. шести рукопожатий). Подробнее об истории этой теории можно прочитать в википедии, там же можно узнать о том, что Майкрософт несколько лет назад пыталась подтвердить эту теорию на основе данных о контакт-листах мессенджера MSN — в результате у них получилось 6,6 рукопожатий, что вполне вписывается в теорию.

Очень мне захотелось эту теорию подтвердить самому, используя данные, которые есть под рукой — ВКонтакте. Для претворения моей странной идеи в жизнь надо было решить целый комплекс проблем:
  1. На каких данных это все расчитывать.
  2. Где эти данные взять.
  3. Как эти данные сохранять.
  4. Каким алгоритмом воспользоваться для расчетов.
подробнее о том, что получилось

История противостояния OpenGL и Direct3D

Время на прочтение11 мин
Количество просмотров26K
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

Зарождение конфликта

Оживляем неизвестный дисплей от японского поезда/автобуса

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров20K
Как-то раз, очередным томным субботним вечером, я в очередной раз листал от нефиг делать Yahoo! Auctions — одну из крупнейших японских сетевых барахолок. Внезапно, среди рекомендуемых лотов появился вот такой внушительных размеров электровакуумный дисплей:



Однако, рулить дисплеем, как правило, та ещё задача. «Особенно если динамическая индикация, да ну его, влом!» — подумал было я. Но у того же продавца обнаружилась и, судя по всему, управляющая плата:



На фотографии виднеется 8085 процессор, 8251 UART и ПЗУшка — казалось бы, дизассемблируй себе, разбирай протокол, да просто с ардуины выводи что угодно. Да ещё и за одну йену, это прям даром! После этого я решил всё же попытать удачу и выхватить этот дисплей. Тем более, что давно уже хотелось какие-нибудь красивые часики в комнату…
Читать дальше →

Игровой программный рендеринг в 2022-м году

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


Программный рендеринг был широко распространён в играх на ПК до повсеместного распространения т. н. 3d-ускорителей (видеокарт). Каждая игра содержала свой собственный код рендеринга, каждая игра имела свои уникальные особенности в нём. Но с распространением видеокарт программный рендеринг в играх умер.


Я раньше задавался вопросом, а что было бы, если бы программный рендеринг был бы до сих пор распространён? В конечном итоге, я решил реализовать свой программный рендеринг, нацеленный на современные процессоры, чтобы это узнать.

Читать дальше →

Ближайшие события

Будущее российской микроэлектроники

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

В конце февраля 2022 года крупнейший тайваньский производитель полупроводников TSMC объявил о прекращении поставок и производства отечественных микропроцессоров из-за новых санкционных ограничений, введённых Бюро экспортного контроля Минторга США в ответ на военные действия на Украине. Под удар попали дизайн-центры МЦСТ, Байкал Электроникс, Ядро, НТЦ «Модуль», МТЦ «Элвис». Это буквально задушило все существующие и планируемые разработки микропроцессоров, включая всю линейку процессоров Байкал и практически все процессоры Эльбрус. Прямо сейчас Байкал Электроникс находится в подвешенном состоянии, поскольку производство порядка 200 тысяч процессоров на TSMC уже оплачено, 150 тысяч кристаллов готовы, но их предстоит корпусировать и ещё 50 тысяч чипов должны находиться в производстве. Ситуация критическая – никто не знает что будет дальше и вероятность того, что в дальнейшем с российскими разработчиками микросхем не будет работать ни одна фабрика в мире, включая китайские, выше 50%. На данный момент положение микроэлектронного производства в России таково, что ни одна процессорная разработка малой топологии невозможна по определению – у нас просто нет собственных производственных мощностей.

Читать далее

Как увидеть ℼ? Нужно швырнуть ℼ в стену

Время на прочтение2 мин
Количество просмотров50K
Лучший способ объяснить школьникам и самому себе, что такое фазовое (конфигурационное) пространство.

image


Дано: Два блока массой 1 кг и 100 (10 000, 1 000 000,… 100x) кг. Трение в системе отсутствует, удары абсолютно упругие (потерь энергии нет). Более массивный блок ударяет менее массивный и тот отскакивает от него, а потом от стенки слева. Справа стены нет, тела могут двигаться в бесконечность.

Вопрос: Сколько столкновений совершит маленький блок, пока система не придет в состояние, когда столкновения невозможны (скорость маленького тела меньше скорости большого, двигающегося в бесконечность)?

Ответ невероятен:

image


В очередной раз поражаюсь изящности объяснений от 3Blue1Brown. Предлагаю читабельный конспект с небольшими сокращениями и дополнениями.

Несколько интересностей и полезностей для веб-разработчика #19

Время на прочтение4 мин
Количество просмотров54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

DC.js



Библиотека позволяет создавать великолепные многоуровневые/масштабируемые кроссплатформенные графики и диаграммы с моментальным перерендерингом при пользовательском взаимодействии. За процесс визуализации отвечает знаменитая d3.js, а за анализ многомерных наборов данных crossfilter.js. Кстати кроссфильтр — проект небезызвестной компании Square.
chart.renderlet(function(chart){
    // smooth the rendering through event throttling
    dc.events.trigger(function(){
        // focus some other chart to the range selected by user on this chart
        someOtherChart.focus(chart.filter());
    });
})


Читать дальше →

Сноуден пролил свет на ситуацию со взломом криптографии. Все плохо

Время на прочтение3 мин
Количество просмотров187K
Свежая порция секретных документов от Эдварда Сноудена дает понять, каким образом Агентству Национальной Безопасности США удается обходить криптозащиту Интернет-коммуникаций.

Сразу в трех изданиях (The Guardian, The New York Times и ProPublica) были выложены выдержки из секретного бюджета АНБ, согласно которым с 2000 года, когда стали массово внедрятся средства шифрования, спецслужбы США потратили миллиарды долларов на взлом криптографии в рамках секретной программы Bullrun (названа в честь первого крупного сражения Американской Гражданской войны, произошедшего 21 июля 1861 года возле Манассаса, штат Виргиния).

Деятельность Агентства не ограничивалась научными исследованиями алгоритмов и строительством дата-центров для взлома коммуникаций методом перебора ключей. Выяснилось, что Агентство давно и успешно работает с IT-компаниями по вопросу встраивания в их продукты закладок для спецслужб США, а также ведет работу по обнаружению уязвимостей в механизмах шифрования и целенаправленному ослаблению международных алгоритмов защиты данных (сообщается о неназванном международном стандарте шифрования, принятом Международной организацией по стандартизации в 2006 году). На одно только встраивание бэкдоров в популярные коммерческие продукты, в рамках программы SIGINT, ежегодно тратится 250 млн. долларов.

Согласно документам, наибольшие усилия предпринимаются для взлома протокола SSL, обеспечивающего безопасность большинства коммуникаций в современном Интернете. VPN и технологии защиты 4G также являются одними из приоритетных направлений. АНБ поддерживает внутреннюю базу данных ключей шифрования, позволяющую мгновенно расшифровывать соединения. Если же необходимых ключей не оказывается, то запрос переходит к специальной «Службе восстановления», которая пытается получить его различными способами.
Читать дальше →

Звук диалапа

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

Финский инженер Оона Ряйсянен (Oona Räisänen) составила чёткую блок-схему с описанием всех звуков, которые издаёт диалап-модем при установке соединения. Горизонтальной оси соответствует время в секундах, вертикальной — частота звука в герцах.


Описание наложено непосредственно на спектрограмму. Для каждого звука помечен источник (наш модем или чужой) и объяснение, что значит конкретно этот сигнал.

Читать дальше →

О том, как идея побеждает маркетинг, а сельские дети калькулятор. В уме

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

Вместо предисловия


Гуляем в субботу с друзьями на одной московской площади. Вокруг празднично, много народу. Хороший приятель с исключительно гуманитарным образованием, работающий в продажах, неожиданно поворачивается и говорит: «Слушай, забыл сказать: вы своим приложением спасли меня от скуки. Мозг кипит, очень здорово! Особенно неметрическая система радует».

Воскресенье, вечер. Раздается звонок на мобильный: «Алло, Антон? Слушай, тут в задаче 925 нет подсказки с переводом вершков в аршины. Не забудь поправить в обновлении!» И это человек, который в пятницу жаловался, что считать в уме тяжело, выдержки не хватает.

Понедельник. Сижу рядом с домом в кофейне, дописываю код версии 1.1. Заходит мужчина лет тридцати. Хорошее пальто, костюм. Берет кофе, достает iPad и открывает новости. Через 15 минут вижу знакомый экран. Говорю: «Я — разработчик!» Он: «Врешь?» Показал паспорт, пообщались.
Читать дальше →

CSS хаки

Время на прочтение4 мин
Количество просмотров126K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →