Pull to refresh
106
0
Роман Левентов @leventov

Исследователь этики и безопасности ИИ

Send message

Разработка процессорного модуля на базе микросхемы 1892ВА018 СнК «СКИФ» и его первый запуск

Reading time 65 min
Views 39K

Версия данной статьи для "off-line прочтения" в формате PDF доступна по адресу: ссылка на статью.

В первой половине 2021 года в РФ резко обострились дебаты на тему импортозамещения, инициированные рядом изменений внесенных ранее в декабре 2020г в постановление N719 относительно закупок вычислительной техники, и бурно обсуждаемых на различных площадках и IT-форумах, таких как Elbrus Tech Day, YADRO Лекторий, а так же у ряда популярных блогеров. Основной посыл нововведений состоял в том, что вся вычислительная техника, закупаемая за бюджетные средства, должна иметь в основе микропроцессор, разработанный или произведенный в России или имеющий статус такового. Насколько такое решение Правительства годное и исполнимое — тема отдельного разговора, которую я не хотел бы сейчас затрагивать. Так или иначе, мы, в нашей небольшой компании, пришли к выводу, что данное решение Правительства может приоткрыть пусть не окно, но хотя бы форточку возможностей для мелких разработчиков электроники, которым является наша компания. Имея за плечами опыт разработки изделий на основе импортных (в основном китайских) систем-на-кристалле, мы решили, что на рынке могут быть востребованы одноплатные ПК, аналогичные Raspberry Pi и выполненные на отечественном СнК, по возможности близкие по габаритам и pin-to-pin совместимые с «малиной», а также процессорные модули, устанавливаемые на несущую плату, позволяющие упростить разработку конечного изделия и вынести сложную топологию за его границы.

Читать далее
Total votes 163: ↑162 and ↓1 +161
Comments 94

Лекции Техносферы. 2 семестр. Современные методы и средства построения систем информационного поиска

Reading time 6 min
Views 21K


Снова в эфире наша образовательная рубрика. На этот раз предлагаем ознакомиться с очередным курсом Техносферы, посвящённым информационному поиску. Цель курса — рассказать об основных методах, применяемых при создании поисковых систем. Некоторые из них представляют собой хороший пример смекалки, некоторые показывают, где и как может применяться современный математический аппарат. Преподаватели курса: Алексей Воропаев, Владимир Гулин, Дмитрий Соловьев, Игорь Андреев, Алексей Романенко, Ян Кисель.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 0

Что каждый программист должен знать про оптимизации компилятора

Reading time 17 min
Views 79K
Высокоуровневые языки программирования содержат в себе много абстрактных программистских конструкций, таких как функции, условные операторы и циклы — они делают нас удивительно продуктивными. Однако одним из недостатков написания кода на высокоуровневом языке является потенциальное значительное снижение скорости работы программы. Поэтому компиляторы стараются автоматически оптимизировать код и увеличить скорость работы. В наши дни логика оптимизации стала очень сложной: компиляторы преобразуют циклы, условные выражения и рекурсивные функции; удаляют целые блоки кода. Они оптимизируют код под процессорную архитектуру, чтобы сделать его действительно быстрым и компактным. И это очень здорово, ведь лучше фокусироваться на написании читабельного кода, чем заниматься ручными оптимизациями, которые будет сложно понимать и поддерживать. Кроме того, ручные оптимизации могут помешать компилятору выполнить дополнительные и более эффективные автоматические оптимизации. Вместо того чтобы писать оптимизации руками, лучше бы сосредоточиться на дизайне архитектуры и на эффективных алгоритмах, включая параллелизм и использование особенностей библиотек.

Данная статья посвящена оптимизациям компилятора Visual C++. Я собираюсь обсудить наиболее важные техники оптимизаций и решения, которые приходится применить компилятору, чтобы правильно их применить. Моя цель не в том, чтобы рассказать вам как вручную оптимизировать код, а в том, чтобы показать, почему стоит доверять компилятору оптимизировать ваш код самостоятельно.
Читать дальше →
Total votes 46: ↑42 and ↓4 +38
Comments 4

За клочок цветной ленты

Reading time 3 min
Views 49K
Последние несколько лет я получаю по почте от «Пасифик гас энд электрик», нашего калифорнийского коммунального предприятия, двухстраничные отчеты по энергии, в которых сравнивается потребление электричества нашим домом с данными домашних хозяйств по соседству.

Здесь представлена интересная выдержка из последнего отчета; щелкните обе картинки для полностраничного просмотра.




Читать дальше →
Total votes 75: ↑66 and ↓9 +57
Comments 99

Планируете запуск кампании в Директе? Лучше день потерять, потом за пять минут долететь!

Reading time 5 min
Views 6.4K
Несколько простых правил по работе с Яндекс.Директ, чтобы не разориться в первый месяц рекламной кампании по самые помидоры и получить максимальный эффект при меньших затратах.

7 раз отмерь


Работу по изучению поведения людей на сайте и их взаимодействия с рекламой лучше начать с подготовки того, как вы будете оценивать качество аудитории:
  1. Установите Яндекс.Метрику. Это позволит определить эффективность каждого объявления и конкретной ключевой фразы для вашего конкретного сайта.
  2. Определите, как действия вы ожидаете от посетителей своего сайта при переходе по рекламе.
    Например:
    совершить звонок (подключаем услугу "Целевой звонок", которая учитывает число уникальных/неуникальных, неотвеченных звонков, их длительность и все входящие номера)
    совершить заказ через корзину ("параметры интернет-магазинов", когда учитывается источник посетителя, состав и сумма заказа)
    отправить письмо через обратную форму связи (задаем целью нажатие кнопки отправки сообщения или посещение страницы с сообщением «спасибо, ваше письмо получено»)
    скачать файл (раздел в метрике «загрузки файлов»)

То есть основное правило: нужно измерять то, что покажет вам положительную обратную связь от посетителя, пришедшего по рекламе. Только не стоит заморачиваться на абсолютных величинах. Нужно измерять динамику, т.е. то, ухудшается или улучшается в целом ситуация.
Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 15

Задача с погрешностью и переполнением

Reading time 3 min
Views 784
Хочу с вами поделиться небольшой алгоритмической задачей, которую мне не так давно подкинули коллеги по цеху. Как мне кажется, решение получилось довольно элегантное.

Суть задачи заключалась в следующем. Есть некое устройство (микроконтроллер), которое умеет обращаться только с 32-битными целыми значениями и не умеет работать с плавающей запятой.
На таком аппарате есть таймер, который в секунду генерирует 32768 тиков. Необходимо написать функцию, переводящую тики в миллисекунды без потери точности (желательно с округлением).
Читать дальше →
Total votes 39: ↑33 and ↓6 +27
Comments 14

Статистика надёжности SSD носителей

Reading time 2 min
Views 81K
Некоторое время назад я создал опрос по надёжности SSD. Несмотря на то, что мне кажется, что результатов слишком мало, но ждать нет особого смысла.

Итак, для начала статистика размеров.

На картинке видно, что наиболее популярны форматы 120, 80 и 60, которые выпускаются только Intel.
Можно также заметить, что диски объёмом 120/128 особо популярны среди пользователей алтернативных операционных систем (включая OS X).

Продолжим данными по производителям.
Читать дальше →
Total votes 84: ↑82 and ↓2 +80
Comments 40

Граф интересов (Interest graph): новый принцип взаимодействия в сети

Reading time 6 min
Views 12K
Пару месяцев назад меня очень тронула публикация Идеальная социальная сеть. Автор этой публикации, arilou-campe, обозначил доминирующие принципы, по которым выстраивается большая часть социального взаимодействия в современной сети, а затем он попробовал предположить, на каких принципах будет выстраиваться это взаимодействие в ближайшем будущем.

Я хочу продолжить и уточнить его мысль, озвучить несколько важных и плодотворных, на мой взгляд, концептов («граф интересов» — один из них), вокруг которых сегодня ведётся дискуссия о будущем развитии сети, а также привести в качестве примера несколько проектов (над одним из которых я сам сейчас работаю), уже реализующих на практике новые принципы социального взаимодействия: те самые принципы, которые могут стать доминирующими в самом ближайшем будущем.
Читать дальше →
Total votes 56: ↑52 and ↓4 +48
Comments 67

Groupon'овые извращения

Reading time 7 min
Views 1.2K
imageКак вам известно, в прошлый четверг Groupon заполнила формуляр формата S-1, на первичный листинг ценных бумаг на американской фондовой бирже NASDAQ. Это событие было более чем ожидаемым, ведь компания, о которой пойдет речь, напоминает печь для наличности, у трубы которой несколько отдельных лиц и инвестиционных фондов греют руки. Информация, которой компании пришлось раскрыть SEC (комиссии по ценным бумагам), освещает интересные показатели того, как устроена кухня этой крайне агрессивной компании. Здесь есть на что посмотреть, с интересом, граничащим с недоумением.

И дело здесь даже не в том, что Groupon, по ее же заявлениям, растет на биологически-модифицированных дрожжах. Весь бизнес по продаже купонов сегодня начинает источать стойкий запах безвыходности, даже несмотря на очень крутые показатели роста: 13575% в приросте выручки по-сравнению с предыдущим годом, несмотря на то, что в текущем закрыт только первый квартал отчетности — компания уже успела «заработать» $644 миллиона. В прошлом году выручка компании росла темпом 22000%, сделав «прибыль» на уровне $713 миллионов.

И все бы ничего, если не принимать во внимание тот факт, что Groupon… до сих пор остается убыточной, в первую очередь из-за своей стратегии межконтинентального роста. В прошлом году в купонной печи было сожжено $456 миллионов, в первом квартале этого года — уже $147 миллионов. Не стоит даже ожидать, что минус в ближайшее время сменится плюсом. Как говорит CEO компании Эндрю Мейсон (Andrew Mason): «Мы агрессивно инвестируем в рост и тратим много денег на приобретение новых подписчиков». Около 54% операционных расходов связано с маркетинговыми действиями, остальные 46% приходятся на отделы продаж, где сегодня работает почти 3500 человек, по всему миру.
Читать дальше →
Total votes 209: ↑200 and ↓9 +191
Comments 87

Управление запасами для небольших интернет-магазинов

Reading time 6 min
Views 11K
image
Вопрос управления запасами торгового предприятия является одним из базовых для повышения эффективности его работы. Обычно этот термин ассоциируется со сложными аналитическими моделями, которые составной частью входят в крупные компьютерные системы управления предприятием (ERP). Легко представить себе заумных аналитиков, работающих с гигабайтами накопленной статистики с какой-то отдаленной целью «повысить эффективность».

На самом деле, это так и есть. Но это не вся правда.
Читать дальше →
Total votes 43: ↑40 and ↓3 +37
Comments 34

Бесплатный web-forwarding от Google

Reading time 1 min
Views 6.3K
Не секрет, что приложения Google не могут работать на «голом» домене (naked domain), и для сайтов на Google Apps приходилось искать сторонний сервис web-forwarding или пользоваться wwwizer'ом. Google наконец-то решил исправить ситуацию и сделать собственный сервис переадресации для голых доменов. Новый сервис умеет перенаправлять только на поддомен и только с голого домена.

Чтобы подключить сервис, необходимо в настройках домена Google Apps включить предварительные версии функций и выбрать интерфейс следующее поколение. После этого интерфейс станет англоязычным, а в разделе «Domain settings» появится вкладка «Domain names» и останется лишь кликнуть по ссылке «Redirect your naked domain», выбрать поддомен, на который будет осуществляться переадресация и внести изменения на NS-сервере. Стоит отметить, что Google подошёл к решению проблемы с привычной серьёзностью и в A-записи надо будет добавить целых 4 IP-адреса.
Total votes 42: ↑40 and ↓2 +38
Comments 32

Перспективы развития центральных процессоров

Reading time 19 min
Views 21K
Семьдесят лет назад, в 1941 году, был создан первый программируемый компьютер. С тех пор утекло немало воды, и сейчас компьютеры окружают нас повсюду. Многие аспекты устройства компьютеров сильно эволюционировали, многие, напротив, ничуть не изменились по сути. В частности, не изменился и, вероятно, никогда не изменится сам принцип работы центральных процессоров — алгоритмическая модель. Хорошо понятны физические ограничения этой модели, и соответственно, отчётливо виден предел развития центральных процессоров в смысле их быстродействия. Технологически до этого потолка ещё довольно далеко: несколько десятилетий развития и несколько порядков быстродействия. Но это не должно помешать нам всерьёз подумать, какими же будут процессоры на пороге предела их скоростного развития.
Читать дальше →
Total votes 110: ↑102 and ↓8 +94
Comments 63

Автоматическое оповещение читателей о новостях с помощью ВКонтакте

Reading time 7 min
Views 40K
Вторая часть

Предисловие


Те из вас, кто пользуется социальной сетью ВКонтакте и подписан на официальную страничку Хабры в ней, заметили, что все новые топики с главной появляются на страничке в виде сообщений-ссылок:
vk

Так вот, если у вас есть свой блог и вы хотите на своей личной страничке публиковать такие же сообщения-ссылки автоматически — топик может быть вам интересен. Сегодня мы попробуем публиковать простые сообщения ссылки, а далее добавлять к ним «превью»-картинки.
Читать дальше →
Total votes 103: ↑73 and ↓30 +43
Comments 57

Как я проходил собеседование в компанию Zynga

Reading time 11 min
Views 27K
На Хабре опять стали появляться статьи о том, как проходить собеседования на должность программиста. Материал из них полезен соискателям так же, как учебники полезны студентам во время сессии. Вызубрите том по Мат. Анализу и, если попадете на тот экзамен, получите пятерку.

Гораздо интереснее читать реальные истории людей, которые описывают свой опыт собеседований в ту или иную известную компанию. Что спрашивали, что не спрашивали, какая была атмосфера, сколько проходило интервью? Такие данные много полезнее, чем «а зазубри еще это, авось спросят».

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

Ну, и картиночка на затравку.


Читать дальше →
Total votes 256: ↑249 and ↓7 +242
Comments 100

Краткая заметка по некоторым дополнительным возможностям Kindle третьего поколения

Reading time 7 min
Views 28K

В заметке я постараюсь начать описание нескольких интересных дополнительных возможностей этой замечательной читалки,. Речь пойдет о вариантах Kindle 3g и Kindle Wi-fi третьего поколения и некоторых штуках, не описаных в мануалах. Хотел бы заметить, что информацию о Киндле найти относительно не сложно, однако собрать все в одной заметке на русском, думаю, неплохая идея.

приступим
Total votes 127: ↑116 and ↓11 +105
Comments 117

Что такое кроп-фактор

Reading time 3 min
Views 70K
Сейчас существует множество зеркальных фотокамер. Наиболее популярны из них любительские и полупрофессиональные камеры с «кроп-матрицей». Но что же такое «кроп»? Что означает «кроп-фактор»?
В этой статье я попытаюсь приоткрыть завесу таинственности.

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 5

50 цитат о программировании всех времён

Reading time 6 min
Views 158K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8 +328
Comments 136

Haskell в продакте: Отчёт менеджера проекта

Reading time 7 min
Views 64K
Я давно обещался написать статью о том, как себя показал Haskell в реальных задачах в продакте.

Для тех, кто не уследил — его в начале 2012 пролоббировали и с энтузиазмом начали внедрять программисты в Селектеле. Тогда же я обещал опубликовать отчёт о том, насколько «это всё» можно использовать.

Продакт в коммерческом проекте — это не в маленькая песочница «для себя», не академический эксперимент в области Computer Science. Это бесконечная борьба за «линию партии», когда вокруг ад, ужас и погибель, а оно всё равно должно работать. Int64 в XML-RPC кодируется строкой (потому что int'ы в XML-RPC signed int32), openssl при чтении нескольких сертификатов из файла читает только первый из них, в bool надо писать либо «1», либо «0», но иногда — «2», ибо только так придумали закодировать третий режим — и т.д. и т.п. В этих условиях требования к языку постепенно перерастают в требования к его экосистеме, инфраструктуре, готовности адаптироваться к реальному миру.

Я буду писать о Haskell с позиций product owner'а, менджера проекта, системного администратора, но никак не программиста. Так что не ожидайте от меня задушевных восторгов о том, как изящно через монадки можно сделать семигрупоид и как здорово выводить типы через типы с помощью типов.

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

Начнём с потребительских свойств.
Читать дальше →
Total votes 199: ↑191 and ↓8 +183
Comments 125

Многорукие бандиты: модель dynamic Gamma-Poisson

Reading time 5 min
Views 14K
В прошлый раз мы рассмотрели общую постановку задачи о многоруких бандитах, обсудили, зачем это может быть нужно, и привели один очень простой, но эффективный алгоритм. Сегодня я расскажу о ещё одной модели, которая эффективна в ситуациях, когда ожидаемые доходы от бандитов меняются со временем, да и само число и состав «ручек» может меняться – о динамической гамма-пуассоновской модели.


Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 3

Voldemort типы в D

Reading time 4 min
Views 17K
Данный пост расскажет об уникальной фишке D — Voldemort типы. Типы, которые можно использовать, но нельзя назвать. Данное название не очень подходит им, но Walter Bright очень любит так их называть. Voldemort типы очень часто встречаются в стандартной библиотеке Phobos, особенно в модулях std.algorithm и std.array. Осваивающие D могут часами штудировать документацию в поисках типа, возвращаемого из splitter или joiner, а возвращают они именно Voldemort типы. После этого поста можно смело открывать исходники std.algorithm, ибо никакие Сами-Знаете-Кто вам будут не страшны.

Он самый

Иногда, взаимодействие существующих возможностей может привести к неожиданным сюрпризам. Мне нравится считать, что мы изначально заложили Voldemort типы в D, но на самом деле они были найдены Андреем Александреску. Что это за Voldermort типы? Читайте дальше.

Читать дальше →
Total votes 46: ↑39 and ↓7 +32
Comments 27

Information

Rating
Does not participate
Date of birth
Registered
Activity