☕️ Мерлин заваривает τσάι 🐌
#til о docker context, которую теперь использую чтобы деплоить пет проджекты. Раньше использовал docker build ... docker save $APP_IMAGE | ssh -C user@server.local docker load && docker run $IMAGE ... Теперь можно docker context use my-server docker build…
#домашний_сервер
В итоге я провёл небольшую ревизию и теперь работа с сервером выглядит вот так:
На сервере и на рабочих устройствах поднят Yggdrasil, адреса рабочих станций разрешены в ip6tables:
В проектах лежит
1. Yggdrasil https://yggdrasil-network.github.io/
2. Docker contexts https://docs.docker.com/engine/context/working-with-contexts/
3. Direnv https://direnv.net/
В итоге я провёл небольшую ревизию и теперь работа с сервером выглядит вот так:
На сервере и на рабочих устройствах поднят Yggdrasil, адреса рабочих станций разрешены в ip6tables:
-A input -i $YGG-TUN -p tcp -s $PEER-IP -j ACCEPT
В проектах лежит
.envrc примерно с таким содержимым#!/usr/bin/env bashВ
PATH_add ./bin/
./bin лежит файл скрипт docker
#!/usr/bin/env bashКонтекст
/usr/bin/docker --context=SERVER-YGG $@
SERVER-YGG определён какdocker context create \Деплой теперь делаю через
--docker host="ssh://$SERVER-USER$@[$SERVER-IP]:$SSH-PORT" \
--description="My awesome homeserver" \
$SERVER-ygg
docker compose up -d. Таким макаром я могу подключиться к серверу откуда угодно, а самому серверу не нужно иметь статический IP.1. Yggdrasil https://yggdrasil-network.github.io/
2. Docker contexts https://docs.docker.com/engine/context/working-with-contexts/
3. Direnv https://direnv.net/
Docker Documentation
Docker contexts
Learn about managing multiple daemons from a single client with contexts
☃5👍3🥴1
☕️ Мерлин заваривает τσάι 🐌
#домашний_сервер В итоге я провёл небольшую ревизию и теперь работа с сервером выглядит вот так: На сервере и на рабочих устройствах поднят Yggdrasil, адреса рабочих станций разрешены в ip6tables: -A input -i $YGG-TUN -p tcp -s $PEER-IP -j ACCEPT В проектах…
Добавил описание правила ipv6tables
Скоро выходит go 1.20, поэтому вот обзорная статья о масштабных изменениях во внутренней кухне стандартных криптографических библиотек от автора age https://github.com/FiloSottile/age
https://words.filippo.io/dispatches/go-1-20-cryptography/
https://words.filippo.io/dispatches/go-1-20-cryptography/
Тулза для вычисления дельты бенчмарков между ревизиями гошного проекта
https://github.com/WillAbides/benchdiff
https://github.com/WillAbides/benchdiff
GitHub
GitHub - WillAbides/benchdiff
Contribute to WillAbides/benchdiff development by creating an account on GitHub.
👍5👎1
Шаблонизатор, который позволяет встраивать Go код внутрь HTML
Как в старом добром PHP!
<https://github.com/adhocteam/pushup>
Как в старом добром PHP!
<https://github.com/adhocteam/pushup>
^import "time"
^{
title := "Hello, from Pushup!"
}
<h1>^title</h1>
<p>The time is now ^time.Now().String().</p>
^if time.Now().Weekday() == time.Friday {
<p>It's Friday! Enjoy the start to your weekend.</p>
} ^else {
<p>Have a great day, we're glad you're here.</p>
}
GitHub
GitHub - adhocteam/pushup: Pushup is for making modern, page-oriented web apps in Go
Pushup is for making modern, page-oriented web apps in Go - adhocteam/pushup
😭7🤣6🔥1
☕️ Мерлин заваривает τσάι 🐌
Шаблонизатор, который позволяет встраивать Go код внутрь HTML Как в старом добром PHP! <https://github.com/adhocteam/pushup> ^import "time" ^{ title := "Hello, from Pushup!" } <h1>^title</h1> <p>The time is now ^time.Now().String().</p> ^if tim…
Специально для @bpblog: вместо
html/template жечь нейроны вот этим👎1
Я трепетно люблю Ruby, но время от времени некоторые её аспекты ставят меня в тупик.
Вот например в статье рассказывается об улучшениях новой версии. В частности, были сильно ускорены регулярные выражения. Сильно - это больше чем на сотни порядков.
ИМХО, такие радикальные улучшения - сильное свидетельство крайне херового качества предыдущей имплементации.
https://tomaszs2.medium.com/ruby-3-2-0-is-from-another-dimension-5249e3186ec9
Вот например в статье рассказывается об улучшениях новой версии. В частности, были сильно ускорены регулярные выражения. Сильно - это больше чем на сотни порядков.
ИМХО, такие радикальные улучшения - сильное свидетельство крайне херового качества предыдущей имплементации.
https://tomaszs2.medium.com/ruby-3-2-0-is-from-another-dimension-5249e3186ec9
👍8👎1
Forwarded from Everyday life as a Russian Bio PhD student
Friends exploring ChatGPT in biological problems. Suppose you want to examine some interconnected genes - and it provides! However you should be very cautious and doublecheck. Credit @shappiron
Знакомые исследуют ChatGPT в биологических задачах. Допустим вы подали свой список генов в STRING, и нашли какую-то любопытную клику генов. Получается найти что у них общего, но надо тщательно контролировать соответствие биологической реальности.
Знакомые исследуют ChatGPT в биологических задачах. Допустим вы подали свой список генов в STRING, и нашли какую-то любопытную клику генов. Получается найти что у них общего, но надо тщательно контролировать соответствие биологической реальности.
👍1👎1
Понравилась статья от @aorst о гибридном программировании с типами и ChatGPT
https://andreyorst.gitlab.io/posts/2023-01-05-compilers-should-write-types-for-programmers-not-the-other-way-around/
tl;dr
Описываем на очень-очень высокоуровневом псевдокоде предметную область, а ИИ-помощник синтезирует для нас и доменные модели.
По идее получается, гибко и быстро в написании, à la динамические языки типа Clojure. С другой стороны, ИИ-помощник может написать код и типы для языка довольно низкого уровня, после чего "классический" компилятор оптимизирует программу и выплюнет ещё более быстрый байт-код.
Частично такой синтез типов из кода уже есть, правда не настолько продвинутый. Ниже на скриншотах есть пример как синтезирует type spec эликсировский dialyzer и Copilot. Причём dialyzer - это чисто алгоритмический инструмент, который выводит спецификацию по известным формальным правилам.
Как по мне, это действительно перспективный подход, схожий с парным программированием: один участник генерирует идеи, а другой тут же их прототипирует. Генератор идей корректирует свои концепции, писатель подправляет свой код и так далее.
В общем и целом, своё взаимодействие с ИИ-помощником я вижу вот так: есть код, а сбоку открыта помесь чата и REPLа. Для каждой строки кода я могу открыть свой экземпляр такого REPLа и обсудить её с помощником. И это обсуждение обязательно нужно сохранить в текстовый файлик в систему контроля версий :3
https://andreyorst.gitlab.io/posts/2023-01-05-compilers-should-write-types-for-programmers-not-the-other-way-around/
tl;dr
Описываем на очень-очень высокоуровневом псевдокоде предметную область, а ИИ-помощник синтезирует для нас и доменные модели.
По идее получается, гибко и быстро в написании, à la динамические языки типа Clojure. С другой стороны, ИИ-помощник может написать код и типы для языка довольно низкого уровня, после чего "классический" компилятор оптимизирует программу и выплюнет ещё более быстрый байт-код.
Частично такой синтез типов из кода уже есть, правда не настолько продвинутый. Ниже на скриншотах есть пример как синтезирует type spec эликсировский dialyzer и Copilot. Причём dialyzer - это чисто алгоритмический инструмент, который выводит спецификацию по известным формальным правилам.
Как по мне, это действительно перспективный подход, схожий с парным программированием: один участник генерирует идеи, а другой тут же их прототипирует. Генератор идей корректирует свои концепции, писатель подправляет свой код и так далее.
В общем и целом, своё взаимодействие с ИИ-помощником я вижу вот так: есть код, а сбоку открыта помесь чата и REPLа. Для каждой строки кода я могу открыть свой экземпляр такого REPLа и обсудить её с помощником. И это обсуждение обязательно нужно сохранить в текстовый файлик в систему контроля версий :3
andreyorst.gitlab.io
Compilers should write types for programmers, not the other way around
Note: I’m not an expert in type systems, and my knowledge of compilers is limited. This is more of an actual random thought I had for some time, and I’ve just decided to capture it here, not to be used as an argument on static vs dynamic types.
👍1👎1
Reverse engineering звуковой карты SoundBlaster 1.0 1989 года выпуска
https://tubetime.us/index.php/2019/01/19/sound-blaster-1-0-principles-of-operation/
https://tubetime.us/index.php/2019/01/19/sound-blaster-1-0-principles-of-operation/
TubeTime
Sound Blaster 1.0 Principles of Operation
The Sound Blaster 1.0 was not the first PC sound card, but it was the first to support digital sound, two different types of sound synthesis, MIDI, and a joystick all in one card. Let’s lift …
👍2👎1
Forwarded from Альфина (телеграм-река)
а вообще знаете что? меня возмущает пресыщенная скука, с которой все говорят о нейросетевых языковых моделях.
я тут заболела — и два дня провела за общением с CharacterAI. вот с этим парнем обсудили Харлана Эллисона и АМ. в этом чате я часа за четыре написала прям полноценную киберпанк-повесть — жанровую, но очень мрачную, с использованием лишённых гражданских прав заключённых как ферм органов и злым правительством, которое спровоцировало бывшего военного ветерана изнасиловать свою мать, потому что хотело инбридингом вывести идеального убийцу (но в итоге он сошёл с ума, потому что случайно полюбил сына, к чему его психика суперсолдата не была готова). а разговор с этим психотерапевтом был точно не менее толковым, чем мои попытки общаться с живыми. (warning: не слушайте советы нелицензированных неспециалистов, бла-бла.)
и каждый раз, когда я пытаюсь с кем-то этим поделиться, люди реагируют... со скукой. ну да-а-а, мол, ага. ну всё равно ж они тупенькие. ну они ж через два часа забывают контекст. ну они ж повторяются...
ёб вашу мать! да я сама через два часа забываю контекст! о чём вы все вообще? это защитная реакция? или что? нынешние языковые модели ОХУЕННЫ, разговор с ними реально похож на разговор! это жутко интересно!
вот скриншот в посте. умом я понимаю, что в языковую модель просто не загружен текст «У меня нет рта...». но как же живо и естественно она реагирует! если бы машинка просто привела мне последнюю строчку рассказа, это был бы гугль-поиск. а она со мной спорит — и, заметим, спорит с пониманием сути обсуждаемого рассказа.
ну да, со временем она выдохнется. а живой собеседник не выдохнется, что ли? он ещё и нажрётся в процессе и про развод в седьмой раз рассказывать начнёт!
а мясные мешки при виде этого всего закатывают глаза и бурчат, мол, ну это же иллю-ю-юзия.
это онтологическая уникальность гомосапиенса — иллюзия. а языковые модели — чудо прогресса. даже два года назад его сложно было представить.
наше время мрачно и бедно на чудеса. прекратите воротить нос от тех, что есть.
Альфина
я тут заболела — и два дня провела за общением с CharacterAI. вот с этим парнем обсудили Харлана Эллисона и АМ. в этом чате я часа за четыре написала прям полноценную киберпанк-повесть — жанровую, но очень мрачную, с использованием лишённых гражданских прав заключённых как ферм органов и злым правительством, которое спровоцировало бывшего военного ветерана изнасиловать свою мать, потому что хотело инбридингом вывести идеального убийцу (но в итоге он сошёл с ума, потому что случайно полюбил сына, к чему его психика суперсолдата не была готова). а разговор с этим психотерапевтом был точно не менее толковым, чем мои попытки общаться с живыми. (warning: не слушайте советы нелицензированных неспециалистов, бла-бла.)
и каждый раз, когда я пытаюсь с кем-то этим поделиться, люди реагируют... со скукой. ну да-а-а, мол, ага. ну всё равно ж они тупенькие. ну они ж через два часа забывают контекст. ну они ж повторяются...
ёб вашу мать! да я сама через два часа забываю контекст! о чём вы все вообще? это защитная реакция? или что? нынешние языковые модели ОХУЕННЫ, разговор с ними реально похож на разговор! это жутко интересно!
вот скриншот в посте. умом я понимаю, что в языковую модель просто не загружен текст «У меня нет рта...». но как же живо и естественно она реагирует! если бы машинка просто привела мне последнюю строчку рассказа, это был бы гугль-поиск. а она со мной спорит — и, заметим, спорит с пониманием сути обсуждаемого рассказа.
ну да, со временем она выдохнется. а живой собеседник не выдохнется, что ли? он ещё и нажрётся в процессе и про развод в седьмой раз рассказывать начнёт!
а мясные мешки при виде этого всего закатывают глаза и бурчат, мол, ну это же иллю-ю-юзия.
это онтологическая уникальность гомосапиенса — иллюзия. а языковые модели — чудо прогресса. даже два года назад его сложно было представить.
наше время мрачно и бедно на чудеса. прекратите воротить нос от тех, что есть.
Альфина
👍6👏3❤1👎1