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

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

Ещё раз об OpenSSL

Время на прочтение 4 мин
Количество просмотров 40K
Информационная безопасность *Криптография *
Из песочницы
В моей ещё небольшой практике в сфере информационной безопасности мне пришлось столкнуться с некоторыми вопросами криптографии, а точнее шифрования, внятные ответы на которые мне удалось найти с трудом. Потому решил написать небольшую статью по основам работы с OpenSSL.

В этой статье будут рассмотрены известные вопросы генерации ключей, а также менее известный вопрос шифрования файлов больших объемов. О сертификации здесь не будет речи.
Читать дальше →
Всего голосов 29: ↑22 и ↓7 +15
Комментарии 17

Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня

Время на прочтение 29 мин
Количество просмотров 471K
Системное администрирование *IT-инфраструктура *Cisco *Сетевые технологии *
Туториал
И снова всем привет! Сегодня речь пойдет о протоколах верхнего уровня. Разберем, как они работают, из чего состоят и где применяются теоретически и на практике.


Приятного чтения
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 27

Искусственные нейронные сети простыми словами

Время на прочтение 7 мин
Количество просмотров 208K
Научно-популярное Искусственный интеллект Мозг
Из песочницы
image

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

Допустим, я знаю о девушке две вещи — симпатична она мне или нет, а также, есть ли о чём мне с ней поговорить. Если есть, то будем считать это единицей, если нет, то — нулём. Аналогичный принцип возьмем и для внешности. Вопрос: “В какую девушку я влюблюсь и почему?”


Можно подумать просто и бескомпромиссно: “Если симпатична и есть о чём поговорить, то влюблюсь. Если ни то и ни другое, то — увольте.”

Но что если дама мне симпатична, но с ней не о чем разговаривать? Или наоборот?
Всего голосов 60: ↑59 и ↓1 +58
Комментарии 92

Как отправить электронное письмо с помощью Python: руководство для «чайников»

Время на прочтение 6 мин
Количество просмотров 125K
Блог компании Pechkin.com Программирование *Верстка писем *
Перевод


В нашем блоге мы много пишем о создании email-рассылок и работе с электронной почтой. В современном мире люди получают множество писем, а у некоторых даже есть несколько почтовых ящиков. Все это усложняет процесс их администрирования, что вынуждает искать пути решения проблемы. Не так давно мы рассказывали о том, как инженер из США упорядочивал свои письма с помощью нейронной сети (1, 2), а сегодня речь пойдет об автоматизации отправки писем для разных почтовых ящиков.

Редактор издания Motherboard Майкл Берн (Michael Byrne) написал материал о том, как отправлять электронные письма для различных почтовых ящиков с помощью Python. Мы представляем вашему вниманию адаптированный перевод этой заметки.
Читать дальше →
Всего голосов 26: ↑16 и ↓10 +6
Комментарии 8

Программируем микроконтроллеры в QtCreator

Время на прочтение 9 мин
Количество просмотров 24K
Qt *
Туториал


Почему-то в интернете мало документации про qbs, и я решил немного исправить эту ситуацию. Попробую описать в виде повествования, что необходимо сделать, что бы в QtCreator можно было компилировать (и не только) что угодно под что угодно.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 25

[UPD]Программирование микроконтроллеров 1986ВЕ91Т в Qt Creator

Время на прочтение 4 мин
Количество просмотров 19K
Программирование *
Из песочницы
Хочу показать, как можно писать код и собирать hex-файлы для отечественных микроконтроллеров компании «Миландр» в удобной среде Qt Creator. Обычно для этих средств используются другие среды разработки, но с появлением системы QBS все несколько поменялось.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 4

Псевдо ООП в C

Время на прочтение 3 мин
Количество просмотров 65K
Ненормальное программирование *C *


Язык Си не является объектно-ориентированным языком. И значит все что будет описано ниже это костыли и велосипеды.
ООП включает в себя три столпа: инкапсуляция, наследование, полиморфизм. Ниже я покажу как этих вещей можно добиться в С.
Читать дальше →
Всего голосов 41: ↑31 и ↓10 +21
Комментарии 26

Коаны Vim

Время на прочтение 5 мин
Количество просмотров 28K
VIM *
Перевод
Читать дальше →
Всего голосов 82: ↑62 и ↓20 +42
Комментарии 19

LFS: Темная сторона Силы. Часть 1

Время на прочтение 21 мин
Количество просмотров 66K
Open source *
Туториал

Предисловие


Для того чтобы установить на свой компьютер Linux и начать его использовать для конкретных задач существует масса способов. Выбор дистрибутивов чрезвычайно широк, на любой вкус и цвет — и «для домохозяек» и для продвинутых пользвателей, допускающие любой уровень кастомизации, в том числе и сборку из исходников под конкретное железо. Установка системы в принципе доступна любому, мало-мальски грамотному пользователю ПК. И, если не погружаться в популярные по сей дей холивары на тему «Linux vs Другая ОС», то и спользование данной системы не требует знаний, которые были обязательными для новоиспеченного линуксоида скажем десять лет назад. С моей, глубоко субъективной точки зрения, за более чем десять лет, которые я наблюдаю за развитием этой системы, линукс стал более дружественен к новичкам и избавился от многих проблем, присущих ему в прошлом. И это хорошо.

Пингвины ручной сборки...


На Хабре уже мелькала пара статей на тему LFS, например эта, или вот эта. Комментарии к последней наводят на закономерную мысль — если набор возможностей для установки Linux и его изучения и так исчерпывающе широк, зачем нужен LFS?

Не буду витеивато излагать истории о том «как космические корабли бороздят… и когда Земля была огненным шаром...». Я отвечу на поставленный вопрос исходя из своей позиции — я собираю LFS потому, что мне просто интересно это сделать. Я вижу в этом процессе хорошую возможность заглянуть «под капот» системы. Допускаю, что этот путь сложно назвать оптимальным. Тем не менее, данная статья, и последующие за ней будут посвящены процессу ручной сборки Linux-системы. Данные статьи не будут переводом документации по сборке — в этом нет особой нужды. Акценты будут расставлены на специфике и ньюансах процесса, с которыми пришлось столкнуться автору лично. Будем считать этот цикл чем-то вроде дневника неофита.

Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 21

Организация виртуальной памяти

Время на прочтение 14 мин
Количество просмотров 66K
Блог компании Embox Программирование *Системное программирование *
Привет, Хабрахабр!

В предыдущей статье я рассказал про vfork() и пообещал рассказать о реализации вызова fork() как с поддержкой MMU, так и без неё (последняя, само собой, со значительными ограничениями). Но прежде, чем перейти к подробностям, будет логичнее начать с устройства виртуальной памяти.

Конечно, многие слышали про MMU, страничные таблицы и TLB. К сожалению, материалы на эту тему обычно рассматривают аппаратную сторону этого механизма, упоминая механизмы ОС только в общих чертах. Я же хочу разобрать конкретную программную реализацию в проекте Embox. Это лишь один из возможных подходов, и он достаточно лёгок для понимания. Кроме того, это не музейный экспонат, и при желании можно залезть “под капот” ОС и попробовать что-нибудь поменять.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 4

Как подключиться к космическому спутнику и исполнить детскую мечту

Время на прочтение 6 мин
Количество просмотров 34K
Блог компании Простая Наука Научно-популярное Космонавтика DIY или Сделай сам
Дмитрию Пашкову из мордовского города Рузаевка 28 лет – возраст, когда многие из нас уже определились со своим профессиональным будущим и уже даже успевают добиться определенных профессиональных высот. Дмитрий в этом смысле исключение — в положительном смысле. По профессии он системный администратор, но по призванию – радиолюбитель. Несколько недель назад он прославился на всю страну, перехватив в момент солнечного затмения 20 марта сигнал с действующего российского метеоспутника «Метеор-М2». Я связался с Дмитрием и он любезно согласился поделиться своим опытом – объяснить, как любой из нас может сам наладить «связь с космосом» и добиться того, о чем мечтал каждый из нас в детстве – увидеть Землю из космоса.



Оригинал фото

Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 13

Защита устройств от неправильной подачи полярности питания

Время на прочтение 3 мин
Количество просмотров 195K
Схемотехника *Электроника для начинающих
Туториал
image
При проектировании промышленных приборов, к которым предъявляются повышенные требования по надёжности, я не раз сталкивался с проблемой защиты устройства от неправильной полярности подключения питания. Даже опытные монтажники порой умудряются перепутать плюс с минусом. Наверно ещё более остро подобные проблемы стоят в ходе экспериментов начинающих электронщиков. В данной статье рассмотрим простейшие решения проблемы — как традиционные так и редко применяемые на практике методы защиты.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Комментарии 71

Мифы о пингвинах

Время на прочтение 6 мин
Количество просмотров 22K
Настройка Linux *

Введение


Это статья для тех кто хотел чуть побольше узнать о Linux, но либо стеснялся спросить, либо пока не задумался. Начнем мы с самого большого разочарования — операционной системы Linux нет.
Читать дальше →
Всего голосов 47: ↑27 и ↓20 +7
Комментарии 77

Классификация 3D принтеров

Время на прочтение 4 мин
Количество просмотров 44K
Компьютерное железо
Recovery mode
Из песочницы


3D печать уверенно набирает обороты и мы все чаще видим посты о том, что 3D принтер научили печатать детали для МКС, органы, дома и многое другое. Зарубежные технологические издания начинают говорить о том, что 3D печать способна воскресить промышленность в штатах, а сервис shapeways, у нас на глазах, показывает интересные темпы роста, хоть и далекие от промышленных. При таком обилии хвалебных текстов о надвигающейся революции в производстве на ум приходит мысль о том, что российский сегмент практически свободен, но так ли просто достигнуть промышленных масштабов при удишевлении самих принтеров и появления open source проектов? Решать вам, а пища для размышлений на тему под катом.
Читать дальше →
Всего голосов 32: ↑18 и ↓14 +4
Комментарии 28

Сделай шаг к ПЛИС

Время на прочтение 7 мин
Количество просмотров 251K
Программирование *FPGA *Программирование микроконтроллеров *


Ты ждал знак? Вот он!

Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

Сейчас я помогу сделать первый шаг и тебе!

Я готов!
Всего голосов 69: ↑60 и ↓9 +51
Комментарии 90

Работа по контракту в Лондоне

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

Вид на City, сердце деловой Великобритании

Перед тем как перейти «на контракт» я работал в постоянным сотрудником в Лондоне в небольшой (700 серверов / 8 коллег) компании. Моя специализация — Wintel engineer, то есть я могу работать к в суппорте так и в техподдержке проектов. Все что связано с продуктами Microsoft. Я подумывал об уходе с постоянной работы, однако волею судеб пришлось уйти совершенно неподготовленным. Именно отсюда начинается мой рассказ о контрактниках в Великобритании.
Читать дальше →
Всего голосов 79: ↑73 и ↓6 +67
Комментарии 42

Создание собственных драйверов под Linux

Время на прочтение 24 мин
Количество просмотров 197K
Настройка Linux **nix *


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Всего голосов 323: ↑318 и ↓5 +313
Комментарии 107

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть вторая, практическая)

Время на прочтение 15 мин
Количество просмотров 42K
Настройка Linux *
Это вторая часть моей статьи по разработке драйверов для ведомых SPI устройств в Linux. Предыдущая часть находится здесь.

3. Разработка userspace протокольного SPI драйвера с использованием spidev


Как уже было сказано выше, для SPI устройств существует ограниченная поддержка userspace API, с поддержкой базовых полудуплексных read() и write() вызовов для доступа к ведомым SPI устройствам. Используя ioctl() вызовы, можно производить полнодуплексный обмен данными с ведомым устройством, а также изменение параметров устройства.
Читать дальше →
Всего голосов 46: ↑45 и ↓1 +44
Комментарии 9

Пишем свой драйвер под Linux

Время на прочтение 8 мин
Количество просмотров 66K
Настройка Linux *
Из песочницы
image

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

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

Читать дальше →
Всего голосов 251: ↑240 и ↓11 +229
Комментарии 78

10 главных правил убивания жуков

Время на прочтение 5 мин
Количество просмотров 41K
Программирование микроконтроллеров *
Туториал
Понимаю, что заголовок выглядит как машинный перевод, но лучшего эквивалента " Top 10 Bug-Killing Coding Standard Rules " придумать не смог.

10 главных правил по избеганию багов — подсказали в комментах

Данный пост представляет собой вольный пересказ ключевых понятий книги Michael Barr «Embedded C Coding Standard», изложенных в его выступлении на вебинаре в июне этого года (не знаю как поставить тэг «перевод»).
Часть правил применима только к C++ и расширениям C, а часть и к стандарту языка.
Читать дальше →
Всего голосов 34: ↑23 и ↓11 +12
Комментарии 71

Информация

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