Pull to refresh
145
0.2
Send message

Сказание о static и неименованном пространстве имен для функции в C++

Level of difficultyEasy
Reading time7 min
Views5.8K

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

// Все персонажи и события вымышлены, любые совпадения случайны.

Читать далее
Total votes 12: ↑13.5 and ↓-1.5+15
Comments37

Если покупка — это не владение, то пиратство — не воровство

Reading time6 min
Views48K

Двадцать лет назад я ввязался в публичную перепалку (дружескую) с Крисом Андерсоном, работавшим тогда главным редактором Wired. Я публично выразил своё разочарование публикуемыми в Wired радужными обзорами отягощённых DRM цифровых устройств. Андерсон сказал, что я идеалист, если жду, что журнал откажется от обзоров гаджетов из-за DRM:

https://longtail.typepad.com/the_long_tail/2004/12/is_drm_evil.html

Я публично ответил, сказав ему, что он неправильно меня понял. Дело было не в идеологической чистоте, а в добросовестности обзоров. Wired призывал покупать продукт, потому что у него имелись функции x, y и z, но в любой момент в будущем производитель мог отключить любые из этих функций:

https://memex.craphound.com/2004/12/29/cory-responds-to-wired-editor-on-drm/
Читать дальше →
Total votes 212: ↑225 and ↓-13+238
Comments627

Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?

Level of difficultyEasy
Reading time36 min
Views138K

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

Читать далее
Total votes 283: ↑245.5 and ↓37.5+208
Comments1129

Как напечатать float

Reading time15 min
Views18K

Казалось бы, совершенно непонятно, зачем живым людям в 2021 году решать задачу под названием «печатаем обычное вещественное число». Вроде бы это должно быть уже решено — причём примерно в тот момент, когда эти вещественные числа изобрели. Но оказывается, что нет. 

Привет, меня зовут Андрей, я занимаюсь инфраструктурой поиска в Авито и сегодня расскажу, зачем это вообще нужно — печатать вещественные числа. Какие есть методы (один) решения этой боевой задачи и как это получилось у нас в проекте, в рамках наших очень странных требований. А также, зачем таки подобное, хм, умеренно эзотерическое знание, может когда-то понадобиться и вам. На каком бы вы языке не писали. Read on!

Читать далее
Total votes 45: ↑44 and ↓1+43
Comments23

Фильтрация шума сигнала

Reading time7 min
Views40K

Фильтрация шума очень важная вещ, при работе с различными датчиками. Сигнал, получаемый от них всегда приходит с шумами, и важно уметь их грамотно отфильтровать. Качественная фильтрация шума способна уменьшить погрешность и увеличить качество измерения датчика. Этим мы сегодня и займемся.

Читать далее
Total votes 45: ↑40 and ↓5+35
Comments38

Signal Integrity of DDR4

Level of difficultyHard
Reading time15 min
Views15K

Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса.

Читая документацию на различные микросхемы CPU, FPGAs, DSPs, ASICs можно увидеть много различных рекомендаций, так называемых «Rules of Thumb», по трассировке DDR3/4 SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory — синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Но в ней редко можно встретить информацию почему именно так это необходимо делать. В этой статье я попытаюсь вам объяснить различные способы улучшения SI с точки зрения схемотехники и топологии.

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

Backblaze: надёжность жёстких дисков падает год от года. Это актуально для HDD большинства производителей

Reading time3 min
Views20K

Компания Backblaze, провайдер облачных сервисов, регулярно публикует отчёты о выходе из строя жёстких дисков, находящихся у неё в эксплуатации. HDD — сотни тысяч, поэтому статистика получается интересной. Правда, обычно такие отчёты выглядят более-менее одинаково: какие-то модели дисков выходят из строя чаще, какие-то реже.

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

Читать далее
Total votes 69: ↑68 and ↓1+67
Comments130

Я в благородство играть не буду: как производители дешевых смартфонов закладывают срок службы в свои устройства

Level of difficultyEasy
Reading time12 min
Views73K
image

Во все времена существования мобильных телефонов, дешевый сегмент всегда оставался одним из самых прибыльных и массовых направлений мобильного бизнеса. Помимо «простозвонилок» в духе Nokia 1100 или 1202, на рынке есть огромный спрос к ультрабюджетным смартфонам ценой до 10 тысяч рублей. И если с дешевыми девайсами у локальных ритейлеров всё понятно (чипсеты 5+ летней давности, минимальный объём ОЗУ и ПЗУ, простенькие TN-матрицы низкого разрешения), то китайские магазины готовы предложить по этой цене устройства с небывало щедрыми характеристиками — и 8Gb RAM, и 512Gb ROM, и Snapdragon 888+. Для большинства покупателей неочевидно, что эти характеристики — обман, а девайс будет обладать лишь базовыми параметрами. Но что самое обидное, производитель закладывает программный и аппаратный срок службы в такие устройства, из-за чего более половины смартфонов выходят из строя через 4-5 месяцев после покупки, а в СЦ за ремонт просят половину цены от нового. Около года назад я купил почти новую китайскую реплику Huawei P30 Pro с родной коробкой и заводской плёнкой всего за 400 рублей, которая уже была не рабочей. Сегодня мы с вами: узнаем о том, как производители экономят и закладывают срок службы в бюджетные мобилки, на практике отремонтируем подобный девайс своими руками (причём ремонт обойдется нам в 70 рублей) и посмотрим, можно ли пользоваться таким бюджетником за 470 рублей на в 2023 на практике. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 172: ↑162 and ↓10+152
Comments163

Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова

Reading time19 min
Views45K
Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причинам, это удается не всегда. Тогда и встает вопрос создания собственного парсера для заданного формата. И это, как говорят англичане, часто оказывается PITA (болью в ...). В этой статье я постараюсь облегчить эту боль. Кому интересно, добро пожаловать.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments24

Плюсы и минусы мульти-мониторной конфигурации

Reading time4 min
Views31K
Желание стать эффективнее и производительнее приводит многих дизайнеров к поиску методов улучшения рабочего процесса. Одно из распространённых решений — использование нескольких мониторов, способное дать значительные преимущества. В этой статье рассматриваются «за» и «против» такого решения.

«ЗА»


+1) Производительности труда растёт


Наибольшее преимущество — это, конечно, рост производительности труда.

Было проведено немало исследований, которые пытались подсчитать как именно меняется производительность труда от внедрения мульти-мониторной системы. В соответствии с исследованием Jon Peddie Research производительность вырастает на 42%.

В отчёте Pfeiffer 2005 года говорится что в результате повышения производительности, инвестиция во второй монитор (или увеличение диагонали первого) может дать годовой прибыли до нескольких тысяч американских долларов.

Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments105

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views45K

В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 161: ↑160 and ↓1+159
Comments61

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Level of difficultyHard
Reading time13 min
Views81K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Total votes 370: ↑369 and ↓1+368
Comments156

Ода бесполезности споров

Level of difficultyEasy
Reading time6 min
Views34K

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

Традиционно начну издалека. Меня всегда интересовал вопрос: Почему ученые, раз такие умные, не вступают в дискуссии с обывателями, одержимыми разными лженаучными глупостями – ведь показать им истину не сложно: наука выработала многоженство инструментов, способных убедительно доказать любой спорный вопрос: от наличия законов Менделя на примере садовых мушек, до отмены «Новой Хронологии» через дендрохронологический анализ.

Сейчас я знаю ответ – переубедить сторонников лженаучных теорий невозможно. Но вовсе не потому, что они серьёзно заблуждаются. А в точности до наоборот – их невозможно переубедить, потому что они не заблуждаются вообще.

Рассмотрим это на историческом примере:
Total votes 260: ↑253 and ↓7+246
Comments474

Как работает протокол X11 на самом нижнем уровне

Level of difficultyMedium
Reading time13 min
Views36K

X11 это тот механизм на чем работает весь графический интерфейс Unix подобных ОС.


Но мало кто знает как он работает на самом деле. Потому что с годами он оброс слоями и слоями библиотек, которые стремятся скрыть саму сущность протокола.


А протокол в своей сути прекрасен. Он лаконичен и почти совершенен.


В Интернете есть полная документация по протоколу. Но дело в том, что эта документация большая, написана не совсем ясным языком и, по сути, является просто спецификацией. Важные моменты никак не обозначены, а как использовать – тоже оставлено на фантазию читателя.


А все книги и статьи по использованию X11 описывают это через библиотеки прокладки типа XLib и XCB, и даже, что хуже, GTK или Qt.


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


Как бы то ни было, если кому-то интересно как все работает на самом деле, пожалуйста под кат.

Читать дальше →
Total votes 201: ↑199 and ↓2+197
Comments182

Восстановление PDP 11/04

Reading time12 min
Views45K
Перевод статьи по восстановлению одной старой интересной машинки. Много тяжелых картинок. Курсивом мои комментарии.

Этот PDP 11/04 изначально принадлежал Ericsson. Мы получили его в конце восьмидесятых от EDKX — компьютерного клуба Ericsson. Компьютер был передан по частям, но всё было на месте за исключением пары винтиков. Вместе с самим PDP-11 шла ленточная станция TU60.

Панель операторской консоли
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments8

Штази — одна из самых педантичных и репрессивных спецслужб мира

Reading time11 min
Views70K
Штази или Ministerium für Staatssicherheit, обычно сокращенно MГБ или Stasi, — Министерство государственной безопасности бывшей ГДР (Восточная Германия), тайная полиция, контрразведывательный и разведывательный (с 1952 года) государственный орган Германской Демократической Республики.



В 1947 году, вскоре после окончания Второй мировой войны, Главное управление по защите государственной собственности называлось Штази. К 1950 году в молодой ГДР возникла настоятельная потребность «в органе, способном политически просветить восточных немцев, помочь им встать на путь истинный, уберечь от тлетворного влияния соседей и родственников из ФРГ». Управление было переименовано в Ministryium für Staatssicherheit (Министерство государственной безопасности), сокращенно MfS или Штази (от слова Staatssicherheit «Госбезопасность»). Именно тогда в ГДР родилось крылатое выражение, определившее вектор направления работы одной из самых эффективных и репрессивных секретных разведывательных и полицейских организаций, которые когда-либо существовали: «учиться у СССР — значит учиться побеждать». Прародителями службы стали Сотрудники советского НКВД — МГБ, они не только помогали восточным немцам в создании детища, но и активно пропагандировали свои методы работы: слежку, запугивание, шантаж, психическое и физическое воздействие на несогласных с линией партии.
Читать дальше →
Total votes 74: ↑55 and ↓19+36
Comments85

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views368K

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

Погнали →
Total votes 357: ↑350 and ↓7+343
Comments283

Как пользователи убедили Chevrolet продать им машину за 100 рублей — или проблемы использования ИИ-чатботов

Reading time4 min
Views13K

Ряд бизнесов уже внедрили к себе на сайты чат-боты на базе ChatGPT и YandexGPT для поддержки клиентов. В том числе автодилеры. Что логично: ИИ может предоставить более специфическую информацию, описать особенности модели, выдать клиенту рекомендацию в зависимости от его бюджета и интересов. Но некоторые компании на собственном горьком опыте убеждаются, что эти системы нуждаются в надлежащем надзоре, чтобы предотвратить непреднамеренные ответы.

На этой неделе в нескольких дилерских центрах по всей территории США любознательные клиенты смогли убедить некоторых чат-ботов обязаться продать им машины с гигантской скидкой — просто путем настойчивого перебора различных команд. В одном случае скидка составила больше $58 000. Всё это заставило компании извиняться, а многие даже вынуждены были (о ужас!) обратно нанять для клиентской поддержки реальных людей.

Читать далее
Total votes 47: ↑40 and ↓7+33
Comments45

Никогда не забывай об этом, когда делаешь open-source проект

Level of difficultyEasy
Reading time8 min
Views27K

Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс важен не только для сообщества программистов в целом, но и для каждого конкретного разработчика: участвуя в создании программ с открытым кодом, они могут неплохо развить свои скиллы, обрести новых друзей со сходными интересами и, конечно же, потешить своё самолюбие. Признайтесь, вам хотелось бы, чтобы вашей библиотекой пользовался весь мир?

Читать далее
Total votes 54: ↑46 and ↓8+38
Comments124

А нужны ли реально дирижабли вроде Pathfinder

Reading time19 min
Views9.9K

Кажется, что эпоха дирижаблестроения осталась где-то в первой половине XX века. Да и продлилась, мягко говоря, недолго: для военных он слишком медленный и большой, — уже в Первой мировой войне их сбивали аэропланы. А для перевозок пассажиров слишком опасен (привет, катастрофа «Гинденбурга»), да и всяко медленнее самолета. 

Но сейчас из всех утюгов приходят новости о новом дирижабле Pathfinder 1, который активно финансировал основатель Google Сергей Брин. Вроде же человек построил неслабую компанию, в серьезной дурости замечен не был. Зачем ему это нужно? Прихоть богатого или что-то большее? Давайте попробуем разобраться. 

Читать далее
Total votes 35: ↑34 and ↓1+33
Comments87
1
23 ...

Information

Rating
2,254-th
Registered
Activity