Search
Write a publication
Pull to refresh
63
0
Глеб Ницман @gleb_l

Инженер

Send message

TKGate — open-source симулятор цифровых схем: проект снова жив

Reading time4 min
Views24K
TKGate ( tkgate.org ) — это симулятор цифровых схем на базе Verilog с открытым исходным кодом. Он работает в ОС Linux. Симулятор написан на связке C и Tk/Tcl. Автором проекта является Jeffery P. Hansen (неактивен). Сейчас разработкой занимается наш соотечественник Андрей Скворцов. На прошлой неделе после шестилетнего (!) перерыва в разработке вышла новая версия симулятора TKGate-2.0. Вот так выглядит TKGate:





Под катом более подробный разбор TKGate.
Читать дальше →

Радио86РК — советский самодельный компьютер

Reading time7 min
Views178K
Вы когда-нибуть собирали компьютер? Ну хотя бы один раз в жизни. Хотя бы не полностью.

— «Ну конечно!» — скажете вы.

И будете не совсем правы.

Нет, я ни в коем разе не умаляю ваших достижений, однако, в далеком 1986 году в СССР собрать компьютер могли лишь опытные радиолюбители. Это сейчас достаточно купить материнскую плату, процессор, достать пару планок оперативной памяти и жесткий диск на побольше, и водрузить это все в красивый корпус с блоком питания на 500W. Все это, заметьте, делается без помощи паяльника, осциллографа и кучи принципиальных схем.

image

Лишь немногие читатели Хабра могут похвастаться, что в советское время действительно собирали бытовые компьютеры. Доставали честными и нечестными путями дефицитные микросхемы, вытравливали печатные платы, до ночи воевали с УФ ПЗУ, вооружившись тумблерным программатором или наматывали трансформаторы для блоков питания. Спустя несколько месяцев кропотливой сборки и наладки наконец-то получалось то, что уже можно гордо называть бытовым компьютером. А если удавалось найти или сделать подходящий и красивый корпус для своего творения, то такой компьютер вызывал зависть у всех, кто еще не прокачал свои навыки крафта до 80 уровня.
Читать дальше →

Геолокация без GPS (часть 2)

Reading time4 min
Views24K
wifi Здравствуйте!
После предыдущей статьи (часть 1) я получил много отзывов о работе открытого API геолокации по WiFi и вышкам мобильных сетей.
В этот раз я хочу представить свои исправления, лицензирование проекта, геопозиционирование по нескольким точкам доступа, кейсы использования и самое главное — текущие проблемы
Узнать больше

Как поступить на бакалавриат в европейском вузе и победить: опыт русского студента, успевшего поучиться в Финляндии, Австрии и Болгарии

Reading time5 min
Views8.8K
Выбор вуза для многих является непростой задачей. Остаться или поехать за рубеж? Я выбрал второе и ни на секунду не пожалел об этом.

Поступил в финский политехник на IT, на данный момент завершил третий курс бакалавриата. После двух обменных программ в Австрии и Болгарии накопился большой багаж знаний о системе образования в Европе и о том, как ребята из стран СНГ туда попадают. Сначала я поделюсь, каким образом выбрал вуз. А затем субъективно расскажу, какие факторы следует учесть при выборе вуза.


Читать дальше →

IoT за копейки, или Что может DeviceHive

Reading time4 min
Views45K
В современном мире «интернет вещей» (IoT) стремительно набирает популярность. Он в будущем поможет человечеству автоматизировать многие аспекты жизни, упростить рутинные операции, да и просто сделать жизнь комфортнее и приятнее. Современная элементная база только способствует этому. Еще несколько лет назад задача управления устройством из сети порождала необходимость использовать высокопроизводительные процессоры, что увеличивало стоимость конечного исполнительного устройства в разы. Сейчас же есть возможность построить простые и эффективные IoT-решения за копейки.

Сделать свой дом поистине «умным» можно и без использования модных Raspberry Pi или Arduino. Большинство IoT-задач сводится к подключению типовых датчиков и исполнительных механизмов со стандартными интерфейсами: I2C, SPI, UART. А иногда даже с элементарным аналоговым выводом, с которого нужно считать наличие напряжения или подать его, или просто замкнуть.


Читать дальше →

Датчики и микроконтроллеры. Часть 2. Климат-контроль

Reading time22 min
Views117K
Продолжим рассказ о датчиках и в этой части рассмотрим разнообразные датчики самых востребованных DIY-сообществом типов — это многочисленные датчики температуры и датчики влажности. Кроме того, затронем датчики давления воздуха и присутствия газов. Приведем описание номенклатуры датчиков и сошлемся на полезную литературу.

Содержание


Часть 1. Мат. часть. В ней рассматривается датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассматриваются статические и динамические характеристики датчика.
Часть 2. Датчики климат-контроля. В ней рассматриваются особенности работы с датчиками температуры, влажности, давления и газового состава
Часть 3. Датчики электрических величин. В ней я коснусь измерения тока и напряжения
Читать дальше →

SIP телефон из stm32f4-discovery

Reading time9 min
Views29K
Всем привет.
В этой статье я расскажу, как мы делали sip-телефон на базе stm32f4-discovery с помощью своей встраиваемой ОС Embox. Характеристики stm32f4-discovery (144MHz, 192Kb RAM, 1Mb ROM) могут вызывать сомнения о возможности такой реализации. Нам самим было интересно, получится ли? В качестве ответа можно посмотреть видео, а в самой статье — технические подробности.



Читать дальше →

Reverse Engineering ESP8266 — часть 1

Reading time5 min
Views70K
Поддавшись общей волне энтузиазма относительно систем «Умный дом», а также имея профильное образование инженера АСУ ТП, с удовольствием занимаюсь данной темой в виде хобби. В этой статье поделюсь с вами своим опытом реверс-инжиниринга популярного модуля ESP8266.


Содержание


  1. Введение
  2. Архитектура ESP8266
  3. Инструменты
  4. Загрузка прошивки для исследования
    • ELF
    • Системная прошивка модуля
    • Пользовательская прошивка
  5. Ассемблер Xtensa
    • Регистры
    • Базовые операторы
    • Функции
    • Условные переходы
  6. Заключение
  7. Ссылки

Читать дальше →

Reverse Engineering ESP8266 — часть 2

Reading time5 min
Views46K
Продолжаем исследование модуля ESP8266. В этот раз рассмотрим процесс загрузки прошивки для дизассемблирования.

Первая часть статьи здесь.


Содержание


  1. Введение
  2. Архитектура ESP8266
    • Карта памяти (адресного пространства)
    • Формат прошивки
    • Процесс запуска
  3. Инструменты
  4. Загрузка прошивки для исследования
  5. Ассемблер Xtensa
    • Регистры
    • Базовые операторы
    • Функции
    • Условные переходы
  6. Заключение
  7. Ссылки

Читать дальше →

Разбираемся с поддержкой x64 в WPE Pro

Reading time9 min
Views54K
image

Думаю, что большинство из местных обитателей знакомы с понятием сниффера. Несмотря на то, что конечная цель у них одна и та же (перехват пакетов, соответствующих определённым критериям), достигают они её совершенно разным образом. Какой-то софт слушает указанный сетевой интерфейс (например, Wireshark, где это реализовано при помощи библиотеки Pcap), а какой-то — перехватывает вызовы ответственных за взаимодействие с сетью WinAPI-функций. И у того, и у другого метода есть свои плюсы и минусы, однако если по задаче необходим перехват пакетов от конкретного заранее известного приложения, то второй вариант, как правило, банально удобнее. В этом случае нет нужды узнавать IP-адреса и порты, которые использует данная программа (особенно учитывая тот факт, что их может быть довольно много), и можно просто сказать «я хочу перехватывать все пакеты вот этого приложения». Удобно, не правда ли?

Пожалуй, самым популярным на сегодняшний день сниффером, работающим по принципу перехвата вызовов определённых WinAPI-функций, является WPE Pro. Возможно, многие из вас слышали о нём на различных форумах, посвящённых онлайн-играм, ведь именно для получения преимуществ в различных играх этот сниффер в большинстве случаев и используется. Свою задачу он выполняет прекрасно, однако у него есть один неприятный недостаток — он не умеет работать с 64-битными приложениями. Так уж вышло, что по одной из возникших задач мне как раз понадобилось перехватывать пакеты от 64-битного приложения, и я посмотрел в сторону Wireshark. К сожалению, использовать его в данной ситуации было не очень удобно — исследуемое приложение отправляло данные на разные IP-адреса, каждый раз открывая новый порт. Погуглив немного, я обнаружил, что готовых аналогов WPE Pro с поддержкой x64 нет (если они всё же есть, буду признателен за ссылки в комментариях — обратите внимание, что речь идёт о Windows). Автор WPE Pro не оставил никаких контактных данных на официальном сайте и в самом сниффере, так что я принял решение разобраться в этом вопросе самостоятельно.

Как протекал процесс и что из этого вышло, читайте под катом.
Читать дальше →

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть пятая

Reading time41 min
Views204K

Предыдущие части




В данной части мы рассмотрим


Здесь мы в общих чертах рассмотрим работу с операторами модификации данных:
  • INSERT – вставка новых данных
  • UPDATE – обновление данных
  • DELETE – удаление данных
  • SELECT … INTO … – сохранить результат запроса в новой таблице
  • MERGE – слияние данных
  • Использование конструкции OUTPUT
  • TRUNCATE TABLE – DDL-операция для быстрой очистки таблицы

В самом конце вас ждут «Приложение 1 – бонус по оператору SELECT» и «Приложение 2 – OVER и аналитические функции», в которых будут показаны некоторые расширенные конструкции:
  • PIVOT
  • UNPIVOT
  • GROUP BY ROLLUP
  • GROUP BY GROUPING SETS
  • использование приложения OVER


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

Как мы научили iPhone футбольные клубы распознавать

Reading time25 min
Views9.2K


Привет, Хабр!

Меня зовут Игорь Литвиненко, я уже более трех лет занимаюсь разработкой под мобильные устройства, в основном под iOS. В DataArt изучаю продвижение различных задач тематики компьютерного зрения: обработка изображений, разработка программ дополненной реальности, использование нейронных сетей и т. д со спецификой для мобильных устройств. Сегодня я хочу вам рассказать про наш исследовательский/фановый проект, связанный с футболом.

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

Постановка задачи

Необходимо разработать мобильное приложение, которое бы показывало актуальную информация по футбольным клубам, составам, последним матчам. Для легкости использования своеобразной киллер-фичей приложения будет возможность отображения информации про команду при наведении телефона на ее логотип. Приложение также должно работать без подключения к интернету. Предполагаемое количество распознаваемых команд — около ста (тут уже не мы выбирали. Просто хотели охватить все клубы главных футбольных лиг Англии). Еще одна особенность — возможность «перекрашивать» пользовательский интерфейс на основе последнего распознанного логотипа.
Читать дальше →

Субъектно-событийный подход к моделированию сложных систем

Reading time8 min
Views19K
Александр Болдачев, 2015

Вещная (объектная) онтология


Традиционным для современного человека – и в быту, и в науке, и в философии – является вещное мышление, для которого свойственно описание мира как множества пространственно локализованных объектов-вещей. Сами вещи определяются через совокупность предикатов. Взаимосвязь объектов описывается через отношения и классификации, что формально фиксируется в виде таблиц и графов. Современные методы описания/моделирования сложных систем придерживаются вещной онтологии: сначала декомпозиция – выделение объектов, затем их классификация с приписыванием объектам свойств и установлением между ними отношений («часть-целое», «род-вид», «зависит» и т.д.)
Читать дальше →

WEB 3.0. От сайтоцентризма к юзероцентризму, от анархии к плюрализму

Reading time4 min
Views22K
В тексте в конспективном виде изложены идеи, высказанные автором в докладе «Философия эволюции и эволюция интернета».

Основные недостатки и проблемы современного веба:

  1. Катастрофическая перегруженность сети многократно дублированным контентом, при отсутствии надежного механизма поиска оригинального источника.
  2. Рассредоточенность и несвязанность контента – невозможность сделать исчерпывающую выборку по тематике и, тем более, по уровням анализа.
  3. Зависимость формы представления контента от издателей (зачастую случайных, преследующих собственные, обычно коммерческие, цели).
  4. Слабая связанность результатов поиска с онтологией (структурой интересов) пользователя.
  5. Малая доступность и слабая классифицированность архивного контента сети (в частности, социальных сетей).
  6. Малое участие профессионалов в организации (систематизации) контента, хотя именно они по роду своей деятельности повседневно занимаются как раз систематизацией знаний, но результат их работы фиксируется лишь на локальных компьютерах.

Читать дальше →

Темпорально-релятивистское онтологическое пространство

Reading time2 min
Views6.6K


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

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

Хотя, возможно, лучше назвать это простыми словами «картинка для медитации».

Примечания


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

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

Алгоритм Брезенхема в паяльной печи — теория

Reading time2 min
Views39K
Алгоритм Брезенхема является одним из старейших алгоритмов в машинной графике. Казалось бы, как можно применить алгоритм построения растровых прямых при создании домашней паяльной печи? Оказывается, можно, причем с очень достойным результатом. Забегая вперед, скажу, что данный алгоритм очень хорошо скармливается маломощному 8-битному микроконтроллеру. Но обо всем по порядку.
Читать дальше →

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 5. Ловец Солнца)

Reading time7 min
Views79K


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

«Мопед не мой», но для понимания принципа действия очень наглядно.

Читать дальше →

Обнаружение сигнала в шумах

Reading time3 min
Views36K

По роду своей деятельности мне приходится осуществлять контроль различных параметров наземных импульсно-фазовых радионавигационных систем (ИФРНС) «Чайка» и Loran-C. В этой статье я хочу поделиться одним из методов обнаружения времени прихода импульса ИФРНС при наличии шумов. Метод применим во многих задачах поиска сигнала известной формы.
Читать дальше →

Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

Reading time12 min
Views164K

Вступление


Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
Читать дальше →

ЧПУ фрезерный станок с автономным контроллером на STM32

Reading time5 min
Views115K
Поскольку я давно собрал для себя ЧПУ станок и давно и регулярно эксплуатирую его для хоббийных целей, то мой опыт, надеюсь, будет полезен, как и исходные коды контроллера.

Постарался написать только те моменты, которые лично мне показались важными.

Ссылка на исходники контроллера и настроенную оболочку Eclipse+gcc и пр. лежат там же, где ролик:


Читать дальше →

Information

Rating
10,461-st
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity