Pull to refresh

Development

Show first
Rating limit

Вышел Python 3.13. Что в этом для не знакомых с Python?

Куй железо не отходя от кассы

Иными словами, Вы тут же захотите его попробовать - самое время, это стало (много) приятнее чем когда-либо.

Что делать и кто виноват

Виноват, очевидно, Гугол - запоздал с увольнениями в команде Python. А делать придётся компиляцию из сорцов - даже в AUR сейчас RC1. Как - на примере Arch в форме EndeavourOS.

Python часть системы, но он 12, поэтому 13 нужно держать отдельно. Скачав с python.org и распаковав

./configure --enable-optimizations --with-lto --enable-experimental-jit=yes --prefix=/home/andy/.python
make

Конечно, чего-то да не хватит, но об этом будет чётко сказано, поэтому и например

yay clang
yay llvm
make

Будет чётко сказано чего не получилось, за 12 такого не помню, у меня - без tkinter. Ну и ладненько. Поскольку make test придумали трусы,

make install
~/.python/bin/python3 -m venv Python13Env
cd Python13Env
python

И наслаждаемся новыми фишками - редактируем процедуры и выходим легко, как по мне - самое очевидное. И да, на первом же (дурацком) тесте - на 10% быстрее.

Tags:
Total votes 3: ↑2 and ↓1+3
Comments0

Artery AT32F407 и scanf()

Речь пойдет об отладке AT-START-F407 V1.3. В составе платы находится программатор/отладчик AT-Link-EZ V1.2, который подключается по USB к ПК, где он виден как COM порт.

Его же можно использовать для целей отладки, а именно выводить информацию на ПК с помощью printf(). На эту тему а Artery есть AN0015_Printf_Debug_Demo, описанные там переопределения уже содержатся в файле at32f403a_407_board.c:

FILE __stdout;

#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

PUTCHAR_PROTOTYPE
{
  while(usart_flag_get(PRINT_UART, USART_TDBE_FLAG) == RESET);
  usart_data_transmit(PRINT_UART, (uint16_t)ch);
  while(usart_flag_get(PRINT_UART, USART_TDC_FLAG) == RESET);
  return ch;
}

Все что нужно сделать, это добавить в код функцию инициализации uart_print_init(115200), где 115200 скорость COM порта.

Аналогичным образом можно с консоли передавать данные в МК с помощью функции scanf(). (На эту тему я не нашел AN). Добавим в файл at32f403a_407_board.c:

FILE __stdin;

#define GETCHAR_PROTOTYPE int fgetc(FILE * f)

GETCHAR_PROTOTYPE
{
  uint8_t cha = 0;
  usart_flag_clear(PRINT_UART, USART_ROERR_FLAG);  // Clear Overrun flag
  while(usart_flag_get(PRINT_UART, USART_RDBF_FLAG) == RESET);	
  cha = usart_data_receive(PRINT_UART);  
  usart_data_transmit(PRINT_UART, (uint16_t)cha); // Echo 
  return cha;
}

Все работает? Нет. Надо еще вызвать функцию

usart_receiver_enable(PRINT_UART, TRUE);

scanf("%d", &k);
k = 2*k;
printf(" \n\r You entered = %d", k);

И, теперь все работает.

Tags:
Total votes 1: ↑1 and ↓0+2
Comments0

Написал ебилд (это инсталлятор для Gentoo Linux) игры Gigalomania - клон известной Mega-Lo-Mania. Люблю эту игру, но печально видеть что оригинал выглядит значительно лучше. Пишу сюда чтобы сказать вам - вдруг вы или знакомый хотите потренироваться в создании визуального дизайна игр, улучшить портфолио на этом некоммерческом проекте - автор на странице игры написал что ждет вас:

Help wanted!

...

Graphics artists - Whilst most of the "placeholder" graphics have now been removed, there's still plenty of room for improvement, so please let me know.

Игра относительно простая, текстур там относительно немного. Механика классная.

а выглядит плохо
а выглядит плохо

Может знаете еще в какое комьюнити можно написать?

Сайт игры: https://gigalomania.sourceforge.net/

Спасибо.

Tags:
Total votes 1: ↑1 and ↓0+3
Comments0
Tags:
Total votes 8: ↑7 and ↓1+6
Comments0

Простое крепление проводов в контроллерах idiBus. Без кабельных каналов. Дешево и сердито.

Вдоль торца платы ряд отверстий
Вдоль торца платы ряд отверстий

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

Или есть специальные хомуты, которые вставляются в эти отверстия.

Принимаются предложения и идеи по всяким полезным видам крепления проводов.

Tags:
Total votes 2: ↑2 and ↓0+2
Comments3

Каково ваше мнение о https://proofcheck.org? Это cmd-инструмент, который позволяет проверять TEX-овые доказательства на математическую (!) корректность. Но на русском статей о нём нет, хотя он прост в использовании и по своему принципу функционирования. Прилагаю также proof-of-concept от авторов: https://tug.org/TUGboat/tb30-2/tb95neveln.pdf

Суть в том, что до этого существовало много proof assistant-ов, но эти предложили принципиально новый стандарт парсинга логики, который уложился в скрипт на питоне. В отличие от семейства HOL, основные идеи которого восходят аж к 1970-м. Я считаю, что нужно популяризировать ProofCheck и в рунете.




Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Американские сенаторы представили проект Закона о защите конфиденциальности путешественников, который запретит использование технологий распознавания лиц на транспортных узлах. Если его примут, то у сотрудников транспортной безопасности будет 90 дней на то, чтобы прекратить использование технологии и удалить все биометрические данные.

Биометрию ранее начали тестировать в 30 аэропортах США, а планировали расширить проект до 430 авиаузлов.

Система Credential Authentication Technology 2 (CAT-2) разработана французской Idemia. «Биометрический хаб» Интерпола объединяет существующие базы данных преступников с другими технологиями Idemia. Система путём сканирования лиц и документов выявляет поддельные удостоверения личности.

Противники системы раскритиковали её за расовую предвзятость.

Профессор информатики Университета Иллинойса Шелдон Джейкобсон же отметил, что «распознавание лиц не имеет ничего общего с вмешательством правительства в личную жизнь людей».

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

How to Use Throw and Throws in Java

Exception handling in Java is the most effective way to handle runtime errors occurring in the application. This is used to protect the abnormal flow of the execution of the application and continue the application in normal flow. This is the process of handling runtime errors such as ClassNotFoundException, IOException, etc. The throw and throws keywords are used to handle exceptions in Java.In this topic, we will learn how to use throw and throws keywords in Java with examples.

Tags:
Rating0
Comments0
2