Pull to refresh
9
0
Send message

Подробная история компании Qualcomm

Reading time35 min
Views13K
Учитывая недавние драматические события, случившиеся с компанией Qualcomm, я решил, что будет интересно обновить историю компании, которая будет опубликована в книге Mobile Unleashed. Публикую полную главу из книги здесь.

Глава 9: Нажмите Q, чтобы подсоединиться


В отличие от других подобных фирм, начавших работу в других сегментах электроники, а потом перешедших в область устройств для коммуникаций, Qualcomm всегда концентрировалась на беспроводных технологиях, надёжно передающих данные между двумя точками. Её технология CDMA стала скачком вперёд для мобильных устройств — если её можно было бы сделать достаточно маленькой, и если бы можно было убедить провайдеров перейти на неё с D-AMPS и GSM.


Лаборатория реактивного движения НАСА

Корни Qualcomm можно отследить к одним из умнейших людей в академической среде в передовых технологических университетах США, которые, будучи молодыми инженерами, впервые собрались вместе за работой над космической программой. Глубина технических знаний, полученных благодаря удовлетворению потребностей требовательных клиентов в системах цифровой передачи данных, создала основу, на которой затем появились патенты, чипы и устройства.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments3

Новый квантовый парадокс уточняет, в каком случае наши представления о реальности оказываются неверными

Reading time12 min
Views67K

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



Если монетка не может выпасть орлом и решкой одновременно, физикам нужно отбросить простые предположения касаемо природы реальности

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

Новый мысленный эксперимент бросает вызов этим предположениям и раскачивает основы квантовой физики. Он, конечно, и сам странный. К примеру, он требует проводить измерения, способные стереть любые воспоминания о только что проделанном наблюдении. С людьми это невозможно, а квантовые компьютеры могли бы провести такой странный эксперимент и, теоретически, найти различия между разными интерпретациями квантовой физики.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments50

Теперь я тимлид, но почему мне так плохо? Практические советы

Reading time4 min
Views42K
Почему-то считается, что тимлид — это более высокая ступень эволюции инженера, чем все квалификационные уровни, включая senior. При том что всем известно, навыки и умения там нужны совсем другие. Но факт продолжает оставаться фактом, в большинстве компаний тимлидами становятся лучшие инженеры. Иногда, потому что руководству кажется, что это даст сотруднику новую мотивацию и вообще — это же повышение. Иногда, в силу необходимости — наняли много новых сотрудников, и кто-то должен за них отвечать и помогать им пилить новые фичи. Неудивительно, что неподготовленный человек, брошенный в новые обязанности, как в воду, сваливается в состояние экзистенциального кризиса.



То, что доклад на эту тему был признан лучшим на конференции для тимлидов и о тимлидах, показывает, насколько действительно часто встречается такая ситуация. Но надо признать, конечно, что Евгений Кот (bunopus) заработал это «признание» еще и великолепным перформансом. С удовольствием делимся с вами его записью.
Total votes 52: ↑51 and ↓1+50
Comments9

Пишем загрузчик ПЛИС в LabVIEW. Часть 1

Reading time14 min
Views11K


У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смотрите как все просто, соединил крутилку с индикатором, кручу ручку, меняется циферка", или в лучшем случае на график в цикле выводится случайное число или синус, все это сопровождается зубодробительным интерфейсом в виде гигантских тумблеров, крутилок и стрелочных индикаторов. Лично меня такой подход сознательного упрощения раздражает. В небольшом цикле статей я постараюсь познакомить читателя с процессом разработки прикладного ПО на LabVIEW. Для того, чтобы не уделять много времени предметной области, воспользуемся подробно описанным алгоритмом загрузки файла конфигурации в ПЛИС через FTDI в режиме MPSSE (Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE). В этой статье я покажу как реализовать такой же загрузчик ПЛИС, но на языке LabVIEW.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments7

Литература на выходные: 15 материалов по структурированию кода для разработчиков

Reading time5 min
Views27K
Одним из параметров оценки кода служит его чистота. Создатель языка моделирования UML Гради Буч (Grady Booch) писал:

«Чистый код прост и ясен. Чистый код читается как хорошо написанное произведение. Чистый код никогда не скрывает намерений создателя, но, напротив, полон четких абстракций и простых линий передачи управления»

Сегодня мы собрали для вас список книг и статей по этой теме, которые рекомендуют к прочтению резиденты Hacker News, Stack Exchange и других профильных платформ.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments14

Архитектурная пирамида приложения

Reading time8 min
Views20K
Программирование — достаточно молодая область знаний, однако, в ней уже существуют базовые принципы «хорошего кода», рассматриваемые большинством разработчиков как аксиомы. Все слышали о SOLID, KISS, YAGNI и других трех- или четырех- буквенных аббревиатурах, делающих ваш код чище. Эти принципы влияют на архитектуру вашего приложения, но помимо них существуют архитектурные стили, методологии, фреймворки и много чего еще.

Разбираясь со всем этим по отдельности, меня заинтересовал вопрос — как они взаимосвязаны? Пытаясь выстроить иерархию и вдохновившись небезызвестной пирамидой Маслоу, я построил свою пирамиду «архитектуры приложения».

О том, что из этого вышло — читайте под катом.
Войти в пирамиду
Total votes 17: ↑17 and ↓0+17
Comments15

Тестирование на фабрике: «Чёрный ящик» и короткий цикл тестирования

Reading time6 min
Views12K
Всем привет, меня зовут Александр, и я занимаюсь QA (обеспечением контроля качества) разрабатываемой нами продукции. Наши контрагенты-фабы в юго-восточной Азии, особенно китайцы — ребята резкие, шустрые, и готовы сделать много, быстро, но вот с качеством выходит не всегда. Как мы с этим боремся, попутно экономя деньги компании — написано под катом.

Китайские рабочие
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments12

[в закладки] PDF-версия статей про Bash-скрипты

Reading time1 min
Views47K
Привет Хабр! Летом мы переводили цикл статей про Bash-скрипты — судя по отклику, статьи оказались для вас полезными. И, по многочисленным просьбам, мы решили сделать PDF-версию перевода.



Подробности под катом.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments20

Четыре типажа программистов

Reading time17 min
Views214K

Привет.


Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

Читать дальше →
Total votes 258: ↑237 and ↓21+216
Comments548

Как я использую git

Reading time6 min
Views90K

Intro


Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


  • git add <path>
  • git commit
  • git checkout <path/branch>
  • git checkout -b <new branch>

И дополнительно:


  • git push/pull
  • git merge <branch>
  • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

В принципе, я и сейчас во многом так считаю, но со временем волей-неволей начинаешь узнавать интересные трюки.

Читать дальше →
Total votes 117: ↑106 and ↓11+95
Comments195

«Магическая константа» 0x5f3759df

Reading time9 min
Views120K
В этой статье мы поговорим о «магической» константе 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;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →
Total votes 212: ↑210 and ↓2+208
Comments188

Популяризация науки: лекции российских ученых

Reading time7 min
Views33K

image


В мире растет число фейковых новостей и все сложнее найти источник правдивой информации. Спрос на достоверность, качество и фактчекинг не пропал, но сложно подружить методологии проверки данных с новостями мейнстрима в эпоху, когда даже серьезные издания гонятся за кликбейтом. Изъеденные недочетами новости политики, экономики, спорта и других сфер начинают раздражать, а не привлекать внимание. Образуется информационный вакуум, заполнить который могут новости науки. Манипулировать научными данными не так интересно, как фактами в экономике и политике. Наука поддерживается прекрасной репутацией источников — например, не вызывает сомнений авторитетность журнала «Nature» или достоверность базы данных биотехнологической информации PubMed.


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

Total votes 41: ↑40 and ↓1+39
Comments32

Философия информации, часть 1-я

Reading time26 min
Views30K

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

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

Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments85

Обработка ошибок в C

Reading time13 min
Views83K


Введение


Ошибки, увы, неизбежны, поэтому их обработка занимает очень важное место в программировании. И если алгоритмические ошибки можно выявить и исправить во время написания и тестирования программы, то ошибок времени выполнения избежать нельзя в принципе. Сегодня мы рассмотрим функции стандартной библиотеки (C Standard Library) и POSIX, используемые в обработке ошибок.
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments41

Модели памяти, лежащие в основе языков программирования

Reading time24 min
Views30K
Предлагаем вашему вниманию перевод статьи, посвящённой рассмотрению используемых в программировании моделей памяти.

Сегодня в программировании доминируют шесть основных моделей памяти (не путать с моделями памяти Intel 8086). Три из них проистекают из трех исторически наиболее важных языков программирования 1950-х годов — COBOL, LISP и FORTRAN, а остальные связаны с тремя исторически важными системами хранения данных: магнитная лента, иерархическая файловая система в Unix-стиле и реляционная база данных.

Эти модели на гораздо более глубоком уровне, чем синтаксис или даже система типов, определяют, что наши языки программирования могут или не могут делать. Давайте подробно рассмотрим эти модели, а затем обсудим некоторые возможные альтернативы и причины, почему они могут быть интересны.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments13

Domain-Driven Design: стратегическое проектирование. Часть 1

Reading time14 min
Views106K


Здравствуйте, хабрапользователи! В этой статье речь пойдет о предметно-ориентированном проектировании программного обеспечения с использованием, в первую очередь, стратегических шаблонов. Вторую часть – про тактическое проектирование – читайте здесь.

Данный подход использовал Вон Вернон в своей книге «Реализация методов предметно-ориентированного проектирования». Цель написания этой книги: дать возможность разработчикам совершить полет на самолете DDD (в детстве автор зачастую путешествовал со своей семьей на небольших самолетах). Вид с высоты дает более широкое представление о проблемах моделирования, не давая застрять в различных технических деталях. Наблюдая ландшафт DDD таким способом, можно осознать преимущества как стратегического, так и технического проектирования. Подробнее – под катом!
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments64

Справочник по антеннам для радаров

Reading time15 min
Views107K
Статья на перевод предложена alessandro893. Материал взят с обширного справочного сайта, описывающего, в частности, принципы работы и устройство радаров.

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

image
Слева – изотропная антенна, справа – направленная

Дипольная антенна





over9000 картинок
Total votes 63: ↑60 and ↓3+57
Comments23

Верификация конечного автомата

Reading time7 min
Views12K
Всем привет! Эта статья будет посвящена верификации дизайна конечного автомата управления торговым устройством vending machine, описанного на языке Verilog (дизайн) и System Verilog (верификация).

Вообще в основе публикации лежит мой курсовой проект, который был оценен моим преподавателем по достоинству с предложением сделать публикацию на Хабре.

Основное на чем я хочу акцентировать внимание — это описания типичных блоков multilayer testbench и применение некоторых базовых конструкции языка SystemVerilog и верификации. В основе подхода, который я использовал лежит так называемая Open Verification Methodology (OVM) с изменениями, которые упрощали разработку проекта и были удобны персонально мне.

Итак, поехали!
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments13

Написание и запуск скрипта для симуляции Verilog-кода в ModelSim

Reading time3 min
Views25K

image

Всем привет! Надеюсь, все хорошо провели праздники и готовы с новыми силами покорять высоты FPGA разработки.


Сегодня я хочу написать небольшой гайд по запуску тестбенчей на Verilog/SystemVerilog в ModelSim без использования GUI.


План будет такой:


  1. Добавление пути к ModelSim в PATH.
  2. Написание скрипта с объяснением команд.
  3. Запуск ModelSim с исполнением написанного скрипта.

Поехали!

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments14
1
23 ...

Information

Rating
Does not participate
Registered
Activity