User
Просмотр IP-TV от Ростелекома на компьютере
Невызванная функция замедляет программу в 5 раз
Автор занимается оптимизацией производительности Chrome в компании Google — прим. пер.
Летом 2017 года я боролся с проблемой производительности Windows. Завершение процессов происходило медленно, сериализованно и блокировало системную очередь ввода, что приводило к многократным подвисаниям курсора мыши при сборке Chrome. Основная причина заключалась в том, что при завершении процессов Windows тратила много времени на поиск объектов GDI, удерживая при этом критическую секцию system-global user32. Я рассказывал об этом в статье «24-ядерный процессор, а я не могу сдвинуть курсор».
Microsoft исправила баг, и я вернулся к своим делам, но потом оказалось, что баг вернулся. Появились жалобы на медленную работу тестов LLVM, с частыми подвисаниями ввода.
Но на самом деле баг не вернулся. Причина оказалась в изменении нашего кода.
Реактивный самолёт своими руками: «Два дебила — это сила»
Игорь со своим дружбаном в феврале засели за винишком и задумали построить планер легче 115 кг (чтобы хакнуть Росавиацию). Ставить электромоторы было не круто, поэтому они поставили турбореактивные движки. Потому что могут.
10 ноября 2018 был совершен первый полет на самодельном планере весом до 115 кг с турбореактивным приводом (2х30кг JetCat P-300 Pro). Даже петлю Нестерова выполнили.
«Я думал что будет круто, но я не думал что будет настолько о… енно! Мы сделали это! Два дебила — это сила».Под катом — экспресс фотоотчет (очень хочется побыстрее поделиться новостью, поэтому не ругайте за видео с мобильника и прочие ляпы).
— Игорь, пилот-испытатель
DISCLAIMER — комментарии сугубо мои, пилоты и техники разговаривали на непонятной суперпрофессиональной белиберде, которую я не разобрал. (Меня уже отругали за «изнасилованные термины» и за «самолёт», который планер.)
F# меня испортил, или почему я больше не хочу писать на C#
Раньше я очень любил C#
Это был мой основной язык программирования, и каждый раз, когда я сравнивал его с другими, я радовался тому, что в свое время случайно выбрал именно его. Python и Javascript сразу проигрывают динамической типизацией (если к джаваскрипту понятие типизации вообще имеет смысл применять), Java уступает дженериками, отстутствием ивентов, value-типов, вытекающей из этого карусели с разделением примитивов и объектов на два лагеря и зеркальными классами-обертками вроде Integer
, отсутствием пропертей и так далее. Одним словом — C# клевый.
Отдельно отмечу, что я сейчас говорю о самом языке и удобстве написания кода на нем.
Тулинг, обилие библиотек и размер сообщества я сейчас в расчет не беру, потому что у каждого
из этих языков они развиты достаточно, чтобы промышленная разработка была комфортной в большинстве случаев.
А потом я из любопытства попробовал F#.
Познакомьтесь с анархистами, самостоятельно делающими лекарства
«Уксусный коллектив четырёх воров» – сеть анархистов, опирающихся на технологии, и бросающих вызов гигантам фарминдустрии при помощи самостоятельно изготовленных лекарств
Впервые я познакомился с Майклом Лофером, когда он швырялся в аудиторию хакерской конференции HOPE (Hackers on Planet Earth), проходящей раз в два года в Нью-Йорке, лекарствами на тысячи долларов.
«Кто-нибудь из присутствующих переживал анафилактический шок, не имея доступа к эпинефрину?» – спросил Лофер у аудитории. Поднялось несколько рук, и Лофер швырнул одному из поднявших руку людей изготовленную в домашних условиях EpiPen [похожее на шариковую ручку устройство для самостоятельных инъекций адреналина / прим. перев.]. «Это одно из первых сделанных нами устройств, — сказал он. – Используйте его с умом».
Немного позлорадствовав насчёт того, как Мартин Шкрели из племени фармацевтических гигантов поднял цены на препарат дараприм, необходимый для людей, страдающих от ВИЧ, с $13 до $750, Лофер посерьёзнел. «Прошло два года, но несмотря на всё произошедшее, стоимость препарата дараприм не поменялась», — сказал он. Он залез в карман и достал пригоршню белых таблеток. «Думаю, надо раздать ещё немного», — сказал Лофер, и швырнул дараприм в аудиторию.
Печать на 3D принтере сложных деталей из пластиков ABS и PLA с большим количеством поддержки
У одного из наших заказчиков возникли сложности в подготовке, печати и постобработке детали (см. ниже). Сверху на картинке –лицевая сторона, внутренняя сторона (вторая картинка) печатается с поддержками.
Сложность 3D печати заключается в том, что поддержки с черновой стороны детали удалить практически невозможно, они либо удаляются с кусками детали, либо первые слои детали провисают над поддержками и печатаются не ровно.
Spectrum-48 против пачки сигарет, каша из топора или что может STM32F103C8T6+video(update)
Итак, исходно-расходные материалы:
- «Blue pill»: STM32F103C8T6 — 20K ram 64K flash $2.06
- «Ардуино Display»: ILI9341 2.8" 320x240 с сенсорным экраном и слотом карточки $7.72
- Пищалка $0.18
- Немного кнопок (7 штук) $0.2
- Немного проводов $0.1
- Флеш карта на 64 мега (с древнего фотоаппарата), в расчет не включена
- Программатор ST-LINK, не расходуется и в расчет не включен, однако тоже пару долларов стоит
- Пачка сигарет — расходуется слишком быстро и каждый день -$8.37
Насекомообразный робот получает питание по лучу лазера
Источник: Вашингтонский университет
При создании роботизированных устройств любого типа есть одна важная проблема — обеспечение этих систем питанием. Кто-то встраивает в них аккумуляторы, кто-то подводит питание проводами, ну а кто-то предлагает иные варианты. Разработчики из Вашингтонского университета на Международной конференции по робототехнике и автоматизации, проходившей на прошлой неделе в Австралии, показали робота-насекомое, которое получает питание по лучу лазера.
В принципе, это интересный вариант, который позволяет избавить робота от громоздких аккумуляторов и ограничения по времени работы. «Насекомое» будет летать столько, сколько включен луч лазера. Сфера применения такой системы ограничена указанными особенностями, но это ограничение не такое уж и сильное.
Проект «Морровинд»
Вам нужно сыграть в Morrowind.
(Предупреждение: ниже идут несколько абзацев похвал Морровинду, так что вы можете спокойно пропустить их и переходить к самой сути поста.)
В начале Morrowind вы обычный обалдуй, только что сошедший с тюремного корабля с 87 золотыми в кармане (в этом мире одна буханка хлеба стоит 1 золотой, то есть это примерно 35 фунтов — именно столько вам придётся заплатить за 87 упаковок нарезанного белого хлеба в Tesco). Вашим первым заданием будет получение посылки от человека в другом городе, и вы можете или проехаться на силт страйдере (огромном насекомом с длинными ногами, которым, вероятно, управляет вечно пьяный жуткий водитель — почти как в лондонских автобусах) или прогуляться туда пешком по дикой местности, сражаясь с ордами хищных птиц-переростков железным кинжалом, который вы стянули из бюро переписей. Только ваш кинжал всегда промахивается, потому что, видите ли, создатели боевой системы Morrowind вдохновлялись настольными ролевыми играми, а аниматорам платили не так много, поэтому даже если ваше оружие очевидно вонзается в мясистое тело того, в кого вы, игрок, целитесь, нет никаких гарантий, что вы на самом деле попали.
Посему, сломав пару мышей из-за тысяч яростных кликов, вы решаете бросить Morrowind и тратить свою жизнь на что-то более интересное.
Или вы продолжаете играть и узнаёте о том, как усталость влияет на ваши шансы кого-нибудь ударить (и за кем-нибудь приударить), изучаете игровую механику, покупаете новую мышь, добираетесь до Балморы и погружаетесь в один из самых богатых миров, которые я видел в играх. Вы проживаете сюжет, поднимающий вопросы об организованной религии, ксенофобии, колониализме, племенных легендах, пророчествах, свободе воли и выборе приоритетов между собственными интересами и интересами организации, к которой вы принадлежите.
Первая микросхема :)
Предисловие
Очень рад в подробностях рассказать о своей первой интегральной схеме и поделиться перипетиями этого проекта, которым занимался на протяжении прошлого года. Надеюсь, мой успех вдохновит других и поможет начать революцию в производстве домашних микросхем. Когда я приступил к этому проекту, то понятия не имел, во что ввязался, но в итоге узнал больше, чем когда-либо думал, о физике, химии, оптике, электронике и многих других областях.
Кроме того, мои усилия сопровождались лишь самыми положительными отзывами и поддержкой со всего мира. Искренне благодарен всем, кто мне помогал, давал советы и вдохновлял на этот проект. Особенно моим удивительным родителям, которые не только всегда поддерживают и поощряют меня как только могут, но и предоставили рабочее место и смирились с затратами на электроэнергию… Спасибо!
Без дальнейших церемоний представляю первую интегральную схему (ИС), изготовленную литографическим способом в домашних (гаражных) условиях — PMOS-чип двойного дифференциального усилителя Z1.
НАСА доказало, что может ориентироваться в космосе при помощи пульсаров. Куда теперь направимся?
Полстолетия назад астрономы увидели первый пульсар: мёртвую, удалённую, абсурдно плотную звезду, излучающую импульсы с примечательным постоянством. Сигнал объекта был настолько стойким, что астрономы в шутку окрестили его LGM-1 (little green men — «маленькие зелёные человечки»).
Вскоре учёные обнаружили больше сигналов такого типа. Это уменьшило вероятность того, что эти импульсы были делом рук разумных инопланетян. Но фиксирование других пульсаров дало другую возможность: вероятно, объекты, подобные LGM-1, можно использовать для навигации в глубоком космосе, которая может понадобиться будущим космическим миссиям. Мысль состояла в том, что с правильными сенсорами и навигационными алгоритмами на борту космический корабль смог бы самостоятельно определять своё расположение в космосе, замеряя принимаемые сигналы от нескольких пульсаров.
Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтовПредставляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.
То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.
Выдалась однажды такая неделя — безумное время, когда всех вокруг тревожила безопасность. Ощущение было такое, что новые уязвимости появляются ежедневно. Мне было не так уж и просто делать вид, будто я понимаю, что происходит, когда меня об этом спрашивали близкие люди. Их беспокоила перспектива того, что их взломают, что их данные утекут неизвестно куда. Всё это заставило меня на многое взглянуть по-новому.
В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
Сеанс передачи видео звуком через воду с разоблачением
«Господь всемогущий! Кажется я только что убил мистера Мэя!… Но как бы то ни было, продолжим» (С) Дж. Кларксон
В этой статье я расскажу, как передать видео (ну, почти видео) при помощи звука через воду, используя обычный ноутбук, кусок провода, два джека 3.5 мм и две пьезо пищалки. А так же объясню почему и как это работает, расскажу забавную историю про то, как мы это придумали. А в качестве вишенки на торт, к статье прилагается проект на C# с исходниками, чтобы все, кому интересно, сами могли попробовать, ведь научное знание проверяемо, не так ли?
FPGA плата к Raspberry Pi
Некоторое время назад появилась в моем распоряжении плата Raspberry Pi3. Ее возможности действительно впечатляют: и быстрый четырехядерный процессор, и встроенные аппаратные кодеки/декодики аудио/видео/jpeg, сеть Ethernet/WIFI, USB2, HDMI… Прямо настоящий компьютер. Очень круто, что есть разъем GPIO, который позволяет разным умельцам подключать что-то свое нестандартное и особенное. Существует огромное число различных плат расшрения, которые устанавливаются на этот разъем: дисплеи, светодиодные экраны, адаптеры для двигателей, платы АЦП…
Я хотел бы немного рассказать об FPGA плате Марсоход2RPI, которая, как и другие платы расширения, подключается к разъему GPIO распберри, и добавляет нашему микрокомпьютеру совершенно новые свойства.
iPhone 8: вялые продажи, 6 баллов по шкале ремонтопригодности iFixit
Новый iPhone от компании Apple был представлен совсем недавно. И как обычно это случается, многие блогеры, журналисты и просто гики постарались обзавестись этим устройством первыми. Кто-то просто ради того, чтобы быть первым и радоваться этому в социальных сетях. Кто-то — для того, чтобы написать обзор устройства. Ну а ребята из iFixit приобрели этот девайс для того, чтобы его разобрать и понять, насколько он ремонтопригоден.
Команда проекта разобрала смартфон еще в пятницу, и почти сразу выложила результаты анализа «внутренностей» и свои выводы о том, насколько просто будет разобрать и починить девайс. Как оказалось, разница с iPhone 7 не слишком большая. iPhone 7 Plus получил в 2016 году 7 баллов от iFixit. Причина, по которой iPhone 8 досталось меньше баллов — слишком много клея и сложности с отделением стеклянной задней стенки.
Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)
Зачем?
В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.
Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.
Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.
В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Что за болезнь: рак. История лечения
Иллюстрации: Майкл Ковальски
«Магическая константа» 0x5f3759df
Вот полная реализация этого алгоритма:
float FastInvSqrt(float x) {
float xhalf = 0.5f * x;
int i = *(int*)&x; // представим биты float в виде целого числа
i = 0x5f3759df - (i >> 1); // какого черта здесь происходит ?
x = *(float*)&i;
x = x*(1.5f-(xhalf*x*x));
return x;
}
Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы
Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.
Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Автохолодильники, или Как сохранить продукты на выезде. Личный опыт и тесты на себе
Люблю я дикий отдых и люблю путешествия. Недавний мой обзор средств от комаров вызвал интерес, поэтому решил я сделать обзор автохолодильников. Ведь это штука интересная для каждого автовладельца: заехал в магазин по пути на дачу\в деревню\на берег реки с палатками и взял продуктов на выходные. Вот только даже ночью летом температура бывает под 20 градусов и выше. Мясо для шашлыка в таких условиях не проживет и дня. Поэтому я взял три типа холодильников и проверил их на себе. Ну а кому лень читать — в конце статьи будет видео.
Information
- Rating
- Does not participate
- Location
- Камышин, Волгоградская обл., Россия
- Date of birth
- Registered
- Activity