Столкнулся с занятной проблемой во FreedomBox — не хочет он обновлять DynDNS IP моего провайдера: https://discuss.freedombox.org/t/dyndns-does-not-work-server-returns-badauth/1638
FreedomBox Forum
DynDNS: Does not work, server returns "badauth"
My DynDNS setup does not work with FreedomBox. DynDNS server that I use returns badauth every time FreedomBox tries to update my IP. Problem Description My DynDNS provider is nic.ru Here is the official DynDNS configuration manual from nic.ru (in Russian):…
По мотивам https://t.iss.one/NeuralShit/2821
Сгенерировал в колабе несколько картинок по запросу "Cyberomnichord", с разными значениями параметра
Что такое "Omnichord"?
Сгенерировал в колабе несколько картинок по запросу "Cyberomnichord", с разными значениями параметра
seed.Что такое "Omnichord"?
This media is not supported in your browser
VIEW IN TELEGRAM
Завёл в колледже старый RepRap с OctoPrint. RepRap Prusa Mendel был первым 3D-принтером, который здесь появился — он был заказан из Китая в виде набора запчастей и коллективно собран сотрудниками НРТК. Это было примерно 7 лет назад.
Принтер исправно работал, мы его возили на разные мероприятия, обучали работать на нём студентов. Тем не менее, напечатанные детали для принтера, которые пришли к нему в комплекте из Китая, были плохого качества, мы постепенно их перепечатывали и ставили новые на замену.
Потом решено было его улучшить — привлекли студентов, поднатаревших в 3D-моделировании, вместе добавили дополнительное ребро жёсткости, экспериментировали с деталями.
К сожалению, из-за ряда факторов (в том числе, пандемии) пересборка принтера затянулась. Поскольку я уже имел некоторый опыт в работе с 3D-принтерами (в том числе, со сборкой), то в этом году решил довести эту задачу до конца самостоятельно. Смоделировал корпус для электроники, дабы закрепить её на корпусе принтера — через несколько неудачных дизайнов понял, как надо делать корпус, выложил получившуюся модель на Thingiverse.
Установил на принтер электронику, вместе с коллегами выяснили, как лучше крепить получившийся корпус (дополнительный крепёж скоро также опубликую.) Сейчас занимаюсь калибровкой принтера и настройкой ПО. Для подготовки заданий использую PrusaSlicer (бывший Slic3r Prusa Edition.) Задания запускаю через OctoPrint, работающий на Raspberry Pi 2 Model B.
Можно сказать, что принтер, после доработки и настройки, снова готов печатать. Хоть он и не может на данный момент посоревноваться в качестве печати с Picaso 3D Designer (который также есть в колледже), плюс RepRap в том, что он открыт, все програмы доступны подо все платформы, он легко обслуживается, более неприхотлив (думаю попробовать печатать на нём PETG, которым Picaso постоянно давится), и нагляден — все внутренности доступны для изучения, что очень важно в контексте обучения.
Принтер исправно работал, мы его возили на разные мероприятия, обучали работать на нём студентов. Тем не менее, напечатанные детали для принтера, которые пришли к нему в комплекте из Китая, были плохого качества, мы постепенно их перепечатывали и ставили новые на замену.
Потом решено было его улучшить — привлекли студентов, поднатаревших в 3D-моделировании, вместе добавили дополнительное ребро жёсткости, экспериментировали с деталями.
К сожалению, из-за ряда факторов (в том числе, пандемии) пересборка принтера затянулась. Поскольку я уже имел некоторый опыт в работе с 3D-принтерами (в том числе, со сборкой), то в этом году решил довести эту задачу до конца самостоятельно. Смоделировал корпус для электроники, дабы закрепить её на корпусе принтера — через несколько неудачных дизайнов понял, как надо делать корпус, выложил получившуюся модель на Thingiverse.
Установил на принтер электронику, вместе с коллегами выяснили, как лучше крепить получившийся корпус (дополнительный крепёж скоро также опубликую.) Сейчас занимаюсь калибровкой принтера и настройкой ПО. Для подготовки заданий использую PrusaSlicer (бывший Slic3r Prusa Edition.) Задания запускаю через OctoPrint, работающий на Raspberry Pi 2 Model B.
Можно сказать, что принтер, после доработки и настройки, снова готов печатать. Хоть он и не может на данный момент посоревноваться в качестве печати с Picaso 3D Designer (который также есть в колледже), плюс RepRap в том, что он открыт, все програмы доступны подо все платформы, он легко обслуживается, более неприхотлив (думаю попробовать печатать на нём PETG, которым Picaso постоянно давится), и нагляден — все внутренности доступны для изучения, что очень важно в контексте обучения.
Telegram
memory heap
Нарисовал во FreeCAD корпус для управляющей платы 3D-принтера Melzi 1.0 (Ardentissimo) со слотами под охлаждающие вентиляторы поскольку не смог найти ничего подходящего для моей задачи.
Дизайн выложил на Thingiverse под CC-BY-SA: https://www.thingiverse…
Дизайн выложил на Thingiverse под CC-BY-SA: https://www.thingiverse…
Ууъ! Понял, как программно во FreeCAD программно (через Python) удалить избыточные ограничения (constraints) — у объекта Sketch есть метод
В итоге, программно удаление избыточных ограничений можно сделать так:
autoRemoveRedundants — если его вызвать, он делает как раз то, что нужно.В итоге, программно удаление избыточных ограничений можно сделать так:
Gui.runCommand('Sketcher_SelectRedundantConstraints', 0)
for sketch in Gui.Selection.getSelection():
sketch.autoRemoveRedundants()Под Android обновился K-9 Mail в F-Droid — интерфейс выглядит теперь более аккуратно.
K-9 Mail (Full-featured email client) - https://f-droid.org/packages/com.fsck.k9
K-9 Mail (Full-featured email client) - https://f-droid.org/packages/com.fsck.k9
f-droid.org
K-9 Mail | F-Droid - Free and Open Source Android App Repository
Full-featured email client
https://www.youtube.com/watch?v=t705r8ICkRw
Примерно на 13:30 Илон Маск объясняет процесс из пяти шагов, которого он старается придерживаться в своих проектах:
1. Make your requirements less dumb — делайте ваши требования менее тупыми.
2. Try very hard to delete parts of the process — старайтесь изо всех сил удалить части процесса.
3. Simplify or optimize — упрощайте или оптимизируйте.
4. Accelerate — ускоряйтесь.
5. Automate — автоматизируйте.
Примерно на 13:30 Илон Маск объясняет процесс из пяти шагов, которого он старается придерживаться в своих проектах:
1. Make your requirements less dumb — делайте ваши требования менее тупыми.
2. Try very hard to delete parts of the process — старайтесь изо всех сил удалить части процесса.
3. Simplify or optimize — упрощайте или оптимизируйте.
4. Accelerate — ускоряйтесь.
5. Automate — автоматизируйте.
YouTube
Starbase Tour with Elon Musk [PART 1 // Summer 2021]
Join me as I take a tour of SpaceX's Starbase facility with Elon Musk as our tour guide! This is part 1 of 3, so stay tuned, there's a lot more coming!
If you need some notes on this video with key points, check out our article - https://everydayastronaut.com/starbase…
If you need some notes on this video with key points, check out our article - https://everydayastronaut.com/starbase…
Новое применение для Guile-SMC:
$ cat ~/Pictures/image.png | ./test.scm
<15>Aug 7 16:35:32 guile-smc: [read_header] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_ihdr_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_ihdr_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_iccp_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_iccp_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_phys_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_phys_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_time_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_time_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_text_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_text_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_idat_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_idat_chunk] -> [read_chunk]
<15>Aug 7 16:35:32 guile-smc: [read_chunk] -> [handle_iend_chunk]
<15>Aug 7 16:35:32 guile-smc: [handle_iend_chunk] -> [*]
PNG chunks:
#<png-chunk #(73 72 68 82) IHDR: Image header 5625db224750>
#<png-chunk #(105 67 67 80) iCCP: Embedded ICC profile 5625db260cc0>
#<png-chunk #(112 72 89 115) pHYs: Physical pixel dimensions 5625db260240>
#<png-chunk #(116 73 77 69) tIME: Image last-modification time 5625db2767b0>
#<png-chunk #(116 69 88 116) tEXT: Textual data 5625db286d20>
#<png-chunk #(73 68 65 84) IDAT: Image data 5625db2862a0>
#<png-chunk #(73 69 78 68) IEND: Image trailer 5625db2e8810>
С помощью генератора машин состояний Guile-SMC сделал разбор формата Portable Network Graphics (PNG): https://github.com/artyom-poptsov/guile-png
Guile-PNG позволяет читать изображения в формате PNG и разбирать их на части (чанки, "chunks"). Для некоторых чанков я уже написал разбор на осмысленные поля, остальные содержат в себе просто двоичные данные — которые тем не менее можно разобрать на что-то вменяемое, если посмотреть в стандарт PNG.
Интересно было попробовать, насколько хорошо Guile-SMC подходит для решения подобных сложных задач с разбором двоичного формата. Пришлось дорабатывать Guile-SMC по ходу дела.
Из основных новшеств Guile-SMC:
- Добавил возможность задавать входные и выходные действия для каждого состояния.
- Добавил возможность задавать источники событий как для ДКА в целом, так и для каждого отдельного состояния.
На данный момент архитектура системы получилось достаточно гибкая. Можно разбить большой ДКА на несколько более простых, построенных иерархическим способом — подобные ДКА называются по понятным причинам иерархическими (Hierarchical State Machines, HSM). HSM позволяет разбить крупную задачу на несколько более мелких, таким образом, снизив сложность решения в целом, что очень важно для практического применения автоматного программирования.
Конечной целью Guile-SMC я вижу упрощение написания различных парсеров и в целом программ, придерживающихся автоматного стиля. При этом, смысл не только в кодогенерации на основе формального описания, но и формальная проверка получившихся ДКА, а также (возможно) оптимизация — но это уже более сложная задача. На данный момент Guile-SMC например способен проверять ДКА на тупиковые и недостижимые состояния.
В целом, очень интересная фундаментальная задача.
#projects #guile #fsm
Guile-PNG позволяет читать изображения в формате PNG и разбирать их на части (чанки, "chunks"). Для некоторых чанков я уже написал разбор на осмысленные поля, остальные содержат в себе просто двоичные данные — которые тем не менее можно разобрать на что-то вменяемое, если посмотреть в стандарт PNG.
Интересно было попробовать, насколько хорошо Guile-SMC подходит для решения подобных сложных задач с разбором двоичного формата. Пришлось дорабатывать Guile-SMC по ходу дела.
Из основных новшеств Guile-SMC:
- Добавил возможность задавать входные и выходные действия для каждого состояния.
- Добавил возможность задавать источники событий как для ДКА в целом, так и для каждого отдельного состояния.
На данный момент архитектура системы получилось достаточно гибкая. Можно разбить большой ДКА на несколько более простых, построенных иерархическим способом — подобные ДКА называются по понятным причинам иерархическими (Hierarchical State Machines, HSM). HSM позволяет разбить крупную задачу на несколько более мелких, таким образом, снизив сложность решения в целом, что очень важно для практического применения автоматного программирования.
Конечной целью Guile-SMC я вижу упрощение написания различных парсеров и в целом программ, придерживающихся автоматного стиля. При этом, смысл не только в кодогенерации на основе формального описания, но и формальная проверка получившихся ДКА, а также (возможно) оптимизация — но это уже более сложная задача. На данный момент Guile-SMC например способен проверять ДКА на тупиковые и недостижимые состояния.
В целом, очень интересная фундаментальная задача.
#projects #guile #fsm
GitHub
GitHub - artyom-poptsov/guile-smc: GNU Guile State Machine Compiler
GNU Guile State Machine Compiler. Contribute to artyom-poptsov/guile-smc development by creating an account on GitHub.
Forwarded from ЗаТелеком 🌐
Не за телеком. Но важно.
Я ж сейчас спортсмен знатный. Бросил курить, не употребляю алкоголь и регулярно тренируюсь (да, я могу, например, пробежать 15 км за 100 минут - результат не олимпийский вообще, но год назад я так не мог и близко). Так вот, вчера вечером вышел на тренировку. И весь забег меня преследовал запах гари.
Сегодня написал товарищу из метеоцентра и спросил, что там у нас горит. И знаете, что он ответил? Он ответил: ЯКУТИЯ.
И теперь возьмите карту и измерьте расстояние от Якутии до Екатеринбурга. 3800 км. И гарью воняет даже у нас. Представьте теперь, какой там адъ творится. Это же, простите мой французский, ёбаный пиздец творится.
Товарищ потом ещё добавил про то, что будет хуже. Причем, так буднично объяснил про тренды и глобальное потепление климата.
В общем, я хочу вам сказать, что это всё не шуточки и ни разу не смешно. И на отрицающих факт глобального потепления (помните все эти обезьянние ужимки про Гретту Тумберг?) теперь смотрю несколько более агрессивно. Это вообще не хиханьки и никакие не заговоры. Все очень серьезно.
Подумайте над этим (писал мне лс не нужно).
Я ж сейчас спортсмен знатный. Бросил курить, не употребляю алкоголь и регулярно тренируюсь (да, я могу, например, пробежать 15 км за 100 минут - результат не олимпийский вообще, но год назад я так не мог и близко). Так вот, вчера вечером вышел на тренировку. И весь забег меня преследовал запах гари.
Сегодня написал товарищу из метеоцентра и спросил, что там у нас горит. И знаете, что он ответил? Он ответил: ЯКУТИЯ.
И теперь возьмите карту и измерьте расстояние от Якутии до Екатеринбурга. 3800 км. И гарью воняет даже у нас. Представьте теперь, какой там адъ творится. Это же, простите мой французский, ёбаный пиздец творится.
Товарищ потом ещё добавил про то, что будет хуже. Причем, так буднично объяснил про тренды и глобальное потепление климата.
В общем, я хочу вам сказать, что это всё не шуточки и ни разу не смешно. И на отрицающих факт глобального потепления (помните все эти обезьянние ужимки про Гретту Тумберг?) теперь смотрю несколько более агрессивно. Это вообще не хиханьки и никакие не заговоры. Все очень серьезно.
Подумайте над этим (писал мне лс не нужно).
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
This media is not supported in your browser
VIEW IN TELEGRAM
🛠 В Нижегородском хакерспейсе CADR начинаем проект под кодовым названием "REPLICADR" по сборке нового 3D-принтера.
💳 На сборку нам необходимо собрать 20'000р. Принимаем донаты -- можете переводить деньги на нашу карту Ю.Мани, либо мне (@a_v_p) лично (если у вас есть мои данные для перевода), с пометкой "На кадропринтер".
Также принимаем донаты в виде компонентов/материалов и приветствуем помощь в сборке.
ℹ️ На данный момент характеристики принтера определены следующие:
- Область печати (ШхВхГ): 500х500х500 мм.
- Качество печати будет сравнимо с коммерческими 3D-принтерами.
- Классическая Декартова кинематика, аналогичная RepRap, но с улучшениями (например, Z и Y будет управляться двумя двигателями, дабы избежать перекоса стола и осей.)
- Стол с подогревом.
- Каркас из алюминиевых профилей.
- Закрытый корпус из фанеры 9мм.
🏗 Таблица со списком компонентов и прикидками по их стоимости доступна по ссылке.
Собрано: 5000/20'000
💳 На сборку нам необходимо собрать 20'000р. Принимаем донаты -- можете переводить деньги на нашу карту Ю.Мани, либо мне (@a_v_p) лично (если у вас есть мои данные для перевода), с пометкой "На кадропринтер".
Также принимаем донаты в виде компонентов/материалов и приветствуем помощь в сборке.
ℹ️ На данный момент характеристики принтера определены следующие:
- Область печати (ШхВхГ): 500х500х500 мм.
- Качество печати будет сравнимо с коммерческими 3D-принтерами.
- Классическая Декартова кинематика, аналогичная RepRap, но с улучшениями (например, Z и Y будет управляться двумя двигателями, дабы избежать перекоса стола и осей.)
- Стол с подогревом.
- Каркас из алюминиевых профилей.
- Закрытый корпус из фанеры 9мм.
🏗 Таблица со списком компонентов и прикидками по их стоимости доступна по ссылке.
Собрано: 5000/20'000