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

Погромист

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

Красота и изящество таблицы ASCII

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров9.9K
Если вы программист или хотя бы немного связаны с программированием1, то без сомнения сталкивались с таблицей ASCII.

Таблица ASCII полезна. Но знали ли вы, что она ещё красива и изящна?

Сегодня даже не близкие к программированию люди могут знать об ASCII благодаря книгам и фильмам наподобие «Марсианина»2

ASCII по-прежнему с нами; даже если вы передаёте современный Unicode3, то должны знать, что самый популярный формат кодировки UTF-8 специально спроектирован как обратно совместимый с ASCII! Декодировав эту статью как ASCII, вы в целом поймёте её смысл… если закроете глаза на мусорные символы в конце предложений (прим. ред.: имеет смысл только для оригинальной статьи на английском).
Читать дальше →
Всего голосов 54: ↑53 и ↓1+73
Комментарии54

Введение в Ubuntu autoinstall

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

Данная статья это авторский перевод/русскоязычная версия моей статьи на Medium, и первая из цикла про этот интересный инструмент.

Пожалуй, наиболее адекватным эпиграфом будет перефразированный английский перевод частушки «по реке плывет топор»:

Down the pipeline flows the code
From the towers of London.
Let it setup by itself
On this fancy piece of iron

Как это часто бывает, данный проект появился в результате случайности. Я всего лишь устанавливал Ubuntu на новую Dell rack workstation, когда элементарная задача неожиданно превратилась в «увлекательную». Зато открыло для меня совершенно новый уровень.

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

Collapse OS: операционная система судного дня

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


Порыв ветра принёс удушливый запах гари с радиоактивных пустошей — видать, кочевники опять подожгли сухую траву. Сталкер осмотрелся: столб серого дыма лениво тянулся к небу прямо за терриконом, растворяясь в пелене низких облаков. Нужно спешить. Поудобнее перехватив автомат и поправив на поясе флягу с водой, он шагнул в густую тень руин, оставшихся от старого торгового центра. Денёк сегодня выдался неудачным: среди рассыпанного по развалинам хлама отыскалась лишь одна компьютерная плата, да и та оказалась изрядно оплавленной и закопчённой, словно душа грешника, каким-то чудом вырвавшаяся из преисподней…

Нет, автор не перепутал «Хабр» с «Author.Today» (хотя временами, признаться, я пишу и туда). По всей видимости, примерно так представляет себе недалёкое будущее человечества канадский программист Виржиль Дюпра, создавший на голом энтузиазме «операционную систему судного дня»: Collapse OS. По замыслу разработчика, эта операционка должна запускаться на самом слабом железе, которое можно будет отыскать после глобального катаклизма на дымящихся руинах земной цивилизации. Причём в своём нынешнем виде Collapse OS уже вполне работоспособна — на устройствах, оборудованных процессором Z80. Ну, а поскольку я являюсь счастливым обладателем аж целых двух «Спектрумов», я не мог устоять перед соблазном познакомиться с этой системой поближе. Что ж, давайте представим себе, что конец света уже наступил и посмотрим, с каким софтом нам предстоит иметь дело в столь печальных обстоятельствах. Надевайте противогазы, и в путь. Не отставайте!
Читать дальше →
Всего голосов 75: ↑73 и ↓2+94
Комментарии101

Автостарт android-устройств — это просто! Реверсим, патчим загрузчик и заставляем смартфон включаться самому

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.2K

Обычно Android-устройства принято считать «бесполезными» через 5-10 лет после выхода. Особенно, это касается бюджетных моделей, которые "не тянут" современные сервисы или те девайсы, которые по каким-то причинам физически пострадали в процессе своей жизни. Но пока одни выкидывают смартфоны и планшеты, считая их электронным хламом и засоряя мир, другие стараются найти применение всему подряд и оказывается, что Android-устройства ещё вполне себе могут оказаться полезными. Однако порой необходимо реализовать автоматическое включение устройства при подключения к зарядке и вот здесь многие впадают в ступор — ведь замкнуть кнопку включения зачастую недостаточно! В сегодняшнем материале я расскажу свои кейсы запитывания устройств от блоков питания, а также реализацию автовключения на разных чипсетах. Интересно? Тогда добро пожаловать под кат!

Читать далее
Всего голосов 38: ↑37 и ↓1+52
Комментарии28

Создаем свой аналог sqlite c нуля. Часть #1

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

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

Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске), Когда они должны сохраняться на диск? Почему первичный ключ(primary key) является единственным на одну таблицу?, и так далее

В этой части мы создадим REPL, которое принимает команды, обрабатывает ошибки.

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

Развертывание защищенного dev кластера bitnami/kafka в k8s с помощью helm

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

Всем привет. На этот раз хотел бы поделиться материалом, связанным непосредственно с devops работой. Недавно возникла потребность раскатить kafka кластер в kubernetes. В ходе развертывания возникло очень много сложностей, встречено множество подводных камней, и, естественно, в большинстве случаев рецепта в интернете найдено не было, поэтому приходилось искать решения самостоятельно методом проб и ошибок. Все, что здесь будет описано это сугубо личный опыт на одном из проектов. Сегодня я расскажу как с нуля раскатить dev контур bitnami/kafka кластера с помощью helm чартов, как обезопасить ваш кластер kafka и какие сложности могут вам встретиться.

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

Создание своего UEFI приложения

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров41K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Всего голосов 72: ↑71 и ↓1+84
Комментарии80

Личное облако на Proxmox

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров21K

В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки работают, но есть проблемы с фаерволом. Производитель обещает вот-вот выпустить новое, но ждать я не стал и решил сделать инфраструктуру по другому. О чем и напишу. Получается уже цикл статей. Эта будет описывать цель и первые шаги к ней.

Читать далее
Всего голосов 24: ↑21 и ↓3+20
Комментарии60

Для чего подходит ультрадешёвый сервер за 130 рублей

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


В рекламе RUVDS постоянно упоминаются дешёвые VPS-серверы «за 130 рублей в месяц». Но многие думают, что это маркетинговый трюк: такие серверы может и есть, но только для рекламы, чтобы предложение звучало красиво, а в реальности они совершенно непригодны. Ну что может сервер с 512 МБ оперативной памяти? Конечно же, ничего. На него даже операционка не встанет…

В реальности всё совсем иначе. На этот сервер ставятся разные дистрибутивы Linux, задачи он выполняет реальные, и вы даже получаете выделенный IP-адрес.
Читать дальше →
Всего голосов 62: ↑59 и ↓3+77
Комментарии136

Немного о сварочных аппаратах в быту обычного человека и зачем оно надо

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров32K
Картинка Vwalakte, Freepik

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

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

Причиной этого является высокая прочность получаемого соединения, которое по своим физическим свойствам практически не уступает изначальному металлу: при соблюдении требований к конкретному техпроцессу прочность соединения может достигать порядка 90% от изначального металла, а при применении специальных приёмов — вплоть до 100%.

Однако получение такого соединения является достаточно сложной технической задачей, так как требуется в маленьком объёме быстро и существенно увеличить температуру до расплавления соединяемых деталей и образования так называемой сварочной ванны. Дело осложняется ещё и тем, что металл обладает высокой теплопроводностью, и из зоны нагрева тепло активно перераспределяется по всему объёму соединяемых деталей.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+80
Комментарии116

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

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров12K

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

На что способен самодельный очиститель воздуха, который можно собрать за 30 секунд?

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

Плохой воздух однозначно вреден, но на рынке его очистителей мы наблюдаем бардак. Каждый производитель использует свои эксклюзивные фильтры, по всей видимости, для того, чтобы клиенты были вынуждены покупать именно их. А откуда нам знать, что эти устройства вообще работают? Немногие компании публикуют лабораторные тесты. И почему какая-то большая пластиковая коробка с вентилятором и фильтром стоит аж $100-300?

Но существуют и самодельные очистители, чаще представляющие собой просто примотанный к вентилятору фильтр. Мне такая идея по душе, но в этом случае тоже нет уверенности в их эффективности. Какие-то эксперименты проводились, но недостаточно, чтобы внушить мне доверие. Поэтому я решил поэкспериментировать сам: собрал очиститель, напустил дыма и измерил, насколько эффективно он справляется с удалением мелких частиц.
Читать дальше →
Всего голосов 99: ↑94 и ↓5+119
Комментарии158

На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров19K
image

Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняется, что многие девайсы оказываются полностью рабочими даже после недельного лежания под палящим солнцем и проливными дождями, а сдали их в чермет по причинам «не нужен, надоел, купил новый» и т. п. Я не считаю это правильным, ведь даже в простые кнопочные звонилки имеется возможность вдохнуть новую жизнь, если знать один интересный, но малоизвестный факт: для них можно писать нативные приложения на C и использовать железо телефона в своих целях. А это, на минуточку, как минимум: дисплей с подсветкой, вибромотор, динамик, клавиатура и GSM-радиомодуль с возможностью выхода в сеть. Сегодня мы с вами: узнаем, на каких аппаратных платформах работают китайские телефоны, какие существуют программные платформы и где взять для них SDK, а в практической части мы напишем 2D-игру с нуля, которая будет работать на многих китайских кнопочниках. Интересно? Тогда жду вас под катом!
Читать дальше →
Всего голосов 93: ↑91 и ↓2+115
Комментарии86

Групповые P2P-чаты и первый мессенджер без ID

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

Схема маршрутизации по протоколу SimpleX Messaging Protocol (SMP) напоминает луковую маршрутизацию

Недавно в списке защищённых мессенджеров появилось несколько интересных разработок. Среди них первый распределённый групповой P2P-чат Quiet и первый мессенджер без использования идентификаторов пользователей SimpleX, о котором уже упоминали на Хабре.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии21

Метод конечных элементов своими руками

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров19K

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

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

Компилятор за выходные: таблицы символов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.2K

Как водится воскресным вечером, снова я с моим компилятором. На этот раз я расскажу, как работают области видимости переменных и как перегружать функции. Это позволит нам скомпилировать демку про́клятого огня, а также я накидал фантазию на тему игрушки арканоид (скриншот на КПДВ, видео в конце статьи). Я на удивление сам долго залипал на эту анимацию :)

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

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

Как содержать пароли. Мой сетап

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров54K

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

Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 

Или, как обезопасить себя от забывания мастер пароля от менеджера паролей? На моей практике я несколько раз забывал пин-код от банковской карты, состоящий из 4-ёх цифр, после ежедневного использования на протяжении многих месяцев. Мозг - странная штука. 

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

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

Почему нельзя использовать компьютерный ИБП для питания газового котла?

Время на прочтение9 мин
Количество просмотров191K
Год назад я попытался понять, почему обычные автомобильные аккумуляторы нельзя использовать вместо специализированных в источниках бесперебойного питания. В той статье были рассмотрены несколько страшилок от продавцов специализированных аккумуляторный батарей, а так же произведены замеры ёмкости двух батарей, каждая из которых состоит из четырёх автомобильных аккумуляторов, проработавших в ИБП год. К сожалению, я не догадался сделать подобный замер сразу же после установки свежих батарей, но пообещал спустя год повторить замер, чтобы можно было понять, насколько за год уменьшилась ёмкость батарей. Планировал я это сделать в форме комментария с обновлёнными данными, но в процессе замера заметил, что пока ИБП работает от батарей — котёл подключенный к нему — не работает.

Вот это поворот!

Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии84

Почему автомобильный аккумулятор нельзя использовать в ИБП?

Время на прочтение7 мин
Количество просмотров363K
Предыстория

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

Доработка бесперебойника не заняла много времени, но профит был заметен сразу же. Сто-ватная нагрузка в виде домашнего «сервера» продержалась порядка двадцати часов без внешнего питания, хотя раньше 10 минут — это был предел, которого хватало разве что на корректное завершение работы. Более длительных отключений за время эксплуатации данной модификации замечено не было, а подключение интернета по технологии GPON позволяло серверу оставаться в сети даже при масштабных отключениях электроэнергии.



Но это было давно. А год назад мне случайно попалось на глаза объявление о продаже нескольких бывших в употреблении ИБП APC 3000 за смешные деньги, 4000 рублей за штуку, без аккумуляторов, но рабочие. Немного подумав, решил что надо брать, причём сразу два, правда к моменту покупки цена успела подняться до 5000 рублей за штуку, но меня это не остановило, ведь в магазине за те же деньги предлагали лишь варианты на 1кВт, да и то от всяких noname фирм с не очень лестными отзывами и модифицированным синусом.
Читать дальше →
Всего голосов 61: ↑54 и ↓7+47
Комментарии183
1
23 ...

Информация

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