Как стать автором
Обновить
Ivan Gavryushin @dcc0read⁠-⁠only

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

Отправить сообщение

Оперативная память. Строение и устройство (RAM, ОЗУ)

Время на прочтение4 мин
Количество просмотров20K

Оперативная память это важная часть любой компьютерной системы и сейчас я объясню, почему это так.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии6

Мой опыт публикации книги на ridero.ru

Время на прочтение2 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 21: ↑14 и ↓7+7
Комментарии7

Почему запись от руки остаётся лучшим способом запоминания информации

Время на прочтение6 мин
Количество просмотров20K

Представьте: рабочий день в компании, занимающейся обработкой платёжных поручений. Возникла критически важная задача дата-инжиниринга, которую нужно выполнить. В этом случае я тот самый дата-инженер, которому нужно решить задачу, но у меня недостаёт информации, необходимой для завершения модели данных. Я услышал информацию на совещании. Её обсуждали на standup-митинге. У меня есть несколько запутанных текстовых заметок, но я не могу вспомнить технических подробностей, которые необходимы для завершения работы. Никто не может ответить на мой вопрос. И тут меня озаряет: во время митинга мне нужно было делать заметки вручную.

Рукописные заметки дали бы мне множество осязаемых ресурсов, которые помогли бы найти критически важную отсутствующую информацию: более свежие воспоминания о митинге, пробелы в подробностях обсуждения да и простое чтение записей с бумаги помогло бы мне лучше вспомнить события. Подробные печатные заметки не помогают запоминать и удерживать информацию на совещаниях так же, как это могли бы сделать рукописные заметки, хотя всё равно были бы полезны.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии28

Охота за тараканами: как я ходил на групповую психотерапию

Время на прочтение11 мин
Количество просмотров17K

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

Читать далее
Всего голосов 96: ↑85 и ↓11+74
Комментарии68

Tutorial по обмену с 1С. Часть пятая: Наш опыт настройки 1000 и 1 обмена

Время на прочтение13 мин
Количество просмотров6.3K

В своей предыдущей статье я начала раскрывать тему того, как правильно настраивать обмен между крупными сайтами и B2B-системами на Битрикс с системами учета 1С:Предприятие. 

Если еще не читали — посмотрите, будет полезно, типовой модуль обмена многое умеет, а то, что не умеет — можно обойти и доработать

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

О трехмерных шутерах на CSS +HTML [перевод]

Время на прочтение3 мин
Количество просмотров15K
Привет, Хабр! Представляю вашему вниманию перевод статьи Building a 3D Game with CSS + HTML автора Michael Bromley.

Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.

image
(скриншот выполнен переводчиком)
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии10

mov Программирование на Ассемблере без знаний Ассемблера, habr

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров3.7K

Пролог

Решил поделиться своими мыслями и кратким двухдневным опытом написания (собирания по частям) программы на Ассемблере без чтения учебников, больших статей и в целом без опыта программирования на этом языке. На одном из форумов я набрёл на задачу вывода десятичного числа в консоль. Если на языке C или PHP эта операция совершенно элементарна, то на Ассемблере всё не так просто, как может показаться на первый взгляд. Для решения задачи я выбрал nasm (правда, выбора и не было), немножко поигравшись предварительно с вставками nasm (синтаксис AT&T) в код C (ссылка на форум с моими опытами в конце статьи).

Философское отступление
Остановись, дорогой читатель! И прежде чем читать дальше, задай себе вопрос: возможно ли начать ковать без обучения кузнечному делу?!

Я оставлю этот вопрос без ответа. Только скажу, что в нём нет ни капли иронии, издёвки, намёка на назидательность и т.д. Это вопрос без какого-либо дополнительного подтекста.

Поиски
Информации по Ассемблеру в Интернете очень много и заблудиться в разных видах Ассемблера (для различных систем) крайне просто. Я не единственный задавался вопросом в поиске «how to print a number in asm». Ответы на разных диалектах языка относительно легко можно найти на Stack Overflow, однако это совершенно не означает, что будет легко запустить найденный код на своей машине. Велика вероятность того, что что-нибудь не сойдётся. Научиться отличать синтаксис AT&T и intel можно за несколько минут, а вот с узнаванием tasm, fasm, masm, nasm - несколько сложнее. Единственное, что можно предположить и (почти) не прогадать: базовые инструкции во всех Ассемблерах имеют (почти) одинаковые мнемоники.

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии0

Разбираемся в С, изучая ассемблер

Время на прочтение11 мин
Количество просмотров89K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии31

Как мы ищем дефекты оборудования ультразвуковыми микрофонами

Время на прочтение6 мин
Количество просмотров9.7K
Бывает, чтобы заглянуть в подшипник, нужно разобрать полстанка, и всё это — ради профилактики дефекта. Зачастую бывает, что до того, как что-то реально поломается, узел начинает издавать определённый звук. Замечали, что опытные водители на любую нетипичную вибрацию реагируют чутко и с подозрением? Точно так же и сотрудники наших производств знают, как должен «звучать» станок. Ещё из далёкого прошлого нам достался вполне рабочий метод преобразования ультразвука в слышимый звук с помощью доски: бывает, рабочие со стажем лет так в 30 прикладывают обычный деревянный брусок на полметра к узлу и внимательно вслушиваются.

Где-то год назад на производстве ВИЗ-Сталь мы решили проверить, можно ли с помощью поиска ультразвуковых аномалий определить, что происходит с агрегатом в тот момент, когда он ещё только собирается начать ломаться.

Решение выглядит вот так:



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



Результаты получились очень интересные.
Читать дальше →
Всего голосов 83: ↑82 и ↓1+81
Комментарии78

Пять экзистенциалистов заходят в бар: занимательные логические задачки

Время на прочтение3 мин
Количество просмотров6.9K

Первое совместное фото Жан-Поля Сартра и Симоны де Бовуар – на ярмарке в Порт-д'Орлеане, июнь 1929 года, Париж, Франция.

Три сегодняшних загадки оформлены в виде небольших драм с участием известных философов.

1. Усопший Витгенштейн


Кто-то убил Витгенштейна. Преступником является один из четвёрки: Фридрих Ницше, Лу Андреас-Саломе, Карл Маркс или Людвиг Андреас Фейербах. В результате их допроса были записаны следующие заявления (причём известно, что убийца лжёт, а все остальные всегда говорят правду):

Ницше: убийца – Саломе.
Саломе: Маркс невиновен.
Фейербах: Саломе говорит правду.
Маркс: Ницше лжёт.

Кто убил Витгенштейна?
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии23

Фразеологизмы в английском

Время на прочтение15 мин
Количество просмотров29K

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

So, we are going to let the cat out of the bag today, guys! А мы сегодня «выпустим кота из мешка», что означает раскроем секреты употребления идиом в повседневной речи.

Что такое идиомы и как их употреблять?

Идиома – с греческого idiоma переводится как особенность, своеобразие, это оборот речи, присущий только данному языку и иногда не имеющий эквивалента в других языках.

Термин "идиомы" впервые был введен английским лингвистом Л.П.Смитом. Он писал, что слово idiom используется в английском языке для обозначения французского термина idiotisme. А именно: для обозначения структуры сочетаний, характерных для английского языка, хотя очень часто значения этих сочетаний невозможно объяснить с логической точки зрения.

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

Особенность идиомы в том, что ее смысл не равен смыслу ее составляющих фразеологических единиц. Так, например, если переводить дословно идиому «bring home the bacon», то получится «приносить домой бекон», хотя смысл данной идиомы «обеспечивать семью».

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Комментарии12

Самая маленькая система управления перезагрузкой для Linux

Время на прочтение3 мин
Количество просмотров5K

Введение

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

Защитное слово автора

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

История вопроса

После установки системы Gentoo Linux на свой неутбук я неожиданно обнаружил, что в системе нет штатного средства выключения и перезагрузки от обычного пользователя без использования дополнительных средств вроде программы sudo, а исследование файла /etc/group показало, что в нём нет группы operator. Любые попытки добавить эту группу и пользователя в неё не принесли желаемого результата - компьютер не перезагружался от простого пользователя.

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

Скрипт запускался раз в минуту от root, проверял файл в директории пользователя на наличие в нём управляющего символа и осуществлял перезагрузку или выключение, записывал в этот файл код 0 для бездействия, чтобы компьютер не начал перезагружаться бесконечно. Я и сам не заметил, что своими руками создал уязвимость в системе (хотя подозрения были). Спасибо участникам форума Linux.org.ru, которые вовремя указали мне на ошибки и дали ряд дельных советов по улучшению моей скромной системы.

Читать далее
Всего голосов 18: ↑2 и ↓16-14
Комментарии38

Gentoo на нетбуке, философия самоограничения и шахматы с системой

Время на прочтение3 мин
Количество просмотров4.9K

Так сложилось, что с этим дистрибутивом я уже примерно 13 лет, с большими перерывами. Первый раз система мной была установлена на ноутбук Sony Vaio. Теперь это уже далёкий 2009 год. В сети где-то даже сохранилась моя шпаргалка об этом опыте. И вот в 2022-м, на пороге 2023-го, у меня появилась мысль поменять свой прекрасно работающий 32-х битный Calculate Linux на 64 бита. И всё задуманное было осуществлено в одночасье, за пару часов настроено до идеального состояния.
Нетбук у меня примерно 2009 года выпуска: hp mini с процессором Atom N570, 1.66GZ (2 ядра, 4 потока), 2GB DDR3RAM, графическим адаптером от intel и т.д., и т.п.

Когда я рассматривал вывод команды cat /proc/cpuinfo, у меня появилась ещё одна интересная мысль: а не установить ли мне на это железо Gentoo Linux?!

Как мне думается, у меня вышел интересный эксперимент по установке Gentoo в недельный срок классическим способом, - по Handbook - предварительно использовав для некоторых операций дистрибутив Calculate Linux.

Обо всём по порядку

Читать далее
Всего голосов 15: ↑10 и ↓5+5
Комментарии16

Звук. От механических колебаний до ALSA SoC Layer

Время на прочтение8 мин
Количество просмотров9.7K


Мы в SberDevices делаем устройства, на которых можно послушать музыку, посмотреть кино и ещё много всего. Как вы понимаете, без звука это всё не представляет интереса. Давайте посмотрим, что происходит со звуком в устройстве, начиная со школьной физики и заканчивая ALSA-подсистемой в Linux.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии6

GCC x86, как уменьшить размер кода

Время на прочтение4 мин
Количество просмотров31K
      Времена, когда программисты пытались выжать максимум из размера своего приложения, безвозвратно ушли. Основной причиной является существенное увеличение объемов оперативной памяти и дискового пространства на современных компьютерах. Немногие помнят, как при загрузке приложения с кассеты можно было пойти покушать. Или как можно было считать моргания дисковода, косвенно определяя размер приложения. Пожалуй, только разработчики програмного обеспечения под встраиваемые системы до сих пор заботятся о размере кода и потребляемой памяти. Могут ли таблетки и смартфоны вернуть разработчиков «назад в будущее»?
      Данная статья призвана помочь разработчикам програмного обеспечения, использующим GCC компилятор, уменьшить размер кода своих приложений. Все данные в статье получены при помощи x86 GCC компилятора версии 4.7.2 на операционной система Fedora 17 для архитектуры Intel Atom.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии43

Что нам стоит полином Жегалкина построить…

Время на прочтение2 мин
Количество просмотров148K
Думаю, каждый, кто изучал или изучает в университете дискретную математику, знаком с понятием многочлена Жегалкина.

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

Чаще всего для построения полиномов Жегалкина студентам предлагаются два метода построения таких полиномов: метод неопределенных коэффициентов и метод эквивалентных преобразований.

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

Под катом приведен один удобный алгоритм, для построения полиномов Жегалкина, который студенты воспринимают «на ура», т.к. требует только выполнение «механических действий» без применения каких-либо умственных усилий. Краткое описание метода можно найти в Википедии, но на мой взгляд по нему не совсем понятно, как быстро проводить вычисления. Мне метод известен под названием «метод треугольника Паскаля».
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии20

Дайджест KolibriOS #1: ввод в курс дела

Время на прочтение3 мин
Количество просмотров22K
Если вам интересна KolibriOS и её развитие, но вы не имеете возможности следить за нововведениями на форуме (что бывает иногда трудно, особенно если вы только недавно начали интересоваться), то эта статья именно для вас. Это первая статья из серии ежемесячных дайджестов, направленных на освещение событий в сообществе ОС. Дайджесты будут выходить в последний рабочий день месяца. Поскольку это первая статья, то в ней, для налаживания линии информирования, будут рассмотрены изменения за промежуток времени более месяца. Хочу подчеркнуть, что особенно крупные изменения по-прежнему будут освещаться в отдельных статьях. Ну что ж, приступим.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии55

Светодиодная консоль для игры в Pong

Время на прочтение7 мин
Количество просмотров3.2K

Появление игры Pong ознаменовало начало новой эры. И хотя это была не первая видеоигра, именно она породила ажиотаж в этой сфере развлечений. Впервые для потребителей это чудо игростроя стало доступно с момента релиза Magnavox Odyssey в 1972 году. Odyssey поставлялся с 12 играми, но настольный теннис (Pong) стал на тот момент самой популярной из них. Позднее в компании Atari доработали принцип виртуального настольного тенниса, выпустив тот самый Pong, который мы все помним и любим. В течение нескольких лет я даже был в некоторой степени одержим этой игрой. У меня была идея воссоздать её с использованием матрицы светодиодов. Эта идея показалась мне весьма занятной в плане реализации, и я решил создать такую вариацию, которая бы и отдавала дань корням, и несла в себе мои авторские штрихи.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии4

А можно мне радиоуправляемый самосвал, но только чтоб настоящий? Да запросто

Время на прочтение5 мин
Количество просмотров5.8K

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

Меня зовут Андрей Дышлюк, я руководитель проектной команды по внедрению системы Sandvik AutoMine на нескольких автономных шахтных самосвалах, работающих на руднике «Скалистый». В этой статье расскажу, почему мы выбрали именно AutoMine, как строили сеть, ставили лазерные барьеры, обкатывали маршруты в часы пересменки и заставили технику работать безопаснее и дольше.

Читать далее
Всего голосов 29: ↑24 и ↓5+19
Комментарии22

Руководство по ассемблеру x86 для начинающих

Время на прочтение16 мин
Количество просмотров146K
В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите вещи под иным углом, а навыки пригодятся при отладке кода на других языках.

В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. Когда закончим, то сможем использовать его так:

$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30

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

Начнём с написания базовой программы Hello world! для проверки настроек среды. Затем перейдём к системным вызовам, стеку вызовов, стековым кадрам и соглашению о вызовах x86. Потом для практики напишем некоторые базовые функции на ассемблере x86 — и начнём писать калькулятор RPN.
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Редактор
От 80 000 ₽