Pull to refresh
-1
0
Send message

Разработка скалера LVDS с двумя интерфейсами DisplayPort

Reading time6 min
Views19K


Доброго времени суток, Хабр!

Описание проекта платы скалера, разработанного на чипе компании Realtek – RTD2662, для двухканальной матрицы. Кому тема интересна, добро пожаловать под кат.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments61

Про рынок ИТ в России по-честному

Reading time16 min
Views158K
В последние несколько лет мои переживания по поводу российского рынка ИТ только усиливались. Все началось с кризиса рубля 2014 года (а может, и раньше), и с тех пор меня не покидает ощущение, что многие российские компании, особенно провинциальные, завязали себе глаза, заткнули ватой уши и все еще пытаются сделать вид, что ничего не происходит. Я много общался с разными компаниями, с HR, с разработчиками, и составил список неутешительных тезисов о том, что представляет собой как программистский рынок, так и культура разработки в целом, ведь это вещи взаимосвязанные. По моим субъективным оценкам, эти тезисы справедливы для ~60% российских компаний, хотя, казалось бы, те другие 40% компаний, которые мы знаем и любим, должны были заставить задуматься. Но я очень подозреваю, что это эти 60% просто надеются на русский “авось”, и подвергаются так называемой willful blindness, а иногда и намеренно мутят воду. Итак, по-честному, что же происходит?

Дисклеймер 1. Ни ссылок, ни имен, ни пруфов не будет. Как известно, в Интернете можно найти подтверждение или опровержение любому тезису, поэтому не вижу большого в том смысла, покуда это не диссертация, а мнение. Моя цель — предоставить другую точку зрения, основанную на личностном опыте веры на личном опыте.

Дисклеймер 2. В статье приводится собирательный образ. Вряд ли стоит ожидать, что есть стопроцентное совпадение хотя бы с одной компанией. Те или иные черты могут встречаться там или здесь; важно не то, что есть какие-то конкретные компании с этими проблемами. Важно то, что сами по себе проблемы существуют, и о них надо говорить.
Читать дальше →
Total votes 281: ↑250 and ↓31+219
Comments1833

А в это время

Reading time19 min
Views42K

– Нет, так дело не пойдет! – почти кричал взбешенный Анатолий Викторович. – Я не понимаю, за что плачу такие – заметьте, не малые – деньги! Чем программисты лучше других? Они что, какие-то особенные?


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


– Вот этими сказками я уже сыт по горло, про таинство творческих профессий! Слава Богу, у нас еще дизайнеров нет…

Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments153

TON: Telegram Open Network. Часть 2: Блокчейны, шардирование

Reading time7 min
Views33K

TON


Данный текст — продолжение серии статей, в которых я рассматриваю структуру (предположительно) готовящейся к выходу в этом году распределенной сети Telegram Open Network (TON). В предыдущей части я описал её самый базовый уровень — способ взаимодействия узлов между собой.


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


Сегодня посмотрим на основной компонент TON — блокчейн.

Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments14

Теговые файловые менеджеры. Сравнительный обзор

Reading time20 min
Views54K

Где же была эта чертова картинка?! Я сто раз натыкался на нее, пока она была не нужна!

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

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

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

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

Какие удобства предлагают нам наиболее известные файловые менеджеры с поддержкой тегов?
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments94

TON: Telegram Open Network. Часть 1: Вступление, сетевой уровень, ADNL, DHT, оверлейные сети

Reading time9 min
Views104K

TON: Telegram Open Network


Уже две недели Рунет шумит про Telegram и ситуацию с его бессмысленной и беспощадной блокировкой Роскомнадзором. Рикошетом задело многих, но всё это — темы для постов на Geektimes. Меня же удивило другое — я до сих пор не видел на Хабре ни одного разбора запланированной к выходу на базе Telegram сети TON — Telegram Open Network. Мне захотелось восполнить этот недостаток, ибо поизучать там есть что — даже несмотря на отсутствие официальных заявлений о нём.


Напомню — ходят слухи о том, что Telegram запустил очень масштабное закрытое ICO, уже собрав в нём невероятные суммы. Предполагается, что уже в этом году будет запущена собственная криптовалюта Gram — и у каждого пользователя Телеграма автоматически появится кошелёк, что само по себе создает немалое преимущество перед остальными криптовалютами.


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


Что же говорится в этом документе? Я попробую пересказать его своими словами, близко к тексту, но по-русски и чуть более человечно (да простит меня Николай со своей склонностью уходить в формальную математику). Имейте в виду, что даже в случае его подлинности, это черновое описание системы и оно, весьма вероятно, изменится к моменту публичного запуска.

Итак, приступим
Total votes 84: ↑83 and ↓1+82
Comments129

Мои маленькие реле: Brainfuck компьютер — это реальность

Reading time12 min
Views32K


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


Подкатом звенящие релейные блоки, самые быстрые в мире вычисления на реле(но это не точно), монтаж накруткой, вакуумные индикаторы и моргающие светодиодики.

Total votes 121: ↑121 and ↓0+121
Comments83

Gaijin Engineer in Tokyo

Reading time14 min
Views14K

Статья 26 марта об иммиграции в Чили разожгла во мне интерес касательно эмиграции в "экзотические" страны. В комментариях к ней же кто-то посоветовал Gaijin Engineer in Tokyo, которая открыла любопытный инсайд на жизнь иностранца в Японии. Я порою рассматриваю эту страну как направление для миграции, и, судя по комментам, людям интересно, поэтому я решил перевести эту статью.

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

Вредный Кейворд «Interface»

Reading time4 min
Views30K

Перевод ироничного поста из блога Боба Мартина в котором он рассуждает о том, насколько неудачным является использование слова interface в современных языках программирования, и какую путаницу и проблемы оно несёт разработчикам.


— Что ты думаешь об интерфейсах?


Имеешь в виду интерфейсы в Java или C#?


— Да. Классная фича этих языков?


Просто великолепная!


— Правда? А что такое интерфейс? Это то же самое что и класс?


Ну… Не совсем!

Читать дальше →
Total votes 87: ↑62 and ↓25+37
Comments389

Реализуем свой оператор в Entity Framework Core

Reading time5 min
Views15K

Однажды пасмурным мартовским субботним утром я решил посмотреть, как обстоят дела у Майкрософта в благом деле по трансформированию мастодонта Entity Framework в Entity Framework Core. Ровно год назад, когда наша команда начинала новый проект и подбирала ORM, то руки чесались использовать все как можно более стильное и молодежное. Однако, присмотревшись к EFC, мы поняли, что он еще очень далек продакшна. Очень много проблем с N+1 запросами (сильно улучшили во 2й версии), кривые вложенные селекты (пофиксали в 2.1.0-preview1), нет поддержки Many-to-Many (все еще нет) и вишенка на торте — отсутствие поддержки DbGeometry, что в нашем проекте было очень критично. Примечательно, что последняя фича находится в road map проекта с 2015 года в списке высокоприоритетных. У нас в команде есть даже шутка на эту тему: "Эту задачу добавим в список высокоприоритетных". И вот прошел один год с последней ревизии EFC, вышла уже вторая версия данного продукта и я решил проверить, как обстоят дела.

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

Электронный микроскоп в гараже. Разгоняем электроны

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

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



Было высказано предположение, что это кремний. Что это в итоге оказалось и какого прогресса удалось достичь в электронном микроскопе за три недели — под катом.
Антимония
Total votes 78: ↑77 and ↓1+76
Comments21

Как собрать GSM телефон на базе SDR

Reading time13 min
Views38K


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

В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и исправлять всевозможные ошибки, но и убедиться в отсутствии так называемых «закладок» в коде. Кроме того, открытый исходный код позволяет начинающим разработчикам учиться на примере более опытных, используя результаты их работы в качестве опоры.
Total votes 37: ↑37 and ↓0+37
Comments7

Космический телескоп Хаббл (статья плюс ролик)

Reading time12 min
Views43K
На орбите Земли есть три объекта, о которых знают даже далекие от астрономии и космонавтики люди: Луна, Международная Космическая Станция и космический телескоп Хаббл. Последний на целых восемь лет старше МКС и застал еще Орбитальную Станцию «Мир». Многие считают его просто большим фотоаппаратом в космосе. Реальность же немного сложнее, не зря ведь люди, работающие с этим уникальным аппаратом с уважением называют его небесной обсерваторией.


Очень много картинок!
Total votes 57: ↑57 and ↓0+57
Comments49

Как я взломал паяльник

Reading time17 min
Views98K
Фраза звучит несколько странно? Спасибо техническому прогрессу — не так давно «сфотографировать на телефон» звучало не менее странно.

image

В конце прошлого года я купил паяльную станцию, уже успевшую получить ярлык «народная». Её достоинства: удобные жала-картриджи T12, приличная мощность (до 72W в теории), быстрый нагрев (единицы секунд), невысокая цена. (Подробнее ознакомиться со станцией можно в этом шикарном обзоре)

Купил я самую последнюю версию hardware 2.1s, и немного расстроился, увидев что прошивка старая. Разумеется руки зачесались обновить. Зная что «сердцем» паяльной станции является STM32F103C8 (популярный микропроцессор ARM Cortex-M3 производства STMicroelectronics) — тем интереснее было покопаться, т.к. я когда-то уже моргал светодиодом на STM32F4Discovery.

Тут же были припаяны 4 провода SWD интерфейса, подключен программатор, залита прошивка.
И… Станция потребовала активацию!
Total votes 222: ↑220 and ↓2+218
Comments127

Операционные системы с нуля; Уровень 0

Reading time11 min
Views132K

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

Читать дальше →
Total votes 80: ↑78 and ↓2+76
Comments55

Сравнение производительности C и C++ на примере сжатия Хаффмана

Reading time20 min
Views62K

Введение


Когда на IT-форумах задают вопрос «Быстрее ли язык программирования X языка Y», это обычно вызывает потоки эмоций и считается некорректным. Сродни вопросу про религию или предпочтение той или иной политической партии. Действительно, язык — это способ выражения мысли, идеи. В данном случае идеи программной системы. Он не быстр и не медлен. Он может быть более или менее лаконичным, более или менее точным. А скорость определяется не столько языком, сколько конечным кодом, который генерирует компилятор этого языка. Или скоростью интерпретатора в случае интерпретируемого языка.

Но это всё философия. А на практике обычно есть практическая задача разработки ПО. И, действительно, реализовать это ПО можно на десятке разных языков программирования. Поэтому, хоть это и «религиозный вопрос» в случае публичного обсуждения, вопрос этот часто возникает в голове IT-специалиста, стоящего перед конкретной задачей. «Сколько времени мне потребуется для реализации задачи на языке X и какие у полученного ПО будут характеристики, в том числе скоростные, по сравнению с реализацией этой задачи на языке Y». Понятное дело, точного ответа на этот вопрос нет, специалист опирается на свой личный опыт и отвечает как-то типа «с вероятностью 95%, написанная на ассемблере, эта задача будет работать быстрее, чем на php». Но, положа руку на сердце, опыт этот редко базируется на точных цифрах реальных задач, которые сам этот специалист реализовал. Нет, ну кто в здравом уме будет писать сложное ПО сначала на php, а потом его же переписывать на ассемблере, только чтобы измерить характеристики? В основном ограничиваются синтетическими тестами типа сортировки массива, построения и обхода бинарного дерева и тому подобных.
Читать дальше →
Total votes 100: ↑92 and ↓8+84
Comments172

Автопилот на AT91SAM7

Reading time13 min
Views13K

1. Вступление


Радиоуправляемыми самолетами я увлекся еще в 2002 году, живя в Праге. Первый самолет был с размахом крыла 1.2 м, двигатель 2-х тактный ДВС. Вот фрагмент видеозаписи тех времен. Однажды в 2008 году мне в руки попал акселерометр ADXL202E. Имея опыт разработки устройств на контроллере семейства MCS-51(это был Рубидиевый стандарт частоты и система сбора данных), я решил сделать автопилот для радиоуправляемой модели Mentor. Первым делом я подключил акселерометр к контроллеру. Для простоты я выбрал отладочную плату с контроллером AT91SAM7, за удобство и простоту работы с ней. Надо заметить, что я решил не изучать ничего про автопилоты в интернете, а делать все самостоятельно с "0", чтобы было интересней.



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

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments12

Универсальный дампер/инжектор Unity3D (Mono, Android)

Reading time7 min
Views12K
image

Приветствую!

Не так давно я увлекся исследованием игр под android. Как оказалось, весьма немалое количество разработчиков используют Unity3D(наверное, процентов 50-60 игр, которые мне были интересны, базируются на этом движке). Сразу оговорюсь — я не специалист по взлому и даже практически не знаю C++/asm(не смотря на небольшое знакомство с этой темой), так что просьба не швыряться унитазами при помощи гравипушек. Также небольшое уточнение — я исследовал практически только ММО/полу-онлайновые игры в стиле «крабишь сюжетный данж до посинения, а потом сражаешься на арене с другими игроками, причем полу-оффлайн). Оффлайновые игры на Unity3D исследовать просто-напросто скучно.

Собственно, насколько мне известно игрушки под Unity3D используют 2 технологии: Mono и Il2cpp.
В пределах данного материала я хочу рассмотреть процесс подмены .NET dll'ок и дампа даже шифрованных версий этих самых dll'ок напрямую из игры.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments14

С камерой в облака. Часть 2

Reading time26 min
Views252K
Тренировки

Спасибо каждому, кто читал и комментировал первую часть. Благодаря вам, продолжение будет еще интереснее. Если еще не читали — рекомендую это сделать. Там мало текста, и есть классные видео.

Изначально планировалось, что эта часть будет завершающей. Но, для удобства попадания в скролл, сейчас остановимся лишь на этих вопросах:

  • Тренировки. Вырабатывание летных навыков.
  • Выбор модели: самолет, вертолет или мультикоптер?
  • Выбор конкретной конструкции и размера
  • Моторы и ESC
  • Полетный контроллер


Как обычно, сразу к делу.
Читать дальше →
Total votes 175: ↑173 and ↓2+171
Comments170

С камерой в облака. Часть 1

Reading time6 min
Views241K


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

Пост состоит из 2 частей. В первой — ответы на основные вопросы. Их легко найти в интернете по-отдельности, но сложно вместе: дальность полета (чем ограничивается и какая максимальная), качество картинки, грузоподъемность, стоимость и сроки (от выделения бюджета до первого полета).

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

Ну что же, перейдем сразу к делу.
Читать дальше →
Total votes 161: ↑156 and ↓5+151
Comments103

Information

Rating
Does not participate
Registered
Activity