Search
Write a publication
Pull to refresh
-2
0
Вадим @Disasm

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

Send message

Уроки по электрическим цепям — линии передачи

Reading time10 min
Views251K
Ещё не начав читать статью, попробуйте подумать над вопросом: побежит ли ток, если подключить к батарейке очень длинный провод(более чем 300 тысяч километров, сверхпроводник), если противоположные концы провода никуда не подключены? Сколько Ампер?

Прочитав эту статью, вы поймёте в чём смысл волнового сопротивления. Из лекций по теории волн я вынес только то, что волновое сопротивление — это сопротивление волнам. Большая часть студентов, кажется, поняла ровно то же самое. То есть ничего.

Эта статья — весьма вольный перевод этой книги: Lessons In Electric Circuits
Статьи по теме: На Хабре: Контакт есть, сигнала нет
Трэш в Википедии: Длинная линия

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

Модификация стоковых прошивок для Android. Часть 2

Reading time10 min
Views79K
Здравствуй Хабр!

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

Например, описывать как происходит загрузка Android в данной статье будет не уместно. Если вы знаете принцип инициализации аппаратного обеспечения вашего компьютера в BIOSе, а затем его загрузка через ядро системы, то Android в этом плане ничем не отличается. Разница лишь в процессорной архитектуре. Структура файловой системы? Ну господа, это же чистой воды UNIX система, и писать где, что и как хранится — абсурдно! Править build.prop — это тюнинг системы. Да, это модификация, но большую часть этих параметров можно сделать сторонними приложениями, причем удобными для пользования, например System Tuner.

Понять самому принципы системы Android заняло у меня пару месяцев, столько же займет времени и писать статьи, чтобы осветить все базовые вещи. Так что давайте лучше будем писать о конкретных примерах как разбирать Dalvik код и создавать на телефоне удобства «пользования».

И так, поехали! Сегодня я расскажу как я реализовал функционал автоматической записи телефонных разговоров родными средствами.
Читать дальше →

Использование автоматизированных верификационных средств для тестирования ПО в соответствии со стандартами DO-178B/C (КТ-178В), EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304

Reading time12 min
Views26K

Введение от автора поста



Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc. и рассматривается пример использования автоматизированного верификационного инструментария VectorCAST.
В статье мы акцентируем внимание на стандартах DO-178B/C (КТ-178В), но данная статья актуальна и для применения в соответствии со стандартами: EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304.
На вопросы отвечу в комментариях или в личку.

Введение


В этой статье, мы рассмотрим каким образом платформа тестирования встроенного программного обеспечения (ПО) VectorCAST может быть использована для достижения целей процесса верификации ПО, определенного в разделе 6.0 стандартов DO-178B и DO-178C (КТ-178В) «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». В документе также освещаются различия между двумя стандартами в части раздела 12 «Процесс квалификации инструментального ПО».

Подробнее

Начался реверс-инжиниринг процессора PlayStation 1: безумству храбрых поём мы песню!

Reading time2 min
Views96K
Вероятно многие из вас уже слышали о проекте Visual6502 — в котором умельцы отсняли по слоям легендарный процессор 6502 (а затем и 6800), восстановили электрическую схему, и написали визуальный эмулятор процессора на JavaScript. Помимо академической ценности, это также позволяет реализовать абсолютно точный эмулятор любых компьютеров, построенных на этих процессорах.

Однако наши соотечественники решили поднять планку выше, намного выше — и начали проект по восстановлению электрической схемы процессора Playstation 1 (MIPS R3051). Этот процессор — изготовлен по намного более тонким нормам чем 6502 (~800нм против ~5000нм), содержит 3 слоя металлизации (вместо 1), и имеет бОльшую площадь (~250тыс транзисторов против 3.5тыс у 6502) — потому объем работы обещает быть по меньшей мере в 100 раз больше.

Цель проекта — создание абсолютно точного эмулятора Playstation 1.
Читать дальше →

Путешествие через вычислительный конвейер процессора

Reading time16 min
Views138K
Так как карьера программиста тесно связана с процессором, неплохо бы знать как он работает.

Что происходит внутри процессора? Сколько времени уходит на исполнение одной инструкции? Что значит, когда новый процессор имеет 12, или 18, или даже 31-уровневый конвейер?

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

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

Эта статья рассказывает, как устроен вычислительный конвейер x86 процессора.
Читать дальше →

Как запустить программу без операционной системы: часть 4. Параллельные вычисления

Reading time18 min
Views30K
После долгого перерыва продолжаем делать интересные штуки, как всегда на чистом железе без операционной системы. В этой части статьи научимся использовать весь потенциал процессоров: будем запускать программу сразу на нескольких ядрах процессора в полностью параллельном режиме. Чтобы провернуть такое, нам потребуется многое сделать для расширения функциональности программы полученной в части 3.

Просто так выполнять какие-то вычисления на ядрах процессора – скучно, поэтому нужна задача, которая требует больших вычислительных ресурсов, хорошо раскладывается на параллельные вычисления, да и выглядит прикольно. Предлагаем сделать программу, которая рендерит простенькую 3D-сцену, используя алгоритм обратной трассировки лучей, или, по-простому, Ray Tracing.

Начнем с самого начала: наша цель параллельные вычисления на всех ядрах процессора. Все современные процессоры для PC, да и ARM уже тоже (я молчу про GPU) – это многоядерные процессоры. Что же это означает? Это означает, что вместо одного вычислительного ядра у процессора на одном компьютере присутствует несколько ядер. В общем случае, все выглядит несколько сложнее: на компьютере может быть установлено несколько сокетов (чипов процессора), в рамках каждого чипа (в рамках одного кристалла) может находиться сразу несколько физических ядер, а в рамках каждого физического ядра может находиться несколько логических ядер (например, те, что возникают при использовании технологии Hyper Threading). Все это схематично представлено на рисунке ниже, и называется топологией.


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

5 практических советов по эксплуатации литий-ионных аккумуляторов

Reading time3 min
Views1.2M
Литий-ионные аккумуляторы не столь «привередливы», как их никель-металл-гидридные собратья, но все равно требуют определенного ухода. Придерживаясь пяти простых правил, можно не только продлить жизненный цикл литий-ионных аккумуляторных батарей, но и повысить время работы мобильных устройств без подзарядки.

Не допускайте полного разряда. У литий-ионных аккумуляторов отсутствует так называемый эффект памяти, поэтому их можно и, более того, нужно заряжать, не дожидаясь разрядки до нуля. Многие производители рассчитывают срок жизни литий-ионного аккумулятора количеством циклов полного разряда (до 0%). Для качественных аккумуляторов это 400-600 циклов. Чтобы увеличить срок службы вашего литий-ионного аккумулятора, чаще заряжаете свой телефон. Оптимально, как только показатель заряда батареи опустится ниже отметки 10-20 процентов, можете ставить телефон на зарядку. Это увеличит количество циклов разряда до 1000-1100.
Данный процесс специалисты описывают таким показателем как Глубина Разряда (Depth Of Discharge). Если ваш телефон разряжен до 20%, то Глубина Разряда составляет 80%. В нижеприведенной таблице показана зависимость количества циклов разряда литий-ионного аккумулятора от Глубины Разряда:
image

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

ТОП 5 советов по увеличению времени работы телефона на Android

Reading time4 min
Views282K
imageВремя работы телефона на Android — это постоянная головная боль. Именно поэтому этот вопрос обсуждается без конца на таких сайтах как Mobile Nations или XDA Developers — ROM разработчики и моддеры пытаются найти оптимальное сочетание железа и софта, которое бы работало максимально долго.
(Изображение «The Hungry Android» сделано thefjk)

На сегодняшний день в мире насчитывается более 900.000.000 телефонов на Android по информации, прозвучавшей на Google I/O 2013, и это число продолжает расти.
image

Для нас, как производителей аккумуляторов повышенной емкости, это хороший показатель, но по словам наших пользователей-геймеров, даже времени работы аккумулятора повышенной емкости на 6400мАч для Note 2 бывает недостаточно, поэтому сегодня мы забудем об аккумуляторах, как методе решения проблемы и представим вашему вниманию универсальные ТОП 5 советов, которые помогут вам увеличить время работы телефона на Android.

imageНе новость, что в большинстве случаев, помимо самой Android OS, экран потребляет наибольшее количество энегрии на Android. На втором месте стоит поиск и использование сигналов (сеть и 3G, Wi-Fi) — в местах с плохой связью телефон начинает потреблять больше энергии.

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

Если у вас будет желание, поделитесь вашим скриншотом — мы с удовольствием посмотрим ваши показатели в комментариях! Не забудьте указать, какая у вас модель телефона!

Итак, ТОП 5:

1. Стандартный Power Control Виджет Многие виджеты могут есть много энергии, но этот направлен именно на то, чтобы помочь нам быстро и оперативно включать и выключать WiFi, BlueTooth, Звук, Синхронизацию и так далее. Добавьте этот виджет на одну из рабочих панелей:
image
На Galaxy S4 этот функционал добавили в Панель Оповещений (Notification Bar) с возможностью переключения видов, что очень удобно!
image
Читать дальше →

Пять файловых менеджеров для Android

Reading time8 min
Views356K
Приветствуем вас, Хабралюди! В этот раз я хочу рассказать вам о таком часто незаметном, но в то же время важном компоненте смартфона как файловый менеджер. С одной стороны, файловый менеджер является просто одной из утилит ОС и многие из нас даже не задумываются о его функциональности, с другой — мы ежедневно к нему обращаемся, поэтому важно, чтобы эта программа была максимальной удобной. И хотя в Meizu MX2 есть встроенный файловый менеджер, вполне удобный и функциональный, я расскажу вам про другие варианты..


Какой файловый менеджер лучше?

Вы опасно некомпетентны в криптографии

Reading time7 min
Views142K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

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

Повышаем безопасность закрытых ssh-ключей

Reading time8 min
Views65K
Вы когда-нибудь интересовались механизмом работы ssh-ключей? Или тем, насколько безопасно они хранятся?

Я использую ssh каждый день много раз — когда запускаю git fetch или git push, когда развертываю код или логинюсь на сервере. Не так давно я осознал, что для меня ssh стал магией, которой я привык пользоваться без понимация принципов ее работы. Мне это не сильно понравилось — я люблю разбираться в инструментах, которые использую. Поэтому я провел небольшое исследование и делюсь с вами результатами.

По ходу изложения встретится много аббревиатур. Они не помогут понять идеи, но будут полезны в том случае, если вы решите погуглить подробности.

Итак, если вам доводилось прибегать к аутентификации по ключу, то у вас, скорее всего, есть файл ~/.ssh/id_rsa или ~/.ssh/id_dsa в домашнем каталоге. Это закрытый (он же приватный) RSA/DSA ключ, а ~/.ssh/id_rsa.pub или ~/.ssh/id_dsa.pub — открытый (он же публичный) ключ. На сервере, на котором вы хотите залогиниться, должна быть копия открытого ключа в ~/.ssh/authorized_keys. Когда вы пытаетесь залогиниться, ssh-клиент подтвержает, что у вас есть закрытый ключ, используя цифровую подпись; сервер проверяет, что подпись действительна и в ~/.ssh/authorized_keys есть открытый ключ, и вы получаете доступ.

Что же хранится внутри закрытого ключа?

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

VoIP-cофтфон 3CXPhone для Android — впервые с PUSH-уведомлениями

Reading time1 min
Views8.9K
Компания 3CX на днях выпустила приложение, VoIP-софтфон 3CXPhone для Android. Главная фича 3CXPhone — поддержка PUSH-уведомлений, которые могут ‘разбудить’ смартфон при VoIP звонке или входящем сообщении в чат (кстати, 3CX это первая АТС, поддерживающая PUSH).
image

Кроме этого, функционал устройства включает:
• Создание конференц-звонков
• Отслеживание статусов присутствия
• Многолинейность – управляйте несколькими звонками одновременно
• Корпоративный чат
• Возможность настройки переадресации со смартфона
• Возможность быстро установить свой статус (доступен, отсутствует, нет в офисе и т.д.)
• Возможность проверять голосовую почту и записи разговоров
• Централизованная история вызовов
• Настройка за секунду по email
Читать дальше →

Микрон — сердце российской микроэлектроники

Reading time5 min
Views95K
Из недавних статей о микроэлектронике (1, 2, 3) вы могли узнать, что самые современные микросхемы в России (90нм) — делают на заводе Микрон, в Зеленограде. Недавно мне как раз удалось его посетить, посмотреть на производство, по-задавать вопросы.

Фотографии из чистых комнат, ответы на каверзные вопросы о билетах метро, гражданской электронике России и будущем Микрона — под катом.
Читать дальше →

Скрываем процесс в диспетчере задач Windows

Reading time5 min
Views118K
Intro

Часто анонимность и скрытность играют ключевую роль в успешном выполнении каких-либо действий как в реальности, так и в виртуальности, в частности в операционных системах. В данной статье речь пойдет о том, как стать анонимным в OS Windows. Вся информация предоставлена лишь для цели ознакомления.

Итак, мы попробуем скрыться от глаз пользователя в диспетчере задач Windows. Способ, с помощью которого мы будем этого добиваться является чрезвычайно простым по отношению к тем, которые основаны на перехвате ядерных( часто недокументированных ) функций и на создании собственных драйверов.
Суть метода: поиск окна Диспетчера Задач -> поиск в нем дочернего окна( списка ), содержащего имена всех процессов -> удаление из списка нашего процесса.


Как видно, что с нашим процессом никаких манипуляций производиться не будет: он как работал, так и будет себе работать. Так как стандартный рядовой пользователь Windows, как правило, не использует никаких других тулз для просмотра запущенных процессов на его компьютере, то это лишь сыграет нам «на руку». Процесс в большинстве случаев обнаружен не будет.

Что использовалось для исследования:

1) Spy++ от Microsoft ( для изучения иерархии дочерних окон Диспетчера задач )
2) OllyDBG для просмотра функций, используемых диспетчером для получения снэпшота процессов.
3) Собственно, сам taskmng.exe( Диспетчер задач )
Читать дальше →

VNC через GIF

Reading time1 min
Views29K
Полгода назад на Хабре излагалась идея GIF-сокетов — коммуникаций в реальном времени, используя анимированный GIF в качестве транспорта.

Идея в том, что в формате анимированного GIF'а не указывается количество фреймов, так что после отображения картинки браузер ждёт новых фреймов с сервера до тех пор, пока не получит сигнальные биты о конце файла. Другими словами, сервер легко может пушить в браузер сообщения по открытому каналу в GIF.

Сегодня на гитхабе опубликована программка vnc-over-gif, которая элегантно использует этот принцип. Программа снимает скриншоты экрана и транслирует их через анимированный gif.
Читать дальше →

Эластичное избыточное S3-совместимое хранилище за 15 минут

Reading time6 min
Views60K
S3 сегодня не удивишь наверное никого. Его используют и как бэкенд хранилище под веб сервисы, и как хранилище файлов в медиа индустрии, так и как архив для бэкапов.



Рассмотрим небольшой пример развертывания S3-совместимого хранилища на основе объектного хранилища Ceph
Читать дальше →

Советы Google по кодированию на языке Python. Часть первая: советы по программированию

Reading time13 min
Views115K

Хай, Хабр!
Сегодня я хочу представить, дорогому хабрасообществу свой первый хабраперевод. Программировать на языке Python — подобно песне. Но еще лучше, когда Ваш код читаем и понятен, а значит чуть более поэтичен, чем обычно бывает производстве. У каждого свои правила и свои стереотипы относительно написания и оформления исходного кода, на каком бы языке он ни был написан. Множество копий сломано о щиты на форумах, но, как ни крути, нельзя не считаться с мнением авторитетных товарищей. Так что сейчас будет представлен перевод первой части стайл-гайда для языка Python от Google. Коснется он именно постулатов написания кода (вторая часть тоже скоро появится, а посвящена она будет форматированию исходного кода). Сразу предупреждаю: тут много (если не большая часть) прописных истин, которые все знают уже давно. Но я искренне надеюсь, что Вы сможете найти тут что-то новое или хотя бы вспомнить старое. Приступим под катом. И pdf тут как тут.
Читать дальше →

Skype просматривает содержимое ссылок отправленных в чате

Reading time1 min
Views75K
image

Вернее обходит все HTTPS ссылки отправленные в чате HEAD-запросом.

Шаги для воспроизведения:

1. Отправляем в чате ссылку с https которая ранее через Skype не отправлялась

2. Через 10-40 минут наблюдаем HEAD запрос в access логе из сети 65.52.0.0/14 принадлежащей Microsoft. Запрос приходит без User-Agent.

Выдержка из пользовательского соглашения гласит:

«Skype may use automated scanning within Instant Messages and SMS to (a) identify suspected spam and/or (b) identify URLs that have been previously flagged as spam, fraud, or phishing links.»


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

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

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Date of birth
Registered
Activity