Pull to refresh
52
7.5
Евгений А. Симоненко@easimonenko

Любитель

Send message

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

Level of difficultyEasy
Reading time10 min
Reach and readers5.7K

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Reach and readers6.1K

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Reach and readers8.2K

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Reach and readers7.4K

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Reach and readers9.1K

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

Читать далее

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

Level of difficultyHard
Reading time6 min
Reach and readers1.6K

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

Читать далее

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

Level of difficultyMedium
Reading time4 min
Reach and readers2.8K

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

Читать далее

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

Level of difficultyMedium
Reading time3 min
Reach and readers2.9K

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers6K

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

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

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

Level of difficultyEasy
Reading time6 min
Reach and readers1.9K

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

Читать далее

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

Level of difficultyHard
Reading time13 min
Reach and readers3.3K

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

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

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

Reading time8 min
Reach and readers24K

Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать 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

Reading time5 min
Reach and readers8.4K

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


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

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

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

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

Reading time6 min
Reach and readers11K

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


В декабре 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#
Читать дальше →

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

Reading time8 min
Reach and readers22K

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


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

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

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

Reading time5 min
Reach and readers4.5K

Эта статья является переводом поста Chris Hodapp Embedding Haskell: Compilers, and compiling compilers В своём посте автор рассматривает различные подходы к использованию Haskell для написания кода для встраиваемых систем. Предоставим слово автору.


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


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


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

Введение в язык запросов Cypher

Level of difficultyMedium
Reading time10 min
Reach and readers25K

Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher была создана организация openCypher.


Основы работы с СУБД Neo4j описаны в статье Основы работы с Neo4j в браузере.


Для знакомства с Cypher рассмотрим пример генеалогического дерева заимствованный из классического учебника по Прологу за авторством И. Братко. На этом примере будет показано как добавлять узлы и связи в граф, как им назначать метки и атрибуты и как задавать вопросы.


Генеалогическое дерево в Neo4j, отредактированный вид

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

Основы работы с Neo4j в браузере

Level of difficultyEasy
Reading time3 min
Reach and readers20K

В статье рассматривается как начать работать с графовой СУБД Neo4j, используя Neo4j Browser. Это руководство может быть полезным как дополнение к книге Редмонда и Уилсона "Семь баз данных за семь недель", так как рассматриваемый веб-интерфейс был полностью переработан, а также к книге "Графовые базы данных" (Робинсон, Вебер, Эифрем), так как в ней этот вопрос вообще не рассматривается. Статья рассчитана на приступающих к изучению Neo4j. Те, кто уже знаком с этой СУБД, могут смело её пропустить.


Neo4j Browser: home screen

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

Инструменты разработчика на языке Elm

Reading time7 min
Reach and readers8.5K

С момента публикации статьи Основы разработки на языке Elm (руководство по инструментарию для начинающих) прошло полтора года. За это время в инструментарии для языка разработки веб-интерфейсов Elm произошли многочисленные изменения: появилась более удобная система сборки с возможностью генерации нового проекта; для редактора Atom набор дополнений в некоторых отношениях теперь лучше, чем для популярного тогда среди разработчиков на Elm редактора LightTable; заработал инспектор состояния приложения. Давайте пройдёмся по этому набору на простом примере.


Инструменты разработчика на языке Elm: обложка

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

Обзор пакетов Node.js для разбора опций командной строки

Reading time9 min
Reach and readers26K

Node.js, как и другие среды разработки, предоставляет базовые средства работы с опциями командной строки. В нашем случае это массив process.argv. Но обычно, кроме простейших случаев типа A + B, обрабатывать опции командной строки вручную очень неудобно. Для этого есть несколько популярных пакетов. Автор написал небольшую программу, которая построила сводную таблицу по этим пакетам, выбрал из них три самых популярных и рассмотрел их поближе.


(Материал статьи на 7 января 2020 года по прежнему актуален, сводная таблица обновлена и дополнена.)

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

Information

Rating
733-rd
Location
Краснодар, Краснодарский край, Россия
Registered
Activity

Specialization

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