Обновить
4

Пользователь

1
Подписчики
Отправить сообщение

Хотя бы один раз обновиться и базовые функции гриля или печи (жарить, запекать) будут работать.

Звучит очень грустно, что они не работали до обновления. Очень грустно осознавать, что достаточное количество людей готово такое покупать.

CUDA? Легко!

Код :)
#include <stdio.h>

__global__ void helloKernel( void )
{
  printf("Hello World!\n");
}

int main( void )
{
  helloKernel<<<1>>>();

  return 0;
}

Всего

Собираем в Developer PowerShell for VS и запускаем:

Вуаля. Итоговый исполняемый файл - всего 169 КБ.

They're the same picture
gambling vs vibecoding
gambling vs vibecoding

Не идеальное сравнение, но вещи реально удивительно схожие.

Распаковка при этом требовала в 10 раз меньше памяти, чем при упаковке этого архива.

Кажется, это совершенно нормально для сжатия в целом - требовать больше ресурсов на сжатие чем на восстановление.

Конкретно LZMA(2) использует дополнительную память как минимум на вспомогательные структуры данных для поиска совпадений (замены повторяющихся данных на ссылки) - бинарное дерево или цепочку хэшей. На 9 уровне (словарь 256 МБ) GUI обещает использовать до 2.7 ГБ.

При восстановлении данных такие структуры не требуется - это же просто ссылка в суффикс записываемого файла, а его размер - это как раз размер словаря, GUI обещает максимум ровно в размер словаря + 2 МБ памяти.

То есть, по сути, это выбор размера словаря именно для "потребителя" архива, а создатель пусть позаботится о своей оперативке сам :)

Лично мне очень нравится встроенный argparse, единственная проблема которого, имхо, отсутствие аннотации типов, но возможностей более чем достаточно для любого простого скрипта, выполняющего одну конкретную задачу.

Сдаться и принять блокировки на уровне дизайна сети - это мечта? Жить в тоталитарном мире, где тебе тупо по факту места рождения что-то нельзя? Где люди, которых ты в живую ни разу не видел, имеет возможность решать что можно и нельзя видеть самостоятельным совершеннолетним людям?! Практика так то наглядно демонстрирует невозможность (или, в крайнем случае, фундаментально низкую эффективность) защиты от мошенников и иных опасностей путём блокировки средств связи, какие ещё причины могут быть оправданны?

В идеале нужна полностью анонимная и существенно децентрализованная сеть подобная Tor, где чисто технически невозможно начать блокировать "точечно", по стандартной методике постепенного продвижения всё более существенных запретов без особого сопротивления. Ну и, кончено же, в целом нет возможности как либо анализировать трафик. Вот только эту архитектуру надо было возводить ещё в эпоху свободного интернета, когда никто в здравом уме и подумать не мог о творящемся сейчас беспределе, чтобы она как IPv4 оказалось недвижимым стандартом, а сейчас на такое ни бюджетов нет, ни крупных организаций, желающих это продвигать, и вообще за такие попытки в террористы/экстремисты/иноагенты запишут.

Я уверен, что если бы власти сразу обратили внимание на сетевые технологии, никакого HTTPS и в помине бы не было, MITM с возможностью просматривать 102% трафика был бы основой сетевой инфраструктуры. В целом новые протоколы усиливают защиту от третьих лиц, вот только их внедрение затрудняется уже слишком быстро, чтобы можно было реализовать что-то серьёзное…

НЕ ТИПИЗИРОВАННЫЙ и С НЕЯВНЫМИ ПРИВЕДЕНИЯМИ язык?

Python — это язык со «строгой (сильной) динамической типизацией». Это типизированный язык и в нём нет неявных приведений. Если второй пункт, понимаю, мог был спутан с JavaScript (печально известным своими {} + []), то вот за отсутствием типизации как таковой следует идти в какое-нибудь лямбда-исчисление. В качестве хорошего сравнения можно привести C/C++, где два основных критерия системы типов инвертированы — у них «слабая статическая типизация», что как раз таки позволяет совершать жуткие неявные приведения.

нестрогость языка, которая даёт всё понимать интуитивно в самом начале

Решается поддерживаемой «из коробки» аннотацией типов и использованием нормальной IDE, которая будет показывать все соответствующие ошибки, а напрочь устраняется — линтером и тайп-чекером в CI. И да, благодаря аннотациям хорошо обученная нейросеть сумеет выразить всю суть почти без потерь, упуская лишь всякую оптимизационную магию на низком уровне.

Я не говорю, что надо всё писать на Python, нет, много где он будет плохим выбором, но именно выделенных здесь проблем у него явно нет.

Имхо, сформулировано странно. Значения по умолчанию хранятся прямо внутри объекта функции:

def f(a=[1, 2, 3], b=(4, 5, 6), *, c=set((7, 8, 9))):
    pass

print(f.__defaults__)   # ([1, 2, 3], (4, 5, 6))
print(f.__kwdefaults__) # {'c': {8, 9, 7}}

И эти же значения можно изменять даже без вызова функции, а пошаманив с __code__ так и вовсе добавлять/удалять сам факт наличия значений по умолчанию:

def f(a=[1, 2, 3]):
    print(a)

f() # [1, 2, 3]
f.__defaults__ = ([4, 5, 6],)
f() # [4, 5, 6]

При передаче же аргументов ничего не "создаётся" ­– уже существующие сущности просто добавляются в словарь локальных переменных:

def f(a=[1, 2, 3], b=(4, 5, 6), *, c=set((7, 8, 9))):
    print(locals())

f()            # {'a': [1, 2, 3], 'b': (4, 5, 6), 'c': {8, 9, 7}}
f([], c=set()) # {'a': [], 'b': (4, 5, 6), 'c': set()}

И, соответственно, если аргумент был передан явно, то его значение по умолчанию внутрь не попадёт:

a_ = [1, 2, 3]
def f(a=[1, 2, 3], b=(4, 5, 6), *, c=set((7, 8, 9))):
    print(a is a_)

f()   # False
f(a_) # True

Это полезное наблюдение, вот только основная заслуга в нём не WhatsApp'а и не Paint.NET'а, а самого Excel'я и структуры буфера обмена в Windows, в который при копировании данных помещается не какое-то одно конкретное их представление, а одновременно множество поддерживаемых форматов.

Копирование текста из редактора комментария в Chrome.
Копирование текста из редактора комментария в Chrome.

Excel добавляет в буфер обмена 20 разных форматов, среди которых также присутствует CF_BITMAP содержащий, собственно, рендер скопированного контента. Именно поэтому, например, любой графический редактор, корректно реализующий копирование/вставку, будет вести себя аналогично. Telegram также предпочитает изображение, но при закрытии окна со вставленной картинкой ещё и предложит текстовое представление.

Копирование таблички 3х2 из Excel 2024.
Копирование таблички 3х2 из Excel 2024.

К слову, около 100 строк на C++ занимает программа, отображающая актуальное изображение из буфера обмена, настолько это просто реализуется.

Полагаю, это сделано для ещё меньшего размера, ведь A вариант принимает кодировку Ansi, которая позволяет уместить строку "edit" в тот самый один long, а вот utf-16, принимаемая W вариантом, с учётом завершающего нуля потребует уже больше места, что выльется в лишние инструкции и константы, увеличив размер программы.

Информация

В рейтинге
5 316-й
Зарегистрирован
Активность