Как стать автором
Обновить
106
0
Роман Левентов @leventov

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

Отправить сообщение

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

Время на прочтение65 мин
Количество просмотров40K

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

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

Читать далее
Всего голосов 163: ↑162 и ↓1+161
Комментарии94

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

Время на прочтение6 мин
Количество просмотров21K


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

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

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

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

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

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

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




Читать дальше →
Всего голосов 75: ↑66 и ↓9+57
Комментарии99

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

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

7 раз отмерь


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

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

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

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

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

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

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

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

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

Продолжим данными по производителям.
Читать дальше →
Всего голосов 84: ↑82 и ↓2+80
Комментарии40

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

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

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

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

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

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров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-адреса.
Всего голосов 42: ↑40 и ↓2+38
Комментарии32

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

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

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

Время на прочтение7 мин
Количество просмотров40K
Вторая часть

Предисловие


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

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

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

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

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

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

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


Читать дальше →
Всего голосов 256: ↑249 и ↓7+242
Комментарии100

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

Время на прочтение7 мин
Количество просмотров28K

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

приступим
Всего голосов 127: ↑116 и ↓11+105
Комментарии117

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

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

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии5

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии3

Voldemort типы в D

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

Он самый

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

Читать дальше →
Всего голосов 46: ↑39 и ↓7+32
Комментарии27
1
23 ...

Информация

В рейтинге
5 034-й
Дата рождения
Зарегистрирован
Активность