Search
Write a publication
Pull to refresh
5
0
Tolkachev Konstantin @kasperos

ИТ: администрирование, рем., диагн., и т.д. и т.п.

Send message

«Прячьте спички от детей!» или о чем (не) предупреждает Минздрав

Reading time10 min
Views25K
Коллекционерам спичечных этикеток хорошо известно начало фразы, вынесенной в заголовок этой публикации. Это предупреждение в разных видах часто наносилось на этикетки маленьких коробочек во времена СССР. Можно возмущенно спросить: «А причем здесь, «Здоровье Гика» и тот же Минздрав?». – Отвечу: «Так, сначала же рассказывают присказку, а сказка будет впереди…»
Читать дальше →

Щелкаем реле правильно: коммутация мощных нагрузок

Reading time3 min
Views253K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

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



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

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

Управление бесколлекторным двигателем по сигналам обратной ЭДС – понимание процесса

Reading time13 min
Views124K
Когда я начал разрабатывать блок управления бесколлекторным двигателем (мотор-колесом), было много вопросов о том, как сопоставить реальный двигатель с абстрактной схемой из трех обмоток и магнитов, на которой, как правило, все объясняют принцип управления бесколлекторными двигателями.

Когда я реализовал управление по датчикам Холла я еще не очень понимал, что происходит в двигателе дальше абстрактных трех обмоток и двух полюсов: почему 120 градусов и почему алгоритм управления именно такой.

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

Ниже я постараюсь расписать свой путь к пониманию принципа управления бесколлекторным двигателем постоянного тока.


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

Анонсирована ARM64 плата для разработчиков (и фана) за 40$ Odroid-C2 на Amlogic S905

Reading time5 min
Views23K

Добрый день, уважаемые читатели!


Странно, что пока еще не появилось короткой новости об этом, поэтому возьмусь написать. На прошлой неделе компания Hardkernel, знакомая в основном производством dev-плат на базе процессоров arm разных производителей (в основном Samsung Exynos и Amlogic, но была у них и плата полный аналог RPi более маленького формата, которой им крепко прижали выпуск), анонсировала выход новой платы Odroid-C2 на базе 64-битного процессора ARM S905 от Amlogic.

image

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

Обзор и сравнительное тестирование ПЭВМ «Эльбрус 401‑PC». Часть третья — средства разработки

Reading time12 min
Views36K
Продолжаем обзор нового отечественного компьютера. После краткого знакомства с особенностями архитектуры «Эльбрус», рассмотрим предлагаемые нам средства разработки программного обеспечения.

Вид системного блока Эльбрус 401-PC спереди и сбокуПример программы на машинном языке E2K

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

В России заработал реестр отечественного ПО

Reading time1 min
Views17K
Сайт реестра отечественного ПО заработал ещё в середине января, но сам реестр был пуст. 29 января в реестре появились первые записи.

reestr.minsvyaz.ru/reestr



Определённый интерес представляет включение в реестр СУБД «Ред база данных». Дело в том, что это продукт, основанный на open source проекте Firebird. Но с блек-джеком и сертификатом ФСТЭК. При этом на сайте разработчика перечислен внушительный список федеральных министерств в качестве заказчиков.

Совсем недавно в интернете обсуждали волгоградский опыт обоснования закупки зарубежного ПО в виду отсутствия записей в реестре отечественного ПО.
Читать дальше →

Некоторые направления развития файловых систем

Reading time4 min
Views18K


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

Хабра-граф, -сообщества и куда же делась вся карма

Reading time7 min
Views29K

Вступление


Cегодня мы вместе с анализом графов, data mining, subgroup discovery и всеми веселыми штуками взглянем на Хабр. Весь код и данные прилагаются — каждый может взглянуть на них самостоятельно, легко повторить рассчеты из статьи и найти что-то интересное самостоятельно.




(это не просто картинка для привлечения внимания, а — граф связей ~45000 пользователей Хабра по тому, кто на кого подписан; размер вершины пропорционален числу подписчиков; все картинки кликабельны; подробности далее)



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

Тут проблема в том, что на всем хабре за сегодня не насчитать больше 50-80 человек, которые вообще могут голосовать. У 90% пользователей карма просто ниже 5. Как итог оценивают комментарии и статьи только избранные. Это как жюри выходит такое.

И решил, что стоить его сформулировать в виде гипотезы и проверить:

Q1: Правда ли, что Хабр превратился в жюри-based сообщество, где два с половиной человека голосуют за статьи?

Вот в этой статье к нам вернулись "железные" Хабы и стало интересно, а как вообще представлены разные сообщества внутри Хабра? Формулируем в виде гипотезы:

Q2: Как сегментировано сообщество, или проще говоря сколько у нас здесь групп по интересам и соотвествуют ли они имеющимся хабам?

Последнее, но не менее интересное наблюдение, что активность на Хабре упала (по данным Хабра-пульса и моим субъективным наблюдениям), что даже решили ввести аккаунты "read & comment". Поэтому решил оценить активность сообщества и продумать, как информация о структуре сообщества может нам помочь:
Q3: Насколько активно сообщество и как нам может помочь структура внутренних групп?


За подробностями добро пожаловать под кат.

Структура статьи

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

Что на самом деле может виртуальная память

Reading time7 min
Views34K


Мы в 1cloud стараемся рассказывать о различных технологиях — например, контейнерах, SSL или флеш-памяти.

Сегодня мы продолжим тему памяти. Разработчик Роберт Элдер (Robert Elder) в своем блоге опубликовал материал с описанием возможностей виртуальной памяти, которые известны не всем инженерам. Мы представляем вашему вниманию основные мысли этой заметки.
Читать дальше →

Все погодные аномалии 2015 года за 8 минут

Reading time1 min
Views18K


Привет читатели и почитатели Хабра!

На днях Европейская организация по эксплуатации метеорологических спутников (EUMETSAT) совместно с коллегами из метеорологических агентств Японии и США опубликовала видео, которое вобрало все данные наблюдений за погодой в течение ушедшего 2015 год.

Два полушария, 12 месяцев и 8 минут отличной визуализации данных ждут Вас под катом!
Ураганы, шторма и солнечные дни

Процесс эволюции видеоадаптеров из 80-х в 2000-е

Reading time12 min
Views38K
Такой важный и незаменимый компонент системы, как видеокарта, прошел долгий путь развития. На протяжении десятилетий ускорители графики совершенствовались и менялись в соответствии с прогрессирующими технологиями.

Видеоадаптеры MDA и CGA


Обе модели были выпущены компанией IBM в 1981 году. MDA изначально ориентировался на деловую сферу и создавался под работу с текстом. Работая с нестандартными вертикальными и горизонтальными частотами, этот адаптер обеспечивал четкость изображения символов. В то же время CGA поддерживал только стандартные частоты и уступал в качестве выводимого на экран текста. Кстати в IBM PC можно было использовать одновременно оба адаптера.


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

ПК Эльбрус. Мифы и реальность

Reading time6 min
Views177K
Вокруг Эльбруса ходит много мифов. Вы можете встретить их в комментариях к любому посту или статье про Эльбрус. Основные категории мифов можно свести к трем вопросам:

1. Является ли Эльбрус отечественным? Отечественный значит безопасный?
2. Какова производительность? Насколько «современен» компьютер на базе Эльбрус.
3. Сколько он стоит?
Читать дальше →

Принципы, изложенные в трактатах Сунь Цзы лягут в основу концепции безопасности в новой ОС “Chameleon”

Reading time3 min
Views9.3K
Приветствуем наших читателей на страницах блога iCover! Все мы заинтересованы в том, чтобы наши персональные компьютеры и ноутбуки работали производительно, стабильно и предсказуемо. Но что, если ключ к победе над вредоносным ПО, нарушающего привычный ритм нашего общения с системой, лежит в целенаправленном создании “дозированного и контролируемого хаоса” по инициативе самой ОС? Именно такую нестандартную логику предложили взять на вооружение разработчики новой операционной системы Chameleon (не ОС Xameleon), обратившись к классическим канонам об искусстве ведения войны Сунь Цзы и Юлия Цезаря.

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

Механизмы и принципы работы памяти головного мозга человека

Reading time6 min
Views123K
image

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

В подготовленном материале постараюсь объяснить механизмы, особенности, функциональность, структурные взаимодействия и особенности в работе памяти. Так же, почему нельзя проводить аналогии с компьютерами в работе мозга и вести исчисления в единицах измерения машинного языка. В статье используются материалы взятые из трудов людей, посвятившим жизнь не легкому труду в изучении цитоархитектоники и морфогенетике, подтвержденный на практике и имеющие результаты в доказательной медицине. В частности используются данные Савельева С.В. учёного, эволюциониста, палеоневролога, доктора биологических наук, профессора, заведующего лабораторией развития нервной системы Института морфологии человека РАН.
Читать дальше →

Официальный ответ Tesla Motors на статью о самодельном автопилоте Джорджа Хоца

Reading time3 min
Views39K
Компания Tesla Motors опубликовала официальный ответ на статью в Bloomberg о самодельном беспилотном автомобиле, который собрал гениальный хакер Джордж Хоц (Geohot), известный как автор первого джейлбрейка для iPhone и джейлбрейка игровой приставки Playstation 3. Хакер разработал уникальную систему автоматического пилотирования на основе обучаемой нейросети, используя игровые GPU для обработки видеопотока с шести камер и штатные высокопроизводительные процессоры Intel для вычислений ИИ (см. обсуждение на Geektimes).

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

Мифы об SSD, которые необходимо развеять

Reading time4 min
Views151K
Привет, Geektimes! Мифы Древней Греции отдыхают по сравнению с тем, в какое заблуждение введены покупатели современных твердотельных накопителей. То, что было актуально еще во время появления SSD на рынке и развития данной технологии, многие продолжают переносить и на современные продукты. Давайте вместе разберемся с этими многочисленными обсуждениями и попробуем поставить точку в вопросах, касающихся SSD.



Откуда вообще появились эти мифы? Одни полагают, что это связано с особенностью мышления потребителей, которые страдают от нехватки актуальной информации по данному вопросу. Другие считают, что в этом есть определенный элемент консерватизма — мол, компьютер на HDD работает, ну и хорошо. Такие пользователи по непонятным причинам в последнюю очередь думают о замене накопителя при апгрейде своего компьютера. В общем, как бы то ни было, мифов по поводу SSD за несколько лет накопилось очень много. Поэтому их необходимо развеять, что мы и попытаемся сделать.
Читать дальше →

Покрытие графов в тестировании ПО, часть 2

Reading time4 min
Views8.5K
Большинство программ и алгоритмов можно представить в виде графа, состоящего из набора вершин (N) и ребер (Е). Покрытие графов в тестировании полезно тем, что можно проектировать тесты, используя разные критерии покрытия, и выявить ошибки. Что касается тестирования черного ящика, то покрытие графов здесь тоже может иметь большое значение, если приходится работать с состояниями и переходами, графами состояний сущности и т.д. Если граф достаточно сложен, разные критерии покрытия позволят оценить достаточность тестового набора.

В первой части: определения, покрытие вершин, ребер, путей, цикломатическая сложность.
Читать дальше →

Источники выделения энергии на кристалле ИМС

Reading time7 min
Views6.8K
Вся современная микроэлектроника базируется на полупроводниках. На кристалле создаются зоны различной проводимости, которые объединяются в некоторую логику. Кристаллы работают, потребляя электрическую энергию и преобразуя её в тепло. Эта статья описывает основные процессы, на которые расходуется энергия при работе ИМС.

Источником выделения тепла на кристалле ИМС являются три основных процесса: динамическая мощность, короткое замыкание и токи утечки. Обзор этих процессов будет проводиться на примере n-МОП технологии (хотя все описанное будет справедливо и для р -МОП)
Читать дальше →

Полвека «универсальным машинным языкам» (1966—2016): прошлое, настоящее, будущее

Reading time27 min
Views19K
КДПВ

Прошлое


Повествование можно начать с 1962 г., когда в Кембриджском университете началась работа над CPL («Cambridge Programming Language») — «усовершенствованным вариантом» ALGOL-60. К работе над языком подключился аспирант Мартин Ричардс; главной сложностью в реализации нового ЯП ему показалась необходимость ручного портирования компилятора для разных компьютерных платформ. В частности, когда кембриджский EDSAC-2 заменили на Atlas-2, разработчики CPL потратили много времени на портирование своего компилятора для новой платформы.

Диссертация Мартина была посвящена «само-компилирующемуся» CPL: разработанный Мартином компилятор был написан на сильно упрощённом варианте CPL, компилятор которого несложно было написать на тогдашнем макроассемблере. Перенос CPL на новую платформу теперь можно было выполнить в два шага:
  1. Вручную пишем компилятор «упрощённого CPL»;
  2. Компилируем им компилятор «полного CPL».

На этом Мартин не остановился, и разработал BCPL — систему для разработки переносимых компиляторов. Компилятор BCPL генерировал псевдокод, названный Мартином «OCODE».
OCODE выглядел примерно так:
OCODE «расшифровка» («procode»)
94 5 L1 83 73 69 86 69
95 4
42 0
42 0 40 2 14
83
42 0 42 1 40 2 14 83
42 2
40 3 42 1 15
92
85 L5
90 L6
42 1 40 4 40 2 14 83
40 4 42 1 14 80 4 
90 5 40 4 40 5 88 L6
91 4
42 2 40 3 42 1 15 92
85 L7
90 L8 40 4 40 2 14
8 87 L9
40 4 42 2 11 92
85 L11
90 L10
42 0 40 6 40 2 14 83
40 4 40 6 14 80 6
90 L11
40 6 40 3 22 86 L10
91 6 90 L9
40 4 42 1 14 80 4
90 L7 40 4 40 5 88 L8
91 4 97 103 0
ENTRY 5 L1  'S' 'I' 'E' 'V' 'E'
SAVE 4
LN 0
LN 0 LP 2 PLUS
STIND
LN 0 LN 1 LP 2 PLUS STIND
LN 2
LP 3 LN 1 MINUS
STORE
JUMP L5
LAB L6
LN 1 LP 4 LP 2 PLUS STIND
LP 4 LN 1 PLUS SP 4
LAB L5 LP 4 LP 5 ENDFOR L6
STACK 4
LN 2 LP 3 LN 1 MINUS STORE
JUMP L7
LAB L8 LP 4 LP 2 PLUS
RV JF L9
LP 4 LN 2 MULT STORE
JUMP L11
LAB L10
LN 0 LP 6 LP 2 PLUS STIND
LP 4 LP 6 PLUS SP 6
LAB L11
LP 6 LP 3 LS JT L10
STACK 6 LAB L9
LP 4 LN 1 PLUS SP 4
LAB L7 LP 4 LP 5 ENDFOR L8
STACK 4 RTRN ENDPROC 0
; заголовок процедуры
; стековый кадр (два параметра и две локальные переменные)
; поместить на стек число 0
; поместить ещё один 0, прибавить к нему 2-ой элемент стека
; записать в массив на вершине стека значение под ним
; всё то же самое для 1-ого элемента массива
; поместить на стек число 2
; вычесть единицу из значения 3-его элемента стека
; записать результат в локальную переменную
; перейти к метке L5
; объявление метки L6
; взять 4-ый элемент стека, записать в массив по этому индексу 1
; прибавить к 4-ому элементу стека 1, записать результат обратно
; L5: перейти к метке L6, если 4-ый элемент стека <= 5-ому
; объявление, что на стеке сейчас четыре элемента
; вычесть единицу из значения 3-его элемента стека
; перейти к метке L7
; L8: сложить 4-ый и 2-ой элементы стека
; прочитать значение по этому адресу; если это 0, перейти к L9
; умножить 4-ый элемент на два
; перейти к метке L11
; объявление метки L10
; взять 6-ой элемент стека, записать в массив по этому индексу 0
; прибавить к 6-ому элементу стека 4-ый, записать рез-т обратно
; объявление метки L11
; перейти к метке L10, если 7-ой элемент стека меньше 4-ого
; на стеке сейчас шесть элементов; объявление метки L9
; прибавить к 4-ому элементу стека 1, записать результат обратно
; L10: перейти к L8, если 4-ый элемент стека <= 5-ому
; на стеке четыре элемента; окончание процедуры
(Для экономии места, последовательности команд записаны в одну строчку. Мартин в своём руководстве по BCPL поступает точно так же.)

Исходный код на BCPL:
LET sieve(workvec, vecsize) BE
{
  workvec!0 := 0
  workvec!1 := 0
  FOR i = 2 TO vecsize-1 DO workvec!i := 1
  FOR i = 2 TO vecsize-1 DO
    IF workvec!i DO
    { LET j = 2 * i
      WHILE j < vecsize DO
      { workvec!j := 0
        j := j + i
      }
    }
}
В более новых версиях OCODE добавилась поддержка чисел с плавающей точкой (соответственно, набор поддерживаемых опкодов почти удвоился), а также удалили опкод ENDFOR — вместо него генерируется пара LE JT.

Среди «универсальных машинных языков» OCODE уникален тем, что метки в нём определяются специальными инструкциями — т.е. для интерпретации программы её нужно сначала всю загрузить в память, и найти в ней метки.
— а отдельная программа, кодогенератор, превращала файл с таким псевдокодом в исполнимую программу для конечного процессора. OCODE сохранялся в виде текстового файла из десятичных чисел, разделённых пробелами и переводами строк: в то время, когда OCODE разрабатывался, привязка формата файла к конкретному размеру байта ограничивала бы переносимость такого файла.

Компилятор BCPL(1) поставлялся в виде OCODE, и чтобы перенести его на новую платформу, нужно было:
  1. Вручную написать интерпретатор псевдокода(2) (на любом языке, хоть на Бейсике);
  2. Адаптировать кодогенератор,(3) написанный на BCPL, для своей платформы;
  3. Запустить под интерпретатором (2) компилятор BCPL (1), скормить ему кодогенератор (3), и получить на выходе исполнимый файл кодогенератора(4);
    • Интерпретатор (2) нам с этого момента больше не нужен.
  4. Прогнать через кодогенератор (4) псевдокод компилятора (1), и получить на выходе исполнимый файл компилятора.


Такой подход означал, что для переноса компилятора на новую платформу требуется лишь самый минимум низкоуровневого программирования; и действительно, реализация BCPL была завершена к 1967 г. — раньше, чем была завершена реализация CPL, начатая на несколько лет раньше!

Достоинства BCPL применительно к системному программированию вдохновили Кена Томпсона на создание языка Би, а тот — коллегу Кена, Денниса Ритчи, на создание Си. Именно из BCPL пошла традиция обозначать {фигурными скобками} блоки программы, и именно на BCPL была написана первая программа «Hello, World!».
GET "libhdr"

LET start() = VALOF
{ writef("Hello*n")
  RESULTIS 0
}
Более важная нам причина, по которой BCPL вошёл в историю: OCODE — первая универсальная «архитектура набора команд» (ISA), т.е. «виртуальная машина», не привязанная ни к какой конкретной аппаратной платформе с её особенностями. BCPL, таким образом — первый язык программирования, соответствующий парадигме «Write once, run anywhere» (WORA): программу на BCPL можно распространять в скомпилированном виде, и её можно будет запустить на любой платформе, для которой существует OCODE-кодогенератор.
Читать дальше →

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity