Pull to refresh
20
0
Дмитрий Кузнецов @torgeek

Пользователь RISC-V/Rust/Oberon/ObjectScript/SQL

Send message

Бизнесмен-философ: основатель и гендиректор Slack Стюарт Баттерфилд – рубрика «Бизнес-персона»

Reading time6 min
Views7.6K
image

Рубрика «Бизнес-персона» рассказывает читателям «Мегамозга» о том, какие истории и факты окружают наиболее ярких IT-предпринимателей со всего мира, стоимость компаний под управлением которых превышает любые разумные пределы. Мы не будем ограничиваться только «новой волной» бизнесменов и расскажем в том числе и о тех, кого принято называть «старой школой».

Сегодня крупным планом – Стюарт Баттерфилд, 42-летний основатель и гендиректор Slack. Его доля в компании оценивается в $300 миллионов.

Корпоративный мессенджер Slack по-прежнему популярен. И его популярность продолжает расти. На данный момент у приложения 675 тысяч премиум-пользователей. Общее количество пользователей достигло 2,3 миллиона. Годовая выручка превысила $64 миллиона. Компания оценивается в $2,8 миллиарда и недавно получила еще $160 миллионов инвестиций.

Успех проекта объясняется нестандартным подходом Баттерфилда. Однако он сам считает, что решающим фактором стала удача.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком

Reading time14 min
Views35K
TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того, что на самом деле умеет фреймворк.

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



Для освоения Angular нужно очень много всего изучить. Многие разработчики застревают на начальных этапах освоения Angular. Происходит это из-за того, что они не знают о том, куда им двигаться, или не знают того, по каким ключевым словам им искать информацию, которая позволит им сделать шаг вперёд. Автор этого материала говорит, что ей, когда она начинала осваивать Angular 2+, хотелось бы, чтобы ей попалось бы руководство по данному фреймворку, похожее на это.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments11

Опыт вывода программной реализации социального проекта «Вспомнить каждого» в опенсорс

Reading time3 min
Views2.2K
В прошлом году, нашей команде повезло принять участие в разработке программного обеспечения для социально значимого проекта – системы ввода архивных данных военных комиссариатов Хабаровского края времен Великой Отечественной войны. Кратко говоря, когда был призван, куда убыл и другую связанную с этим информацию – оцифровать и дать возможность искать эти данные кому угодно. Дальневосточный центр социальных технологий в 2018 году, при поддержке Фонда президентских грантов, реализовывал проект — «Вспомнить каждого». А мы, разработали приложение на нашем опенсорсном продукте IONDV. Framework. Итоговое приложение сейчас доступно под лицензией GPLv3.

Делимся нашим решением и опытом работы над проектом.

image
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments7

Джулия и параллельные вычисления

Reading time18 min
Views12K


С момента выхода в августе 2018, язык Julia активно набирает популярность, войдя в топ 10 языков на Github и топ 20 самых популярных профессиональных навыков по версии Upwork. Для начинающих стартуют курсы и выпускаются книги. Julia используется для планирования космических миссий, фармакометрики и климатического моделирования.


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

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments11

Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы

Reading time28 min
Views88K


14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.

Google в Китае забанен, поставить VPN на планшет я не удосужился, поэтому патриотично пользовался Яндексом для того, чтобы смотреть, какая ситуация у других производителей аналогичного железа, и что вообще происходит. В общем-то за ситуацией я следил, но только после этих докладов осознал, насколько масштабна готовящаяся в недрах компаний и тиши научных кабинетов революция.

Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.


TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
Читать дальше →
Total votes 166: ↑166 and ↓0+166
Comments116

Часть 1: RISC-V / RocketChip в неестественной среде обитания

Reading time15 min
Views9.7K
Конфигурирование RocketChip

Недавно на Хабре публиковалась статья о том, как поэкспериментировать с архитектурой RISC-V без затрат на «железо». А что, если сделать подобное на отладочной плате? Помните мемы про генератор игр: штук 20 галочек в стиле «Графика не хуже Кризиса», «Можно грабить корованы» и кнопка «Сгенерировать». Приблизительно так же устроен генератор SoC-ов RocketChip, только там не окно с галочками, а Scala-код и немного ассемблера и Make-файлов. В этой статье я покажу, как просто портировать этот RocketChip с родного для него Xilinx на Altera/Intel.

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

«Умная одежда» будущего: есть ли потенциал?

Reading time11 min
Views14K

Курточка Google Jacquard

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


От стационарных компьютеров мы пришли к ноутбукам, от ноутбуков – к смартфонам, от смартфонов – к браслетам и умным часам. Теперь многие компании спрашивают – куда идти дальше? И вот уже Apple подает патент на «одежду, подключающуюся к электронике».


Перспективы у индустрии большие, а некоторые любопытные «вещи-гаджеты» уже выпущены. Как обычно, есть и хорошие идеи, и несколько блинов комом.

Total votes 11: ↑10 and ↓1+9
Comments9

Новый ультразвуковой сенсор позволит «послушать» бактерии — как он устроен

Reading time4 min
Views4.2K
Инженеры из Квинслендского университета в Австралии разработали новый тип ультразвукового датчика, показатели чувствительности которого значительно превосходят аналоги. Сенсор назвали ультраультразвуковым. Он способен уловить вибрации отдельных клеток и бактерий в организме человека и оценить, нормально ли они функционируют.

Рассказываем, как он устроен.

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

RISC-V с нуля

Reading time18 min
Views57K
В этой статье мы исследуем различные низкоуровневые концепции (компиляция и компоновка, примитивные среды выполнения, ассемблер и многое другое) через призму архитектуры RISC-V и её экосистемы. Я сам веб-разработчик, на работе ничем таким не занимаюсь, но мне это очень интересно, отсюда и родилась статья! Присоединяйтесь ко мне в этом беспорядочном путешествии в глубины низкоуровневого хаоса.

Сначала немного обсудим RISC-V и важность этой архитектуры, настроим цепочку инструментов RISC-V и запустим простую программу C на эмулированном оборудовании RISC-V.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments21

Программатор чипов G-Shield: запись цифровых сертификатов в микросхемы на этапе производства

Reading time4 min
Views3.5K

Программатор G-Shield (GPW-01)

GlobalSign объявила о технологическом партнёрстве со стартапом Big Good Intelligent Systems, который выпустил продукт под названием G-Shield. Это сервер регистрации плюс программатор чипов для физической записи цифровых сертификатов на микросхемы: Big Good называет такие микросхемы «крипточипами» (HVCA Module / ECDH Crypto Chip).

Идея в том, что производитель физически защищает устройства с момента появления, то есть прямо на этапе производства.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

Face Anti-Spoofing или технологично узнаём обманщика из тысячи по лицу

Reading time18 min
Views27K

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



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

Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments18

Популярные заблуждения про радиационную стойкость микросхем

Reading time31 min
Views108K
Примерно в каждой второй теме на Хабре, касающейся космонавтики или электроники, всплывает тема радиационной стойкости. Через новости об отечественной космонавтике красной нитью проходит тематика импортозамещения радстойкой элементной базы, но в то же самое время Элон Маск использует дешевые обычные чипы и гордится этим. А изральтяне в «Берешите» использовали радстойкий процессор и тоже гордятся этим. Да и в принципе микроэлектронная отрасль в России живет по большей части за счет госзаказа с соответствующими требованиями. Наблюдение за регулярными спорами насчет того, как надо правильно строить спутники, показывает, что подготовка участников обычно невысока, а их аргументация отягощена стереотипами, случайно услышанными вырванными из контекста фактами и знаниями, устаревшими много лет назад. Я подумал, что читать это больше нет сил, поэтому, дорогие аналитики, устраивайтесь поудобнее на своих диванах, и я начну небольшой (на самом деле большой) рассказ о самых популярных заблуждениях на тему того, что такое радиационная стойкость интегральных микросхем.


Рисунок 1. Непременная красивая картинка про космическое излучение и хрупкую Землю.
Читать дальше →
Total votes 231: ↑230 and ↓1+229
Comments117

nanoFOX — простое RISC-V совместимое ядро

Reading time4 min
Views4.3K

Небольшое вступление:


Идея написания собственного ядра появилась после прохождения школы-семинара по цифровой схемотехнике в городе Томске. На данном мероприятии проводилось знакомство с текущими языками описания аппаратуры (Verilog HDL и VHDL), а также с небольшим процессорным ядром schoolMIPS. Для понимания устройства ядер было принято решение изобрести собственный велосипед, следуя по пути развития schoolMIPS, но взяв за основу другую систему команд. Вследствие роста популярности RISC-V и открытости его системы команд (MIPS на момент начала написания ядра не имел открытую систему команд) для осуществления разработки будущего ядра был выбран набор инструкций RISC-V, а именно RV32I. RV32I имеет небольшой набор базовых инструкций (37 без учёта специальных) и при желании его можно расширить, например, добавив инструкции целочисленного умножения и деления (RV32M) или поддержку сокращённых инструкций (compressed instructions) (RV32C). Также данный проект задумывался как образовательный, поэтому было решено по максимуму увеличить наглядность работы ядра для эффективной демонстрации его работы.


По аналогии с schoolMIPS были реализованы следующие версии ядра:


  1. Однотактная версия (00_simple_risc_v_cpu).
  2. Однотактная версия с поддержкой инструкций lw/sw (load word/store word) (01_simple_risc_v_cpu_lwsw).
  3. Конвейерная версия (5-ти стадийный конвейер) (02_pipe_risc_v_cpu).

На текущий момент описывается следующая версия ядра (03_pipe_risc_v_cpu_fc) с полным набором команд RV32I (без учёта некоторых специальных).

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

Асинхронность 3: Субъекторная модель

Reading time30 min
Views19K
Двое из ларца

Предисловие


Эта статья является продолжением цикла статей про асинхронность:

  1. Асинхронность: назад в будущее.
  2. Асинхронность 2: телепортация сквозь порталы.

Спустя 3 года я решил расширить и обобщить имеющийся спектр асинхронного взаимодействия с использованием сопрограмм. Помимо этих статей также рекомендуется ознакомиться с универсальным адаптером:

  1. Универсальный адаптер

Введение


Рассмотрим электрон. Что он из себя представляет? Отрицательно заряженная элементарная частица, лептон, обладающий некоторой массой. Это означает, что он может участвовать по меньшей мере в электромагнитных и гравитационных взаимодействиях.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments58

Конфиденциальность данных, IoT и Mozilla WebThings

Reading time7 min
Views3.1K


От переводчика: краткий пересказ статьи
Централизация устройств умного дома (вроде Apple Home Kit, Xiaomi и прочих) — это плохо, потому что:

  1. Пользователь становится зависим от определённого вендора, ведь устройства не могут общаться между собой за пределами одного производителя;
  2. Вендоры используют даные о пользователях по своему усмотрению, не оставляя пользователю выбора;
  3. Централизация делает пользователя более уязвимым, поскольку при хакерской атаке становятся уязвимыми сразу миллионы пользователей.

Mozilla провели исследование, в котором выяснили:

  1. Некоторые пользователи готовы пожертвовать конфиденциальностью данных ради комфорта;
  2. Большинство привыкло, что о них собирают данные, и удивляются, когда этого не происходит;
  3. Значительной части пользователей хотелось бы отказаться от слежки, но у них нет выбора.

Mozilla развивает свой стандарт умного дома, и призывает всех идти к децентрализации и изоляции. Их шлюз WebThings вообще не собирает никаких данных, и может работать полностью автономно.

Дальше пойдут подробности, ссылки, результаты исследований Mozilla.


Устройства умного дома помогают сделать жизнь чуточку легче, но в то же время для работы они требуют передачи контроля над вашей информацией своим компаниям-производителям. В недавней статье от New York Times Privacy Project о защите конфиденциальности онлайн, автор рекомендовал покупать устройства IoT только в том случае, когда пользователь «готов пожертвовать некоторой приватностью ради удобства».

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

PHP-модуль для работы с иерархическими данными в InterSystems IRIS

Reading time7 min
Views2.2K
image PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми СУБД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах.

Глобалы — это структуры для хранения иерархической информации. Они чем-то напоминают базы «key -> value» только с тем отличием, что ключ может быть многоуровневым:
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

MMU в картинках (часть 1)

Reading time11 min
Views75K
Хочу поговорить об устройстве управления памятью (Memory Management Unit, MMU). Как вы, разумеется, знаете, основной функцией MMU является аппаратная поддержка виртуальной памяти. Словарь по кибернетике под редакцией академика Глушкова говорит нам, что виртуальная память — это воображаемая память, выделяемая операционной системой для размещения пользовательской программы, ее рабочих полей и информационных массивов.

У систем с виртуальной памятью четыре основных свойства:
  1. Пользовательские процессы изолированы друг от друга и, умирая, не тянут за собой всю систему
  2. Пользовательские процессы изолированы от физической памяти, то есть знать не знают, сколько у вас на самом деле оперативки и по каким адресам она находится.
  3. Операционная система гораздо сложнее, чем в системах без виртуальной памяти
  4. Никогда нельзя знать заранее, сколько времени займет выполнение следующей команды процессора

Выгода от всех вышеперечисленных пунктов очевидна: миллионы криворуких прикладных программистов, тысячи разработчиков операционных систем и несчетное число эмбеддеров благодарны виртуальной памяти за то, что все они до сих пор при деле.

К сожалению, по какой-то причине все вышеперечисленные товарищи недостаточно почтительно относятся к MMU, а их знакомство с виртуальной памятью обычно начинается и заканчивается изучением страничной организации памяти и буфера ассоциативной трансляции (Translation Lookaside Buffer, TLB). Самое интересное при этом остается за кадром.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments17

Очень странный корпус микропроцессора A12X от Apple

Reading time3 min
Views39K
В рекламном видеоролике нового iPad Pro, показанном в октябре, присутствует последовательность кадров, на которой планшет как бы собирается из компонентов. Будучи большим любителем расковыривать электронику, я наснимал из ролика кадров, на которых демонстрируется заполнение материнской платы компонентами, и вот один из них:


В центре, предположительно, находится A12X; однако выглядит он, как полкорпуса, рядом с которым стоят, возможно, парочка корпусов DRAM. Увеличиваем и получаем следующее:
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments69

Information

Rating
Does not participate
Location
Сочи, Краснодарский край, Россия
Registered
Activity