Как стать автором
Обновить
70
0

Поедатель зефира в шоколаде

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

Чему люди научились у компьютеров

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.4K

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

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

Вот некоторые примеры, как изменилась наша жизнь под влиянием компьютерных алгоритмов. Речь о чертах характера, моделях поведения и восприятии окружающего мира.
Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии15

Пианино в 24 строки на Javascript: если играть, то музыку

Время на прочтение6 мин
Количество просмотров55K
Пока производители телефонов меряются, у кого тоньше, программисты продолжают меряться, у кого короче.

Я тоже решил принять участие в этой специальной спонтанной олимпиаде кодерского мастерства, и вспомнил фразу одной моей подруги-музыканта: «Если уж играть, то на пианино». И решил: да будет так. Вместо игры напишу пианино. И написал.

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

Итак, начнем.

Клавиатура классического фортепиано состоит из 88 клавиш, покрывающих диапазон от A0 (Ля суб-контр-октавы, частота звучания 27.5 Гц) до C8 (До пятой октавы, частота 4186 Гц). Каждая октава на клавиатуре состоит из двенадцати нот:
До, До-диез, Ре, Ре-диез, Ми, Фа, Фа-диез, Соль, Соль-диез, Ля, Ля-диез/Си-бемоль, Си. Жирным выделены клавиши верхнего ряда, они на клавиатуре обычно бывают черного цвета.

Собственно, вот так выглядит одна октава:

image

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

Nx = N1 × 2x-1, где:
  • N – название ноты;
  • x — номер октавы (от 0 до 8);
  • Nx, соответственно, частота звука, соответствующая ноте N октавы x;

В формуле фигурирует N1 вместо N0 лишь потому, что часть нот суб-контр-октавы (N0) имеет частоту звучания ниже порога слышимости человеческим ухом (< 20 Hz).

Чтобы ноты получались чистыми, нам нужны достаточно точные значения частот нот контроктавы, от которой мы начинаем считать. Собственно, вот они:
Читать дальше →
Всего голосов 119: ↑96 и ↓23+73
Комментарии54

Что не так с Raspberry Pi

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


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

Постараюсь рассказать о некоторых вопросах, с которыми я столкнулся лично, а также о некоторых типичных проблемах, которые чаще всего появятся у людей, ничего не подозревающих об этом. И, наконец, почему я не рекомендую Pi для некоторых приложений, в частности, NAS-услуг, таких как NextCloudPi и Open Media Vault. Надеюсь, это сэкономит мне время, чтобы не повторять всё это на форумах.
Читать дальше →
Всего голосов 120: ↑115 и ↓5+110
Комментарии144

Простая программная генерация видео и картинок без стороннего API

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

В этой статье я покажу простой способ генерации видео программами на Python и C/C++ без использования стороннего API. Вам так же потребуется ffmpeg, без него вы не сможете конвертировать файлы в читаемые форматы!

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии3

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 4. Сканирование и типы сканирования. Погружение в nmap

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

Приветствую тебя, дорогой читатель, в четвертой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

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

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

1) Сканирование сети в целях построения ее карты и понимания того, какие устройства кроме нашего в нем присутствуют (например, как мы это делали утилитой arp-scan).

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

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

Изучаем троянскую повестку с мимикрией под XDSpy

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

В ходе постоянного отслеживания угроз ИБ утром 3 октября в одном из Telegram-чатов мы заметили промелькнувший файл со злободневным названием Povestka_26-09-2022.wsf. Беглый осмотр содержимого привлек наше внимание, и мы решили разобрать его подробней. И, как оказалось, не зря.

Подробности под катом
Всего голосов 17: ↑17 и ↓0+17
Комментарии8

Кто-то притворяется мной

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


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

Привет, Коннор!

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

И вот что он, как выяснилось, делает: находит вакансии с работой по контракту, притворяется кем-нибудь из настоящих разработчиков с опытом, соответствующим требованиям в вакансии, и хочет, чтобы я проходил собеседования от лица этого разработчика. В данном случае он нашел вакансию разработчика, владеющего Laravel/React, поискал кандидатуры и решил стать тобой. Он еще и создал фальшивую почту, похожую на твою (найдешь в прикрепленном файле), для общения с клиентами.

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

Удачи,
Эндрю.

Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии65

Написание ОС с нуля: Глава 2, Часть 3 — Терминал

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

В предыдущей статье мы написали простейший загрузчик, печатающий на экран "Hello, World!" и завершающийся по нажанию клавиши. Сегодня напишем терминал, у которого будет несколько комманд, обновим библиотеку и сделаем ещё пару вещей.

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

Самый по-человечески написанный учебник компьютерной архитектуры наконец-то выходит на русском языке и для RISC-V

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

В 2015 году скачивания первого русского издания учебника Харрис & Харрис завалили сайт британской компании Imagination Technologies. Книгу стали использовать в МФТИ, ВШЭ МИЭМ, МГУ, МИЭТ, ИТМО и других вузах. С тех пор вышло еще два издания - для ARM и для MIPS, и вот в январе 2022 года выходит новое - для RISC-V и оно уже доступно для предзаказа.

"Цифровая схемотехника и архитектура компьютера: RISC-V" вероятно станет стандартным учебником в российских вузах, как и источником информации для тех, кто хочет попроектировать процессоры на ПЛИС. Ничего лучшего на рынке нет. Паттерсон-Хеннесси не привязан к курсам по языкам описания аппаратуры и не обсуждает тайминг цифровой логики, а Таненбаум устарел.

Кроме этого, архитектура RISC-V становится билетом в будущее для российских процессорных компаний - Ядро купило Syntacore, Байкал Электроникс инвестировал в CloudBear, Миландр выпустил микроконтроллер с архитектурой RISC-V.

Если же вы не хотите работать в российских компаниях, а хотите пройти интервью на проектировщика чипа в Apple, Intel, NVidia, то и в таком случае учебник Харрисов - это самый эффективный способ начать этот путь.

О Харрисах, содержание и почему RISC-V
Всего голосов 48: ↑42 и ↓6+36
Комментарии41

Модифицируем процесс загрузки с помощью утилиты make-initrd

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

В этой статье мы хотим помочь глубже разобраться, как устроен процесс загрузки Linux, дать советы по реализации сложных сценариев загрузки Linux, а также познакомить с удобным и быстрым генератором initramfs образов - make-initrd.

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

Анализ теней: 5 примеров использования SunCalc для OSINT расследований

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

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

На сайте вы задаете точку на карте и в результате видите круг виртуального небосклона. Дугой оранжевого цвета отмечается сегодняшний путь Солнца по небу. Та часть небосвода, где Солнце бывает хоть когда-нибудь, закрашивается светло-желтым. Так же показывается направление на Солнце на восходе, на закате и в текущий момент времени. Вы можете найти местоположение Солнца в непогожий день.

Есть два проекта: SunCalc.org и SunCalc.net. Последний на досуге разработал хабраюзер Mourner в 2010 году и написал пост на Хабре, а через год выложил библиотеку в открытый доступ (а какой-то ушлый немец без упоминания автора её форкнул).

Под катом несколько примеров, как по теням на кадрах видео и фото можно вычислить недостающую информацию: местоположение или время.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии5

Полярная звезда

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

Она указывает путь. Но лишь временно


image

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

Её подозревают в какой-то особенной яркости, но она не самая яркая, а довольно заурядная в этом смысле. Кто-то считает, что она самая близкая. Но и это — неправда. Бытует мнение, что Полярная звезда видна всюду на Земле, и во всех морях и пустынях планеты можно прокладывать по ней курс. Но и это неверно. Истинную причину важности этого светила знают лишь знакомые с астрономией люди.

Чем же так знаменита Полярная звезда?

Читать дальше →
Всего голосов 128: ↑126 и ↓2+124
Комментарии37

MikroTik`s scripts спешат на помощь

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

В статье показан пример практического анализа работы DDNS клиента, интегрированного в прошивку домашнего роутера, и его интерпретация на оборудовании MikroTik. Возможности RouterOS позволяют без труда выполнить всю необходимую работу. Если кому-то придется столкнуться с такого рода задачей, то держите решение, оно позволит сберечь ваше время и нервы.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии14

Твиттер Илона Маска в телеграме и с переводом на русский

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

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

под кат
Всего голосов 9: ↑8 и ↓1+7
Комментарии18

Et tu, Brute? Что хотят от нас брутфорсеры?

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

Каждый владелец сервера с «белым» IP-адресом наблюдал в логах бесчисленные попытки подключиться к серверу по SSH с разных точек мира. Администраторы ставят средства противодействия, такие как fail2ban, переносят SSH на другие порты и всячески пытаются защититься от брутфорсеров. Но чего же хотят эти замечательные люди от наших серверов?

Поверхностный ответ, конечно, прост: наживы на бесплатных вычислительных ресурсах и полученных чувствительных данных. Но этот ответ недостаточно подробный. Давайте разложим виртуальные «приманки» и проследим, что происходит, когда автоматический брутфорс оказывается успешным.
Читать дальше →
Всего голосов 84: ↑84 и ↓0+84
Комментарии32

Тихие убийцы бизнеса: найти и обезвредить

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

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

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

Так откуда берётся пробоина?

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

Лучшие практики написания комментариев к коду

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

Известный профессор МТИ Гарольд Абельсон сказал: «Программы нужно писать для того, чтобы их читали люди, и лишь случайно — чтобы их исполняли машины». Хотя он намеренно преуменьшил важность исполнения кода, однако подчёркивает, что у программ две важные аудитории. Компиляторы и интерпретаторы игнорируют комментарии и с одинаковой лёгкостью воспринимают все синтаксически корректные программы. У людей всё иначе. Одни программы нам воспринимать легче, чем другие, и мы ищем комментарии, которые помогут нам разобраться.

Есть множество источников информации, помогающих программистам писать более качественный код — книги, сайты, статические анализаторы. Но гораздо меньше источников посвящено повышению качества комментариев. Легко измерить их количество в программе, но качество оценить сложно, и два этих параметра не обязательно взаимосвязаны. Плохой комментарий хуже отсутствия комментария. Вот несколько правил, которые помогут вам найти золотую середину.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии6

Анализ вредоносных программ. Интересные трюки

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

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

В качестве первой публикации решил выбрать одну из любимых находок, которая попалась мне в октябре 2016 года. Речь идет об одной из первых реализаций интересной техники закрепления с помощью WMI "Event Triggered Execution: Windows Management Instrumentation Event Subscription" (T1546.003).

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

Тайна прошивок

Время на прочтение11 мин
Количество просмотров28K
Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н.

Как с помощью самых общих предположений, основанных на знании современных процессорных архитектур, можно восстановить структуру программы из бинарного образа неизвестной архитектуры, и дальше восстановить алгоритмы и многое другое?

В этой статье мы расскажем об одной интересной задаче, которая была поставлена перед нами несколько лет назад. Заказчик попросил разобраться с бинарной прошивкой устройства, которое выполняло управление неким физическим процессом. Ему требовался алгоритм управления в виде компилируемой С-программы, а также формулы с объяснением, как они устроены и почему именно так. По словам Заказчика, это было необходимо для обеспечения совместимости со «старым» оборудованием в новой системе. То, как мы в итоге разбирались с физикой, в рамках данного цикла статей мы опустим, а вот процесс восстановления алгоритма рассмотрим подробно.

Практически повсеместное использование в массовых устройствах программируемых микроконтроллеров (концепции интернета вещей IOT или умного дома SmartHome) требует обратить внимание на бинарный анализ встраиваемого кода, или, другими словами, бинарный анализ прошивок устройств.

Бинарный анализ прошивок устройств может иметь следующие цели:

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

Поставленная выше задача анализа бинарного кода может рассматриваться как частный случай задачи анализа бинарника для обеспечения совместимости устройств.
Читать дальше →
Всего голосов 85: ↑83 и ↓2+81
Комментарии96

Как без усталости кодить по восемь с лишним часов

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


Всю свою жизнь я писал код неправильно.

Я думал, что достаточно просто сесть за стол, открыть ноутбук, выбрать задачу из моего списка to-do и кодить, пока не устану.

Но на самом деле такой стиль работы убивал мой уровень продуктивности спустя 2–4 часа написания кода. Я ощущал себя таким уставшим, что мне не хотелось ничего, кроме как других задач, требующих низких затрат энергии (например, code review).

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

Что же изменилось?

Мой подход к работе.

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

В статье я расскажу, как этого достиг.
Читать дальше →
Всего голосов 107: ↑79 и ↓28+51
Комментарии150
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность