LINUX.ORG.RU

Go


204

9

Всего сообщений: 10

Пятница. Почти ночь. Улыбаемся и продолжаем работу работать

На всех парах Ergo Framework движется к релизу 3.0. На экране кипит работа над сетевым стеком. Планы были выпустить релиз в конце осени, но реальность их перекроила. Теперь ближе к весне только получится.

Из того что на экране. Набор инструментов все тот же – nvim, tmux, zsh, vifm, tig. Не так давно, правда, переехал с nixos на arch. Ну и конфигурацию neovim’a переделал – взял nvchad. То, что нужно.

Практически все из коробки, работа напильником сведена к минимуму. Доволен. Раньше юзал vim-go. Но это вещь в себе без оглядки на экосистему lsp в neovim. Сейчас и erlang, и golang, и пара других языков – без костылей, каждый со своим lsp. Ну не счастье ли? :)

PS тема в большинстве используется catppuccin (жаль, для vifm ее нет).

>>> Просмотр (3840x1600, 1119 Kb)

 , ,

ergo
()

Fedora с закосом под Ubuntu

Лет пять тому назад установил я, значит, себе Fedora + KDE на свой новый Thinkpad, да так и оставался. Система устраивала буквально всем. От апдейта до апдейта жила стабильно.

Однако по своей неаккуратности я повредил файловую систему на диске, без возможности её восстановить.

Ноутбук был срочно нужен для работы, поэтому я поставил оффтопик, да так и просидел на нем почти год. Работало, WSL вполне успешно заменял Linux. Но все равно не покидала меня тоска по нашему православному Linux’у…

Поэтому пару недель назад поставил я себе снова Fedora, только на этот раз с Gnome.

В принципе, Gnome меня всем устраивает. Ресурсов жрет не больше, чем KDE, а выглядит местами даже приятнее. Учитывая, что все окна я использую на фуллскрин, вообще космолет. Концепция организации рабочего пространства Gnome мне очень даже понятна.

На скрине вы можете видеть исходники рабочего проекта, для внутренних нужд на Go (а кто сейчас не пишет на Go?) и VueJS.

Дополнительные скрины:

  1. https://i.imgur.com/L1LJBCR.png - терминал с запущенным API на Go под lxc (весь софт для разработки завернул в LXC контейнер чтобы не засорять хостовую систему).

  2. https://i.imgur.com/xoutyYP.png - хром

З.Ы. оформление Gnome сделано с полным закосом под Ubuntu, уж слишком мне нравится их UI. Выглядит получше дефолтного гнома.

>>> Просмотр (1920x1080, 290 Kb)

 , , , ,

ttywizard
()

Arch (второй скриншот через 19 лет)

Ну что ж, прошло всего-то 19 лет с моего прошлого скриншота. Сейчас все дружелюбнее стали, или остались такими же?

Толком смысловой нагрузки скорее всего и нет в этом скриншоте, но так… вспомнить ЛОР (хотя все новости читаю через RSS в агрегаторе). Установил на рабочем компе (с виндой для Адоба) для восстановления навыков программирования с «нуля». И в игрушки поиграть, старые, незаметно :)

Подробности

P.S.: А, да, про шрифты я и забыл ;)
Везде установлены семейство Roboto и Roboto Mono.

>>> Просмотр (1920x1080, 234 Kb)

 , , , ,

ralex
()

Борьба с ботнетами на почтовиках

Решил тряхнуть стариной и разместить картиночку =). Процесс доработки (одной из частей) эдакого распределенного файрвола для почтовой системы. Справа в редакторе код, слева консоли на серверах где этот код запущен.

Железка ноут HP, Debian 11 и Cinnamon. Редактор самописанный на Tcl/Tk.

>>> Просмотр (2002x1079, 612 Kb)

 , , ,

svk28
()

мой походный Acer

Мой походный ноутбук Acer TravelMate P633-M с ОС Manjaro 21.1.0 Pahvo на борту, в качестве среды рабочего стола используется KDE Plasma 5.22.4

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

Чем я в основном пользуюсь:

  • Google chrome — для серфинга в интернете;
  • Работа с почтой ч использованием mozilla thunderbird;
  • Для веб-разработке использую связку sublime text и firefox;
  • Потихоньку изучаю Golang используя IDE liteIDE.
  • Для хранения паролей использую KeePassXC в связке с dropbox
  • Программирование на C/C++ с использованием IDE qtCreator

Минимальные характеристики ноутбука:

  • ПЦ :Intel core i3-3120М 2 ядра/4 потока чистотой 2.5Ghz(планирую заменить на i5);
  • ПАМЯТЬ: SO-DIMM DDR3 8Gb 1600Mhz;
  • ХРАНИЛИЩЕ: SSD 250Gb
  • ДИСПЛЕЙ: 13.3’ TN+ 1366x768 (Хочу заменить на IPS 1920x1080)

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

>>> Просмотр (1366x2304, 1559 Kb)

 acer travelmate p633-m, , , ,

enep
()

FyneDesk DE

Запустил тут в виртуалке новое DE под названием FyneDesk, которое написано на тулките fyne.

Там уже есть свои: эмулятор терминала, калькулятор, редактор изображений, дисплейный менеджер и прочее https://github.com/fyne-io

Как видно, все в зачаточном состоянии, но перспектива есть.
Ну и до кучи запущена OpenDiablo2 https://github.com/OpenDiablo2/OpenDiablo2

>>> Просмотр (1920x1080, 332 Kb)

 , fyne,

dadd
()

OpenSource

После переезда на 38" работать стало комфортней на порядок.

Когда-то не понимал всех радостей от vim, от связки с tmux, но после боли в запястьях прошел процесс переосмысления эргономики - теперь работаю на ergodox, в vim+tmux, попутно оценил все прелести vim-like хоткеев стараюсь использовать их везде. как результат:

  • в рабочем окружении добавился vifm (как же я раньше без него жил).
  • в firefox начал пользоваться trydactil (до него использовал vimium)
  • в zsh стал активнее использовать vim-mode
  • потихоньку начал использование tig (гитовый консольный клиент). не могу сказать, что активно, но иногда с ним интересней пробежаться по коммитам
  • изменил дефолтные хоткеи гнома управления окнами на win-[h,j,k,l], а также переключение между приложениями стало удобней с помощью win-[1,2,3…]

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

на экране, кроме браузера со спотифаем и всем привычным htop еще можно увидеть cava - просто нравятся прыгающие «столбики» частот под музыку.

в остальном: Gnome 3.38. Для него установил тему Materia. Шрифт Iosevka везде, не только в терминале.

OS: NixOS. посоветовал на нее посмотреть знакомый еще в прошлом году. проникся. непривычно с первого взгляда, но невероятно крутая по своей идеологии - воспроизводимость конфигурации. теперь установка на другой комп/ноут сводится лишь в git checkout конфигурации и одной командой воспроизводится абсолютно все окружение, автоматически, без лишних копипаст. Если кому будет интересно - https://github.com/halturin/nixos-config/.

На экране - кипит работа над новой фичей, чтобы выпуститься с ней в предстоящем релизе. Надеюсь в феврале. Что это и для чего? это фреймворк, на Golang. Он реализует все дизайн паттерны OTP Erlang , а также его сетевой стек, который дает сетевую прозрачность для общения между процессами с возможностью линковки (когда два процесса связываются и если один умирает, то второй автоматически умирает за ним), мониторинга (когда один процесс хочет получить уведомление, если другой процесс умер), супервизор (когда из процессов выстраивается дерево супервайзинга с разными стратегиями перезапуска). В общем, много чего крутого, что было упущено индустрией в пользу ущербному HTTP. Любопытствующим сюда - https://github.com/halturin/ergo

PS: (для тех, кто в теме) после релиза есть желание взяться за реализацию BEAM виртуальной машины. если есть предложения или желание обсудить https://github.com/halturin/ergo/discussions/28

>>> Просмотр (3840x1600, 1641 Kb)

 , , , ,

ergo
()

Когда хочется странного или goMusicTagFixer by Zhbert

Вот бывало у вас такое, что давно уже зудит где-то на краю сознания идея утилитки, но руки все не доходят? У меня вот да - где-то примерно с 2012 года.

Представляю вашему вниманию эталонное ненужно (как скорее всего скажут тут многие): goMusicTagFixer - консольная утилита для быстрой правки тэгов в mp3 файлах на название директории, в которой они лежат. И да, она написана на Go.

Как я к этому пришел? Все просто. Когда-то в далеком-далеком 2012 году, когда у меня на работе поя… Хотя стоп. Это было еще раньше, где-то в 2010, когда я купил себе iPod Classc на 160Гб и впервые в жизни вляпался в iTunes.

Как и у многих, у меня помимо «полных» дискографий исполнителей в коллекции музыки есть каталоги, куда навалено кучей всего подряд в одном примерно стиле, и назвается это все «Разное» или «В машину», или «Для тренировки».. Ну и так далее. Поскольку файлы там набраны из совершенно различных источников, в тэгах творится абы что, а если даже и не абы что, то они все разные в плане исполнителя и названия альбома. Впервые я в это вляпался, когда залил в тунца свою любимую в тот момент директорию с файлами и обнаружил, что вместо одной «папки» в библиотеке создалось 300 исполнителей с одном альбомом и одной песней в нем. При заливке этого всего в плеер получилась такая же вакханалия, что не придало совершенно никакого удобства пользованию им.

//Да да, есть всякие комбайны для правки тэгов, но у меня тогда возникла идея именно простой утилиты с одной кнопкой «сделать зашибись». И вот я наконец дошел до того, чтобы ее сделать.

Итак, в утилите есть всего пара команд.

  • scandir - рекурсивно сканирует каталог, откуда была запущена (да, достаточно просто прийти туда в терминале и запустить утилиту из любого места прямой ссылкой) и показывает результаты в виде «дерева». Эдакое «tree» из DOS, о котором я до сих пор вспоминаю с теплотой. Писал скорее ради фана, а не из-за необходимости.
Starting program at 22:26:38 05-10-2020
Please enter the command:
scandir
Starting the folder scan at 22:26:41 05-10-2020
Temp
├─ 02 - Театр одного актера.mp3
├─ 03 - Последняя искра.mp3
├─ 04 - Шкатулка.mp3
├─ 05 - В последний раз.mp3
├─ 1983 - Rebel Yell
│  ├─ 01 - Rebel Yell.mp3
│  ├─ 02 - Daytime Drama.mp3
│  ├─ 03 - Eyes Without A Face.mp3
│  ├─ 04 - Blue Highway.mp3
│  ├─ 05 - Flesh For Fantasy.mp3
│  ├─ 06 - Catch My Fall.mp3
│  ├─ 07 - Crank Call.mp3
│  ├─ 08 - (Do Not) Stand In The Shadows.mp3
│  ├─ 09 - The Dead Next Door.mp3
│  ├─ Covers
├─ 1987 - Hot Track
│  ├─ 01 - Love Hurts.mp3
│  ├─ 02 - Shanghai'd in Shanghai.mp3
│  ├─ 03 - Carry Out Feelings.mp3
│  ├─ 04 - Razamanaz.mp3
│  ├─ 05 - Hair of the Dog.mp3
│  ├─ 06 - I Want to (Do Everything for You).mp3
│  ├─ 07 - This Flight Tonight.mp3
│  ├─ 08 - Broken Down Angel.mp3
│  ├─ 09 - Born to Love.mp3
│  ├─ 10 - My White Bicycle.mp3
│  ├─ 11 - Go Down Fighting.mp3
│  ├─ 12 - Vancouver Shakedown.mp3
│  ├─ Covers
├─ Космические Рейнджеры - Longway.mp3
├─ Космические Рейнджеры - Пробуждение.mp3
├─ Космические Рейнджеры 1 - Бой.mp3
├─ Космические рейнджеры 1 - Космический ветер.mp3
─────────────────────────────────────────
Scanning complete at  22:31:30 05-10-2020
Founded  49  mp3 files in  5  folders.
  • deepscan - аналогичная первой, только дополнена для каждого mp3 файла информацией о его тэгах: исполнитель, альбом, название. Освновная задача - посмотреть, что там есть из коробки, а потом убедиться, что все сработало как надо. Выхлоп цветной, тэги визуально отличаются от дерева.
Please enter the command:
deepscan
Deep scan started at  22:29:25 05-10-2020
Temp
├─ 1983 - Rebel Yell
│  ├─ 01 - Rebel Yell.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   Rebel Yell 
│  ├─ 02 - Daytime Drama.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 03 - Eyes Without A Face.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 04 - Blue Highway.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 05 - Flesh For Fantasy.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 06 - Catch My Fall.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ 07 - Crank Call.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   Crank Call 
│  ├─ 08 - (Do Not) Stand In The Shadows.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:   (Do Not) Stand In The Shadows 
│  ├─ 09 - The Dead Next Door.mp3
│     Artist:   Rebel Yell 
│     Album:    Rebel Yell 
│     Title:    
│  ├─ Covers
─────────────────────────────────────────
Scanning complete at  22:31:49 05-10-2020
Founded  49  mp3 files in  5  folders.

  • mp3settags - основная та самая команда «сделать зашибись». Рекурсивно пробегает по всем mp3-файлам в каталоге и прописывает им в «Исполнитель» и «Альбом» название каталога, в котором они лежат. Она же, кстати, на скриншоте.
Please enter the command:
mp3settags
Changing of mp3 tags started at  22:30:37 05-10-2020
Temp
 02 - Театр одного актера.mp3  setting  Temp  album and artist name
 03 - Последняя искра.mp3  setting  Temp  album and artist name
 04 - Шкатулка.mp3  setting  Temp  album and artist name
 05 - В последний раз.mp3  setting  Temp  album and artist name
 Rebel Yell
 01 - Rebel Yell.mp3  setting   Rebel Yell  album and artist name
 02 - Daytime Drama.mp3  setting   Rebel Yell  album and artist name
 03 - Eyes Without A Face.mp3  setting   Rebel Yell  album and artist name
 04 - Blue Highway.mp3  setting   Rebel Yell  album and artist name
 05 - Flesh For Fantasy.mp3  setting   Rebel Yell  album and artist name
 06 - Catch My Fall.mp3  setting   Rebel Yell  album and artist name
 07 - Crank Call.mp3  setting   Rebel Yell  album and artist name
 08 - (Do Not) Stand In The Shadows.mp3  setting   Rebel Yell  album and artist name
 09 - The Dead Next Door.mp3  setting   Rebel Yell  album and artist name
Covers
 Hot Track
 01 - Love Hurts.mp3  setting   Hot Track  album and artist name
 02 - Shanghai'd in Shanghai.mp3  setting   Hot Track  album and artist name
 03 - Carry Out Feelings.mp3  setting   Hot Track  album and artist name
 04 - Razamanaz.mp3  setting   Hot Track  album and artist name
 05 - Hair of the Dog.mp3  setting   Hot Track  album and artist name
 06 - I Want to (Do Everything for You).mp3  setting   Hot Track  album and artist name
 07 - This Flight Tonight.mp3  setting   Hot Track  album and artist name
 08 - Broken Down Angel.mp3  setting   Hot Track  album and artist name
 09 - Born to Love.mp3  setting   Hot Track  album and artist name
 10 - My White Bicycle.mp3  setting   Hot Track  album and artist name
 11 - Go Down Fighting.mp3  setting   Hot Track  album and artist name
 12 - Vancouver Shakedown.mp3  setting   Hot Track  album and artist name
Covers
 Космические Рейнджеры - Longway.mp3  setting  Temp  album and artist name
 Космические Рейнджеры - Пробуждение.mp3  setting  Temp  album and artist name
 Космические Рейнджеры 1 - Бой.mp3  setting  Temp  album and artist name
 Космические рейнджеры 1 - Космический ветер.mp3  setting  Temp  album and artist name
Разное
 01 - 2000 - Frozen Features - The solitude.mp3  setting  Разное  album and artist name
 01 - Мир стекла.mp3  setting  Разное  album and artist name
 02 - 2000 - Frozen Features - The cry of silence.mp3  setting  Разное  album and artist name
 02 - Театр одного актера.mp3  setting  Разное  album and artist name
 03 - Последняя искра.mp3  setting  Разное  album and artist name
 04 - Шкатулка.mp3  setting  Разное  album and artist name
 05 - В последний раз.mp3  setting  Разное  album and artist name
 05 - О ней.mp3  setting  Разное  album and artist name
 07 - Ангел.mp3  setting  Разное  album and artist name
 08 - Гредят новый век.mp3  setting  Разное  album and artist name
 Григорий Семенов - Музыка людей (Космические рейнджеры).mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Longway.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Безграничный космос.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Гимн.mp3  setting  Разное  album and artist name
 Космические Рейнджеры - Пробуждение.mp3  setting  Разное  album and artist name
 Космические Рейнджеры 1 - Бой.mp3  setting  Разное  album and artist name
 Космические рейнджеры 1 - Космический ветер.mp3  setting  Разное  album and artist name
 Космические рейнджеры 1 - Полетная.mp3  setting  Разное  album and artist name
 Космические рейнджеры OST - Starflight(2).mp3  setting  Разное  album and artist name
 Спящий - Abyssphere.mp3  setting  Разное  album and artist name
─────────────────────────────────────────
Changing complete at  22:30:37 05-10-2020
Changed  49  mp3 files in  5  folders.
  • help - показывает окно справки.

О скриншоте: гента, кеды, дефолт, кроме значков - Memphis98, они идеальны.

>>> Сорцы

>>> Просмотр (1600x900, 947 Kb)

 , , ,

Zhbert
()

Wingo

В ходе своих экспериментов с Go наткнусля случайно на wingo. Показалось интересным и решил попробовать.

К тому же Xmonad мне немного поднадоел, хоть и обажаю его look-n-feel. Все другие тайловые WM, которые я пробовал, мне как-то абсолютно не нравятся. (У awesome привязка рабочих столов к физическому монитору, а i3 я тоже не осилил с его «ручным» тайлингом, табами и т.д.)

Приятные фичи:

  • virtual desktops, как в xmonad т.е. не привязанные к физическому дисплею, как в дурацком awesome
  • динамические рабочии столы, добаляешь / убираешь на ходу
  • читабельный и писабельный конфиг (камень в огород xmonad) =)
  • может как tiling, так и floating и для каждого workspace отдельно
  • довольно удобная переключалка по окнам и рабочим столам с поиском
  • хорошая документация
  • скриптуется, если очень надо =) (не стороник этого)

Недостатки:

  • ещё конечно немного сыроват, но использовать уже можно (день второй, полёт нормальный, немогу нарадоваться)
  • по умолчанию винегрет из хоткеев, напётрых из разных WM (в основном из xmonad), пришлось немного посидеть, чтобы настроить под себя
  • с запуском из xdm пришлось чуть-чуть повозиться (пути и всё такое)

PS: скрин пришлось ужать, чтобы влез в ограничение в 3k пикселей :( → оригинал

PPS: ах да, на экране work-in-progress моей недавней поделки. :)

>>> Просмотр (3000x938, 489 Kb)

 ,

beastie
()

Substance from 9 space

Решил вдруг для себя написать 9P-сервер, предоставляющий фаловый интерфейс к MongoDB, чтоб из Acme можно было удобно работать с базой.

На скриншоте FreeBSD10 с PekWM и Tint2 и собственно взаимодействие с этим сервером через командный интерфейс Plan9Port. Пока не разобрался, как примонтировать это дело в файловую иерархию бзди (точнее примеров-то с mount'ом куча в сети, но как-то оно у меня не хочет нормально работать), а Inferno не собирается =/.

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

P.S. Сервер пишу на Go конечно же. =)

P.P.S. А вот как оно работает собственно в Acme со «встроенным» 9P (в данном случае использовался Acme SAC): http://www.youtube.com/watch?v=_1T78ycekrg

P.P.P.S. Немного gtk http://itmages.ru/image/view/1456173/36da2766

>>> Просмотр (1024x600, 31 Kb)

 , , ,

korvin_
()