
Аудиогаджет специального назначения: ценная “вещь” для посольства США

User
В одной конторе соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата.
Требования такие:
* Формат строки: число, точка, пробел, далее любые символы до конца строки.
* Порядок сортировки — сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.
* Кодировка — UTF-8.
* Размер файла — 100гб - гарантированно больше объема ОП.
Должно отработать за 1 час на машине проверяющего, вряд ли там будет супер-быстрый SSD и огромное количество оперативной памяти.
Как и многие другие программисты, узнав о таком тестовом задании, я возмутился. Внешнюю сортировку слиянием практически всех проходили в ВУЗе, но практически никто никогда не писал её. Задача очень непрактическая и непонятно какие навыки проверяет. Так мне казалось.
Эта задача вызвала бурные обсуждения о способах её решения. Многие программисты, причисляющие себя к рангу senior, предложили использовать базы данных, ибо не барское это дело - вручную писать алгоритмы сортировки. Некоторые даже попытались сделать решение на Apache Spark. Однако никто до конца задачу не решил, ибо мало кому удалось отсортировать в нужном порядке даже 10ГБ файл менее чем за 15 минут без SSD.
Я подумал, что стоит решить задачу до конца с помощью программирования, и тоже причислить себя к рангу senior developer.
Каждый раз читая очередную статью вида "Почему нейросети это тупик" (раз, два, три), испытываю странное чувство... несоответствия что ли. Как будто автор декларирует одно, а доказывает и аргментирует нечто совсем иное. Для мея сам тезис буквально звучит как оксюморон (не путать с рэпером ?), но почему именно - не так очевидно. Для этого надо разобраться, чем же на самом деле являются нейросети... Погнали!
Первое, чем современные нейросети (ИНС в общепринятом понимании, не путать с ИмНС aka SNN) не являются, это, собственно, нейросетями! ? Да, первый фрмальный нейрон, а за ним и перцептрон Розенблата были вдохновлены биологическими нейронами да и сверточные сети в некоторых аспектах демонстрируют некоторое сходство с обработкой визуального сигнала зрительной корой, но не более. Современный Data Since имеет общего с учением о нейронах примерно столько же, сколько современная аэродинамика с орнитологией: самолеты летают, но крыльями не машут!
Второе, чем ИНС так же не являются, это парадигмой искусственного интелекта. Пытаться их противопоставлять, как и наоборот, высказываться в духе "увеличим число параметров еще на пару-тройку порядков и вот оно - сознание!" - это как спорить является ли автомобиль воплощением скорости, или нет...
Так что же такое все-таки ИНС? Жми далее...
Можно с уверенностью сказать, что с момента публикации первой версии стандарта RS‑232 в мае 1960 года и по настоящее время, было написано приблизительно 109 независимых реализаций UART на всём, чём угодно. Однако, подобно «Hello world» в мире прикладного ПО, а также мигания светодиодом — «Hello world» в мире цифровой электроники (сигнализирующий об успешной настройке оборудования и среды разработки) — процесс написания UART способен проиллюстрировать особенности языка или платформы, демонстрируя применение тех или иных синтаксических конструкций для решения практических, насущных и понятных проблем.
В данном цикле статей будет рассказано про написание модуля UART на SystemVerilog, про синтез данного модуля на различных платформах и про некоторые другие аспекты применения UART в ПЛИС. Но прежде, чем писать код, поговорим про сам протокол и про особенности аппаратной части вне контекста ПЛИС.
Все русские фанаты Толкиена знают, какая беда творится с переводами его великого романа (далее – ВК) на язык Пушкина и Достоевского. Поясню вкратце. Через советскую цензуру в 1982 году удалось протащить только первый том, дальше дело заглохло. Чтобы узнать, дошел ли Фродо до Роковой горы, десяток дилетантов независимо друг от друга перевели все остальное, кто как понял. Когда культура толкиенизма в России была уже сформирована, вышел, наконец, и полный профессиональный перевод. Но запал переводчика к тому времени уже иссяк, так что и этот труд вышел довольно неоднозначным: тюремный жаргон, ругательства, ежестраничные отсылки к советским реалиям…
Оригинал же производит на нашего читателя двоякое впечатление. С одной стороны, великолепная стилистическая работа гениального филолога, в руках которого жесткий английский язык гнется, как пластилин ("On he led them, into the mouth of darkness, and still on under the deep clouded night"). С другой - обилие идиом, фразовых глаголов, игры слов и вообще таких выражений, какие ни в одном словаре не сыщешь.
Поэтому я решила написать небольшое приложение, которое поможет освоить все это великолепие при помощи кривой Эббингауза.
В данной статье описываются уникальные свойства высокоразмерных пространств и алгоритмы машинного обучения, которые основываются на них, и не страдают от экспоненциального роста сложности. Использование высокоразмерных пространств влечет большие вычислительные затраты. Потому что, при увеличении размерности наблюдается экспоненциальный рост необходимых данных или шагов итерационного алгоритма необходимых для достижения заданной точности. Часто этот эффект называют проклятием размерности и рекомендуют минимизоровать размерность и сложность моделей.
Чтобы цифровые микросхемы работали правильно, рядом с ними должны стоять конденсаторы по питанию. В этой статье разбираемся, насколько те или иные решения при разработке (количество конденсаторов, их ёмкость, расположение и трассировка) могут повлиять на работу устройства. Под катом теория, симуляции и измерения.
Вы можете сказать, что один факт выбивается из этого ряда в заголовке, потому что он не так очевиден, как остальные. Еще лет 10-15 назад я бы никогда не подумал, что тут могут быть возражения, а сейчас уже и не удивляюсь, что приходится объяснять простые истины: дело в том, что планеты обладают очень большой массой, поэтому гравитация стремится придать им форму шара. Вот и все! Хотел бы на этом закончить статью и поблагодарить за внимание.
В программировании достаточно распространена задача хранения данных в ассоциативных контейнерах. В этом случае мы ставим в соответствие некоторым ключам некоторые значения. При этом мы бы хотели иметь возможность более-менее быстро запрашивать значение по ключу.
К решению этой задачи есть несколько подходов. Мы последовательно рассмотрим несколько существующих подходов и их достоинства и недостатки, а затем реализуем структуру данных на языке C и, наконец, устроим тест производительности написанного решения. А в качестве бонуса идёт небольшая библиотека включающая эту структуру данных и некоторые другие, которых так не хватает в стандартной библиотеке C.
К разработке этой библиотеки и написанию статьи меня натолкнуло отсутствие незаброшенной библиотеки эффективных хеш-таблицы для C.
Чем заняться приятным пятничным вечером? Посидеть в баре с друзьями, зачистить рейд в WoWке? Да ну нафиг. Давайте запускать астероиды!
Сервис с незатейливым названием Asteroid Launcher предлагает поиграть в бога. Вы можете выбрать любую точку земного шара и направить туда астероид с выбранными настройками. Помимо симпатичной анимации вы получите сводку нанесённого ущерба.
Всем привет! Продолжаем наш курс Galaxy Upcycling - Новая жизнь старого смартфона, где обсуждаем, как можно повторно использовать устаревший смартфон, иногда - в неожиданном качестве, как физическую лабораторию. Этому, например, посвящен небольшой курс “Лаборатория в кармане” педагога Анатолия Шперха. В самом деле, современный смартфон оснащен большим количеством сенсоров, способных измерять параметры окружающей среды.
Я рассмотрю сегодня три урока из приложения для проведения учебных физических экспериментов PhyPhox. Эти уроки относятся к разделу «механика» и задействуют разные сенсоры смартфона:
1. Скорость лифта (барометр и акселерометр)
2. Центрифуга (гироскоп и акселерометр)
3. Свободное падение (микрофон)
Эта статья впервые появилась в журнале Computer и подготовлена InfoQ & IEEE Computer Society.
Теорема CAP гласит, что любая сетевая система с общими данными может иметь только два из трех желаемых свойств. Однако, работая непосредственно с разделениями, разработчики могут оптимизировать согласованность и доступность, тем самым достигая некоторого компромисса между всеми тремя.
За десятилетие, прошедшее с появления теоремы, разработчики и исследователи использовали теорему CAP (а иногда и злоупотребляли ею) как повод для изучения широкого спектра новых распределенных систем. Движение NoSQL также использовало её в качестве аргумента против традиционных баз данных.
В теореме CAP говорится, что любая сетевая система с общими данными может иметь не более двух из трех желаемых свойств:
Такое толкование CAP помогало разработчикам быть открытыми для более широкого диапазона систем и компромиссов; действительно, за последнее десятилетие возникло множество новых систем и много споров об относительных достоинствах согласованности и доступности. Формулировка «2 из 3» всегда вводила в заблуждение, поскольку имела тенденцию чрезмерно упрощать противоречия между свойствами. Но сейчас такие тонкости имеют значение. CAP запрещает лишь крошечную часть проектного пространства: идеальная доступность и согласованность при наличии разделений, которые встречаются редко.