Pull to refresh
2
0

Пользователь

Send message

Ржавеем дальше. Как появился Rust и можно ли на нём WEB?

Reading time20 min
Views18K

Моя предыдущая статья про rust вызвала положительную реакцию и большое количество обсуждений о том что да как с rust. Мне исключительно приятно видеть что вам понравился этот материал.

В комментариях я встретил много вопросов типа «А можно ли использовать rust для WEB?» Лаконичный ответ таков: «Можно». Можно и brainfuck использовать, если хочется. Нужно ли? Скажем так, brainfuck для WEB использовать категорически не стоит. А вот rust – тут надо понимать что именно делает rust и каковы его цели. Для того чтобы это понять мы должны погрузиться в компилятор и разобраться в устройстве процессоров. Под катом вы найдёте глубокий заныр в историю того как появился rust и поймёте что это такое и когда его нужно использовать а когда можно и на «ноде запилить».

Ржавеем дальше и глубже...
Total votes 39: ↑34 and ↓5+29
Comments88

Rust + CLion = Любовь

Reading time1 min
Views15K


Привет, Хабр! В общем как я обещал вот рассказ о том как CLion в качестве IDE для Rust на MacOS использовать. Почему не IntelliJ IDEA? Потому что CLion может дебажить. Почему LLDB, а не GDB? Потому что LLDB у меня вместе с XCode был установлен. Мне нравится эта IDE, и поэтому я решил рассказать про нее вам. Если вам стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments6

Визуализация науки: иллюстрации и инфографика

Reading time18 min
Views14K


Где проходит граница между иллюстратором и специалистом по инфографике? Как визуализировать данные? Что говорит наука о различных дизайнерских решениях?

Прежде чем углубиться в рассуждения, я хочу рассказать о контексте. Описанные ниже идеи лежат в основу моего собственного опыта. Отчасти это мои наблюдения за 20 лет работы арт-директором. Это не исчерпывающий обзор литературных источников, не строгий взгляд на сферу научной визуализации. Это размышления, связанные с моей работой, начавшейся в издательской сфере, а также отсылки к некоторым полезным или провокационным источникам и сообществам. В чём-то я наверняка ошибусь, ведь я не специалист во всех поддисциплинах, о которых буду говорить. Но я работаю на пересечении этих поддисциплин, и со временем разработал ряд ресурсов, которые вас могут заинтересовать.
Много картинок внутри
Total votes 29: ↑29 and ↓0+29
Comments3

Краткие заметки embed-программиста: дублирование секции в памяти микроконтроллера

Reading time9 min
Views6.3K

Начальные условия


Есть устройство на базе микроконтроллера (для примера будет взят stm32f405rgt6). При включении оно настраивает свою периферию на основе предпочтений пользователя или настроек по-умолчанию. Пользователь может менять настройки во время работы устройства (как правило, только во время интеграции в комплекс) через один из возможных интерфейсов (CLI меню или утилита установки параметров работы, работающая через бинарный протокол). После установки параметров пользователь сохраняет настройки специальной командой (так же через один из возможных интерфейсов).
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments50

Венеция: дикий профит на паре голых скал

Reading time13 min
Views40K
В посте про транспортную систему Венеции я обещал чуть больше рассказать про сам город и острова. Поэтому ниже — минутка пятничного урбанизма.



Примерно в 452 году зажиточные крестьяне убегали от варваров под предводительством Аттилы, бродящих толпами по материку. Лагуна мелкая, но для переправы нужны лодки, потому что проплыть 6 километров на коне как-то сложно. Ну и Аттила законно подозревал, что десантирование на острова — далеко не его основной бизнес.

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


Эту картинку NASA открыла для Вики, а я добавил выделение Венеции

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

Оставалась только одна проблема — вокруг был тотальный голяк. То есть можно было рыбачить, но зажиточные крестьяне всё же хотели большего. Ну и дальше пошла история Серениссимы, Светлейшей республики. Одной из самых странных стран в истории человечества: фактически, без территорий, но зато с обширными морскими владениями.
Читать дальше →
Total votes 142: ↑137 and ↓5+132
Comments57

Реверс инжиниринг процессора ARM1

Reading time9 min
Views31K
Перевод статьи Кена Ширриффа
Почти каждый смартфон использует процессор на основе чипа ARM1, представленного в 1985 году. Более десяти миллиардов ядер ARM было использовано в различных гаджетах, включая один из самых больших провалов Apple, карманный компьютер Newton, и один из самых оглушительных её успехов — iPhone. В этой статье мы рассмотрим ключевые части процессора ARM1: опишем общую структуру чипа, посмотрим на то, как устроены транзисторы и как они функционируют, взаимодействуя друг с другом для хранения и обработки данных, а также взглянем на визуальную симуляцию этого микропроцессора и узнаем, что происходит внутри ARM1 во время его работы.

image

Обзор микросхемы ARM1

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

Программирование современных микроконтроллеров — новый курс МИРЭА, Samsung и Unwired Devices

Reading time5 min
Views23K
Привет, Гиктаймс! Этим полукреслом мастер Гамбс… Этим постом мы — проект IoT Академия Samsung и компания Unwired Devices — начинаем цикл публикаций по мотивам нового практического курса по программированию микроконтроллеров на ядре Cortex-M3, который с завтрашнего дня будет читаться в Институте Информационных Технологий Московского Технологического Университета (также известного как МИРЭА).

Цель курса — познакомить студентов с современными микроконтроллерами на ядре Cortex-M3 и дать им базовые навыки программирования под них на языке C под операционной системой. Требования к слушателям — знакомство с языком C (не обязательно на микроконтроллерах) и базовое понимание электроники (на уровне умения подключить светодиод).

image

Изначально программа IoT Академии задумывалась как достаточно высокоуровневая — студенты должны работать с готовыми модулями передачи данных для сетей LoRa и 6LoWPAN, в которые уже были загружены прошивки с поддержкой нужных датчиков и необходимой логикой работы с ними. Фактически, курс заключается в настройке этих модулей и написании высокоуровневого ПО для обработки приходящих данных на платформе Samsung Artik + Tizen.

Однако, как показала практика, многим студентам интересно более серьёзно углубиться в то, что происходит внутри микроконтроллеров. При этом на данный момент с обучающими курсами по контроллерам Cortex-M в паре с операционными системами всё обстоит достаточно плохо: по сути, девять из десяти таких курсов посвящены написанию несложного приложения с использованием StdPeriphLib и/или CubeMX, причём половина текста приходится на вопросы инициализации контроллера и его периферии.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments147

Как найти компанию спонсора визы в США. Tips and Tricks

Reading time9 min
Views88K

image


Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер.


Сперва расскажу про рабочие визы, а потом как и где искать работодателя.

Читать дальше →
Total votes 48: ↑39 and ↓9+30
Comments73

Температура и давление фантастики — часть 1/3

Reading time13 min
Views57K
Предлагаемая вашему вниманию заметка рассказывает про пространство состояний материи. Которое, в некотором смысле, обширнее, чем пространство расстояний между объектами в космосе, и иногда так же трудно преодолевается.

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

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

Часть 1. pT-диаграмма

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

Мобильные устройства изнутри. Разметка памяти, структура файлов описания и разметки памяти

Reading time19 min
Views37K

1. Введение


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

Эта статья посвящена аспектам разметки памяти только МУ, т.к. именно здесь существует тесно свитый разными производителями клубок из файлов описания разметки при почти полном отсутствии теоретических данных о структуре самих этих файлов.

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

На основе таблиц описаний затем формируются файлы разметки памяти, которые в виде образов разделов прошиваются непосредственно в память МУ.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments7

Второе издание книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Reading time7 min
Views15K
image Привет, Хаброжители! В том году мы делали обзор книги Эрика Мэтиза. На данный момент вышло новое издание с исправленными опечатками и листингами. Сама книга показывает базовые принципы программирования, знакомит со списками, словарями, классами и циклами, учит создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную «стрелялку» с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.

Внутри отрывок из книги «Знакомство с Django»
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Ежедневная работа с Git

Reading time40 min
Views875K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

Дебаггинг в реальном времени через JTAG/SWJ-DP для микроконтроллеров на ядре ARM Cortex-M

Reading time4 min
Views38K

С некоторых пор фирма Segger предлагает технологию Real Time Terminal (RTT) для своих JTAG адаптеров J-Link. Суть ее в том, что программа на микроконтроллере может выводить и принимать отладочную информацию из JTAG/SWJ-DP порта, как это обычно делается через UART. И тогда нам больше не нужен реальный отладочный UART. Далее чуть подробнее о возможностях этой технологии.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments1

Контра, Батлтодс и Мортал Комбат в одной коробке. История о том, как я сделал игровой автомат и поставил его в офисе

Reading time6 min
Views32K


Многие дети российских 90-х с теплотой вспоминают часы, проведённые за приставками, — как с друзьями играли в «танчики», Батлтодс, Рокэнролл рэйсинг и кучу других игр. Уверен, что есть среди вас и такие, кто и до сих пор играет и коллекционирует классические приставки и игры для них. Что-то в них есть такое, что связывает с беззаботным детством.

Я и сам этим отчасти болею. Но когда я немного погрузился в мир ретрогейминга, оказалось, что в моем детстве было много такого, что так или иначе обошло меня стороной. Сейчас я говорю об аркадных автоматах — явлении, которое в 80-90-е было фактически двигателем прогресса. Многие знакомые нам игры сначала писались именно под аркадные автоматы, а уже потом портировались на домашние консоли в урезанном виде.

Среди интересующихся ретрогеймингом есть мнение, что играть надо на оригинальном железе, а эмуляция — это не тру. Это означает, что если вы решили вспомнить былые деньки и погонять с друзьями в «Чипа и Дэйла», то будьте добры достать себе приставку (желательно оригинальную NES или Famicom) и пару картриджей к ней. В современном мире это не проблема — можно купить всё это на интернет-аукционах. Вопрос только в том, с какой суммой вы готовы расстаться.

Но что же делать с аркадными играми? Купить оригинальный автомат можно. Но доставка его обойдется в неприлично большую сумму американских денег, да и игра там будет одна.

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

Выход — собрать аркадный автомат самому
Читать дальше →
Total votes 73: ↑73 and ↓0+73
Comments36

Как работает Android, часть 1

Reading time8 min
Views217K


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

Читать дальше →
Total votes 92: ↑91 and ↓1+90
Comments51

VAX — инструмент для визуального программирования, или как написать SQL мышкой

Reading time7 min
Views40K


Я хочу рассказать про созданный мною web редактор для «визуального программирования» и его историю создания.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments88

В Москве пройдет VisionHack – первый международный студенческий хакатон по компьютерному зрению для беспилотников

Reading time3 min
Views2.5K
НИТУ «МИСиС» и компания Cognitive Technologies проведут 11-13 сентября в Москве первый международный студенческий хакатон по искусственному интеллекту и компьютерному зрению с призовым фондом более 30 000 долларов США. О своем участии уже заявили команды из Массачусетского технологического института (MIT, США), Университета Кембриджа (Великобритания), Университета штата Аризона (ASU, США), Пекинского научно-технического университета (КНР), Политехнического университета Каталонии (UPC, Испания) и ведущих российских вузов.

image
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments2

Задачи с собеседований. Три адекватные задачки на «подумать»

Reading time2 min
Views108K
И снова про собеседования. Некоторые простые задачи порой вызывают затруднение. В этом посте я хочу рассмотреть три задачки с собеседований, которые мне понравились, потому что к их решению можно прийти самим, но чуток подумать все равно придется.

Читать дальше →
Total votes 83: ↑47 and ↓36+11
Comments249

23 вопроса, которые вам зададут на собеседовании в Apple

Reading time3 min
Views18K
Apple — компания, которая известна не только уникальными технологическими решениями, но и ломающими мозг вопросами на собеседованиях. Чем и делимся.


Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments2

Собеседование на позицию разработчика, как оно есть

Reading time8 min
Views50K
Доброго времени суток. На данный момент я занимаю должность Senior/Team Lead IOS Developer. Так вышло, что за последний год мне довелось побывать на огромном количестве собеседований, так сказать, по обе стороны баррикад. Поэтому мне бы хотелось поделиться своим опытом и поговорить о том, как, на мой взгляд, надо проводить собеседование, ведь в общей суматохе можно упустить ряд важных моментов, что, впоследствии, может негативно отразиться на качестве собеседования.

image

Данная статья будет полезна людям, которые волею судьбы вынуждены проводить собеседования, но при этом не имеют необходимого опыта и плана, как и я когда-то. Все, что описано ниже, является выводами из большого количества проведенных собеседований. Но, как говорится, любое совпадение имен или событий с реальными являются случайностью.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments51
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity