Обновить
16K+
57
Евгений EvAn Симоненко@easimonenko

Любитель

6,5
Рейтинг
41
Подписчики
Отправить сообщение

Создание собственной темы для GNU Emacs

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

В августе прошлого, 2025 года, я рассказал о создании собственной чёрно-белой темы для GNU Emacs. Почти год безсменно я её использую и не испытываю никаких проблем (скриншот позволяет в этом убедиться). Но рассказ будет не про это, а про то, как выглядит техника создания собственной темы для Emacs. Для тех, кто подумал, что будет также скучно и сложно, как и в рассказах про создание собственного пакета и режима для Emacs, да, это так, только не сложно.

Читать далее

Лицензии важны. Разбор ошибок авторов и пользователей программ

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.9K

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

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

Ещё двадцать лет назад понятия свободного программного обеспечения и открытых исходных текстов были неведомы чуть менее чем всем пользователям компьютеров, да что там говорить, самим программистам. Linux, BSD, OpenOffice, Gimp были диковинкой и вызывали удивление. Но Мир изменился. Опубликованным исходникам нет счёта, и мало кому из, по крайней мере, программистам, нужно объяснять, что это такое. Мир изменился, но люди нет. Невежество и чванство никуда не делись. Изучая чужие разработки в исходниках, не перестаю замечать, как много проектов игнорируют необходимость указания лицензии и копирайта.

Почему указание лицензии важно? Лицензия даём нам, как пользователям программ, так и программистам, изучающим чужие исходные тексты и использующим их в своих программах, чётко обозначенные права (разрешения) и ограничения (запреты). Отсутствие же лицензии означает одно: вам не предоставлено никаких прав, вообще.

Давайте разберём типовые ошибки авторов программ, и поджидающие их пользователей проблемы.

Читать далее

Будни ретрокомпьютерщика: Fujitsu FMV-Biblo NE6/650R

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.8K

Конец декабря 2025 г. В одном из отложенных объявлений на барахолке с ретро Fujitsu LifeBook замечаю ещё один незнакомый мне ноутбук этой компании. Он похож на недавно приобретённый Fujitsu FMV-Biblo NE7, но выглядит как-то более архаично. Узнаю у продавца, не продан ли, прошу сделать больше фото. Да, это более старый FMV-Biblo NE6. Договариваюсь об отправке, оплачиваю. Заказ будет ехать в Краснодар аж из Хабаровска. Продавец отправляет посылку аккурат под Новый год, 31 декабря, предупредив, что поедет она не раньше 4 января. В итоге едет ноутбук очень долго, и через три недели я его получаю. Как обычно, основная интрига в том, заработает ли он? Со слов продавца, ноутбук он не может проверить, так как у него нет нужного блока питания. Что ж, посмотрим…

Читать далее

Будни ретрокомпьютерщика: Fujitsu FMV-Biblo NB75J

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

Одна из суббот декабря 2025. Рутинно просматриваю избранное на барахолке. Замечаю снижение цены в одном из объявлений. Цена стала такой, что грех не купить. Тем более, что ноутбук редкий для наших просторов: Fujitsu FMV-Biblo NB75J. Сделан в Японии для внутреннего рынка, но имел двойняшек под маркой LifeBook: C2310, C2320, C2330 и C2340, немного отличавшихся деталями дизайна и оснащения, а также европейской клавиатурой. Ехать будет ко мне в Краснодар аж из Владивостока. Удивительно, что цена доставки сравнительно невелика, так что укладываюсь суммарно менее чем в тысячу. Чуда не жду: в объявлении указано, что продаётся на запчасти, к тому же не совсем комплектный, а это зачастую признак неработоспособности. Заработает ли?

Читать далее

Будни ретрокомпьютерщика: Fujitsu FMV-Biblo NE7/800

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.9K

Одно из воскресений декабря 2025 г. Просматриваю избранное на барахолке на предмет очередной покупки. Конкретной цели нет, просто смотрю, нет ли чего интересного за приемлемые деньги. Один вариант не отпускает: Fujitsu FMV-Biblo NE7/800. Ноутбук выпущен 25 лет назад в Японии для внутреннего рынка. Решаюсь не сразу: ноутбук продаётся в Калининграде, до Краснодара ехать ему далеко, долго и дорого. И я не уверен, что продавец отправит в такую даль. Решаюсь, пишу. Продавец согласен. Оплачиваю. Ноутбук неисправен и не вполне комплектен, зато редок в наших краях и красив. Заведётся?

Читать далее

ReLifeBook, Будни ретрокомпьютерщика, Emacs Lisp и FPGA: подведение итогов моей хобби-деятельности

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.6K

Ровно три года назад, в декабре 2022 года, у меня появилось новое хобби – увлечение старыми ноутбуками. А произошло это так. Однажды мне надоело таскать в рюкзаке туда-сюда единственный ноутбук, и я решил приобрести второй рабочий ноутбук, чтобы никуда без острой необходимости его не носить. Сначала я подбирал недорогой новый. Как оказалось, почти все современные ноутбуки не удовлетворяли моим требованиям в плане оснащения. Мне нужны были: порты Ethernet и HDMI и слот для полноформатных карт памяти SD. При этом процессор хоть и не топовый, но и не лоукост. Ну и дизайн хотелось, чтоб был приятный, а не как у бюджетников 2010 года. Вариантов было мало, а цена высокой. Решил искать подходящий среди подержанных в основном под привычными мне марками Acer и Fujitsu по приемлемой цене. И если среди Acer, Toshiba это были хоть и старые, но с более-менее актуальными характеристиками, то среди Fujitsu, Lenovo это были модели на Core 2 Duo и старее. Попадались и ретро, вызвавшие во мне ностальгические чувства к LifeBook, ведь одним первых ноутбуков, купленных мною новыми, был как-раз этой компании. В общем, купил я сначала один, потом другой… В основном покупал по низу рынка, полуживые и на запчасти. По возможности приводил в порядок и восстанавливал работоспособность. Иногда приобретал экземпляры и в хорошем состоянии. А в прошедшем, 2025 году, я завёл канал в Telegram и начал рассказывать о своём хобби на Хабр. Но это не всё. Думаю, что можно подвести итоги и немного рассказать о планах.

Читать далее

Будни ретрокомпьютерщика: Compaq Presario 1200

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.9K

Отойдя от дел в один из вторников декабря 2025 г., заглядываю в барахолку и в первой же строке вижу его. Compaq Presario, модель не написана, по виду тянет на конец 90-х. Цена такая, что думать смысла нет. Покупаю. На выходные должен приехать. По фото пытаюсь выяснить конкретную модель. Судя по всему это представитель серии Presario 1200, выпускавшейся с 1998 по 2000 г. Что меня ждёт, когда приедет, не знаю: купил кота в мешке. Так даже интересней. Тем более, что эта модель оснащалась микропроцессорами от разных производителей: Intel, AMD и Cyrix.

Читать далее

HP OmniBook XE3: брутальный ноутбук начала 2000-х с автономным CD-проигрывателем и хорошим звуком

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8K

Пару лет назад, просматривая барахолку, наткнулся на HP OmniBook XE3. Я не был фанатом продукции HP, хотя в своё время интересовался их крутыми PDA iPAQ, а ещё у меня есть старый добрый сканер ScanJet компании Hewlett-Packard. Но этот ноутбук привлёк моё внимание своим брутальным внешним видом. Подобный дизайн я видел только у защищённых Panasonic. В общем, приобрёл его и был немало удивлён…

Читать далее

Fujitsu LifeBook C3: потребительский ноутбук конца 90-х

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

В конце 90-х годов ноутбуки начинают избавляться от имиджа средств выражения высокого статуса или производственной необходимости: компании-производители выходят со своими новыми моделями на базе процессоров Pentium MMX и Pentium II на потребительский рынок. В частности, компания Fujitsu меняет классификацию модельного ряда и вводит различные линейки для различных рынков. Для широких масс назначается линейка, обозначаемая буквой C (по-видимому от слова Consumer, т.е. потребительский). В этой статье на примере Fujitsu LifeBook C3 посмотрим, какими были эти потребительские ноутбуки.

Читать далее

Создание режима GNU Emacs для C-подобного языка

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели3.8K

Недавно я разработал ещё один режим GNU Emacs для C-подобного языка программирования C2. Если в предыдущий раз для другого C-подобного языка я написал код с нуля, то в этот раз решил воспользоваться возможностью так называемого наследования режимов. В этой статье хочу поделиться с вами как это делается, и что у меня из этого вышло. (Предполагается, что читатель ознакомился с материалом предыдущей статьи Как написать свой режим для GNU Emacs и опубликовать его в MELPA или имеет собственный уникальный опыт разработки режимов GNU Emacs.)

Читать далее

Свободные инструменты для программирования FPGA

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

Подборка свободных инструментов для программирования FPGA, включающая в себя средства поддержки языков HDL, синтезаторы, симуляторы и некоторые другие.

Читать далее

Программирование FPGA Gowin с использованием свободных инструментов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.4K

Краткая инструкция, о том, как запрограммировать чип FPGA Gowin с использованием только свободных программных инструментов и комплекта Sipeed Tang Primer 20K Dock.

Читать далее

Ретро Linux на ретро-ноутбуке

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели16K

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

Читать воспоминания и смотреть кучу фото

Как организовать свой Zettelkasten в GNU Emacs

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

Вам нравится пользоваться GNU Emacs, но вы ещё не используете его для ведения своего Zettelkasten? В статье мы немного поговорим о собственно Zettelkasten, а затем о том, как настроить и использовать Org-roam с этой целью. На снимке выше вы видите Emacs с двумя связанными друг с другом заметками и визуализуцию графа в браузере, в котором выделен узел одной из открытых заметок и все связанные с ним. Интересно? Тогда читайте дальше.

Читать далее

Как написать свой режим для GNU Emacs и опубликовать его в MELPA

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

Некоторое время назад я разработал режим GNU Emacs для редактирования конфигурационных файлов операционной системы Embox. Кроме всестороннего изучения Emacs Lisp мне потребовалось разобраться со структурой модуля режима, а также процессом и требованиями к публикации пакетов в MELPA, наиболее популярном архиве пакетов для GNU Emacs. В этом руководстве я расскажу, что нужно знать, чтобы написать свой собственный режим, и как опубликовать свой собственный пакет.

Запускаем свой Emacs!

Программируем Arduino Uno на Rust: настраиваем среду и моргаем светодиодом

Время на прочтение8 мин
Охват и читатели26K

Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать Arduino на чём-то более современном и удобном? Вот и я задавался. И нашёл Rust (не то, чтобы я о нём не знал). И на нём можно программировать микроконтроллеры AVR и платы Arduino, построенные на них. И здесь я расскажу о том, как настроить среду разработчика на Rust в Linux, GNU Emacs и Visual Studio Code и как запрограммировать Arduino Uno на моргание светодиодом.


#![no_std]
#![no_main]

use ruduino::Pin;
use ruduino::cores::current::{port};

#[no_mangle]
pub extern fn main() {
    port::B5::set_output();

    loop {
        port::B5::set_high();
        ruduino::delay::delay_ms(1000);
        port::B5::set_low();
        ruduino::delay::delay_ms(1000);
    }
}
Читать дальше →

Обзор языка функционального программирования Koka

Время на прочтение5 мин
Охват и читатели8.6K

Как-то заглянув на [GitHub][], обнаружил [Koka][Koka Home Page] — язык функционального программирования со статической типизацией. Koka разрабатывается с 2012 года [Daan Leijen][] в [Microsoft Research, USA][Microsoft Research]. Его исходники выкладываются на [GitHub][Koka GitHub] под лицензией Apache 2.0. Как признаются его авторы, он ещё не готов для промышленного применения: у него нет библиотек, менеджера пакетов и полной поддержки в средах разработки. При этом сам язык достаточно стабилен, а компилятор полностью разработан. Отдельными моментами язык напоминает Rust, Haskell и Scala. Сам же по себе он интересен контролем побочных эффектов. Это его основная фишка. Приглашаю познакомиться с Koka и обсудить его свойства.


fun main(): console ()
  println("Hello, World!")

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

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

Как мы узнаём, какой язык программирования самый популярный

Время на прочтение6 мин
Охват и читатели11K

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


В декабре 2021 года Python остается одним из самых популярных языков программирования. Об этом мы узнаем из рейтингов IEEE Spectrum, TIOBE, PYPL. Однако рейтинги GitHub Octoverse и Stack Overflow Annual Developer Survey сообщают нам, что Python на 2-м месте, а GitHut, что лишь на 3-м. А самым популярным является JavaScript. Дело в том, что у разных рейтингов разные задачи и методики подсчета. А значит пора разобраться, как устроены эти рейтинги и для чего они нужны.


Место TIOBE IEEE Spec. PYPL GitHub Oc. Stack Overf. GitHut
1 Python Python Python JavaScript JavaScript JavaScript
2 C Java Java Python HTML / CSS Java
3 Java C JavaScript Java Python Python
4 C++ C++ C# TypeScript SQL CSS
5 C# JavaScript C / C++ C# Java PHP
6 Visual Basic (.Net) C# PHP PHP Node.js Ruby
7 JavaScript R R C++ TypeScript C++
8 Assembly Language Go Swift Swift C# C
9 SQL HTML Objective-C C Bash / Shell Shell
10 Swift Swift Matlab Ruby C++ C#
Читать дальше →

Как учиться в университете, чтобы было интересно и полезно

Время на прочтение9 мин
Охват и читатели23K

Этот пост изначально должен был быть ответом на пост «Честный рассказ об образовании в IT. Стоит ли оно того?», однако, по-видимому, вышел за эти пределы и может рассматриваться как самостоятельное произведение.


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

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

Встраивание Haskell: компиляторы и компиляция компиляторов

Время на прочтение6 мин
Охват и читатели4.6K
_Эта статья является переводом поста Chris Hodapp [Embedding Haskell: Compilers, and compiling compilers](https://haskellembedded.github.io/posts/2015-10-09-compiler-compilers.html) В своём посте автор рассматривает различные подходы к использованию Haskell для написания кода для встраиваемых систем. Предоставим слово автору._

В моем последнем [посте](https://haskellembedded.github.io/posts/2015-06-09-atom-cincyfp-slides.html) упоминалось, что некоторые вещи требуют лучшего объяснения, потому что я всегда пытаюсь объяснить и уточнить.

Этот блог посвящен использованию Haskell со встраиваемыми системами. Что это хотя бы значит? Мы видим пару широких категорий (которые отражают слайды на последней странице, а также наша страница [ссылок](https://haskellembedded.github.io/pages/links.html)):

— Полная компиляция: компиляция кода на Haskell для встраиваемого назначения.
— Ограниченная компиляция: компиляция некоторого ограниченного подмножества кода на Haskell для встраиваемого назначения.
— Хостинг EDSL и компилятора: хостинг в Haskell, EDSL и компилятор для встраиваемого назначения.

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

Информация

В рейтинге
934-й
Откуда
Краснодар, Краснодарский край, Россия
Зарегистрирован
Активность

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

Инженер встраиваемых систем, Создатель контента
Linux
Git
Базы данных
C
Системное программирование
Assembler