Режим GNU Emancs для редактирования файлов Mybuild из ОС Embox.
Шаблон Jekyll для сайтов, размещаемых на GitHub Pages.
Это канал в Телеграме, где я рассказывают о том, как постигаю язык программирования Rust.
Знакомимся с графовыми базами данных и языком запросов Cypher.
Как писать посты так, чтобы их читали, а не критиковали.
Некоторое время назад я разработал режим GNU Emacs для редактирования конфигурационных файлов операционной системы Embox. Кроме всестороннего изучения Emacs Lisp мне потребовалось разобраться со структурой модуля режима, а также процессом и требованиями к публикации пакетов в MELPA, наиболее популярном архиве пакетов для GNU Emacs. В этом руководстве я расскажу, что нужно знать, чтобы написать свой собственный режим, и как опубликовать свой собственный пакет.
;;;###autoload
(define-derived-mode mybuild-mode prog-mode "Mybuild"
"Major mode for editing Mybuild files from Embox operating system."
:syntax-table mybuild-mode-syntax-table
(setq-local comment-start "// ")
(setq-local comment-end "")
(setq-local indent-tabs-mode nil)
(setq-local indent-line-function 'mybuild-mode-indent-line)
(setq-local font-lock-defaults '(mybuild-highlights)))
Короткий туториал о том, как создать зашифрованный /home
в уже установленном Linux, если вы не сделали это во время установки. Здесь будут описаны необходимые действия в среде Ubuntu Desktop, но большинство информации должно быть актуально и в других вариантах Linux. Мы будем использовать тот де метод, что и установщик системы: связку Device Mapper и LUKS.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: автор этого туториала не даёт гарантии, что повторение описанных в нём действий, не причинит вреда. Используйте его на свой страх и риск!
Добавил раздел “Курсы” для информирования о курсах, которые я провёл. Технически это было реализовано точно также как и для раздела “Проекты”.
Также добавил поддержку Jekyll Compose, в том числе и для проектов и курсов.
Полгода назад я вёл в Телеграме канал о языке Rust. Канал я закрыл, и сделал выжимку из материалов, опубликованных в нём. Здесь я расскажу о том, как настроить среду разработчика на 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);
}
}
Наверное все, кто изучал информатику и вычислительную технику в университете, так или иначе, в курсе функционального программирования, например, столкнулся с Scheme – языком функционального программирования, произошедшем от Lisp, и известным как язык со скобками, то есть где всё является так называемыми S-выражениями. Скорее всего это был MIT/GNU Scheme или Racket. Но на самом деле реализаций Scheme великое множество. В этой статье собраны в таблицы различные реализации Scheme, указаны поддерживаемые ими версии языка, является ли реализация компилятором или интерпретатором, и другая информация.
В недавно вышедшем Ubuntu Linux 22.04 LTS Ruby был обновлён с версии 2.7 на 3.0. Если вы обновили систему на новую версию без переустановки, то ожидаемо ранее установленные gem перестали работать. В этой статье будут описаны начальные шаги по реанимации после обновления Ruby.
Как-то заглянув на GitHub, обнаружил Koka – язык функционального программирования со статической типизацией. Koka разрабатывается с 2012 года Daan Leijen в Microsoft Research, USA. Его исходники выкладываются на GitHub под лицензией Apache 2.0. Как признаются его авторы, он ещё не готов для промышленного применения: у него нет библиотек, менеджера пакетов и полной поддержки в средах разработки. При этом сам язык достаточно стабилен, а компилятор полностью разработан. Отдельными моментами язык напоминает Rust, Haskell и Scala. Сам же по себе он интересен контролем побочных эффектов. Это его основная фишка. Приглашаю познакомиться с Koka и обсудить его свойства.
fun main(): console ()
println("Hello, World!")
Сначала пробежимся по свойствам языка, а затем рассмотрим один небольшой пример.