Заменил аккумуляторы для ИБП

Аккумуляторы: Delta GEL 12-85.

Замерил сопротивление и напряжение у старых и новых аккумуляторов при помощи Yaorea 1035+.

Получились такие значения:

Аккумулятор Сопротивление Напряжение
Акк №1 (старый) 0,385Ω 13,523V
Акк №2 (старый) 11,12mΩ 13,402V
Акк №3 (новый) 04,46mΩ 13,181V
Акк №4 (новый) 04,54mΩ 12,998V

Скормил эти показания ИИшке, которая мне выдала такой вердикт:

🌟 Отличное состояние (Идеал)

Акк №3 (04,46 mΩ / 13,181 V) и Акк №4 (04,54 mΩ / 12,998 V) — В великолепном состоянии. Их сопротивление идеально соответствует заводским параметрам новой батареи (~4,5 мОм). Они полностью исправны, имеют минимальный износ и готовы к высоким нагрузкам. Напряжение в норме (№4 чуть сильнее разряжен, но полностью здоров). [2]

⚠️ Начальный износ (Рабочее состояние)

  • Акк №2 (11,12 mΩ / 13,402 V) — Имеет повышенное сопротивление. Оно выросло примерно в 2,5 раза по сравнению с идеалом. Батарея всё ещё рабочая и держит хорошее напряжение, но ее емкость уже снижена, и под высокой нагрузкой (например, в мощном ИБП) она будет просаживаться быстрее остальных. Для систем с небольшим потреблением она еще послужит.

❌ Труп / Сильный износ (В утиль)

Акк №1 (0,385 Ω / 13,523 V) — Этот аккумулятор полностью отслужил своё.
Переведем 0,385 Ом в миллиомы — это 385 мОм! Его внутреннее сопротивление превышает норму почти в 85 раз. Несмотря на то, что он заряжен (показывает «красивое» напряжение 13,5 В), под любой реальной нагрузкой это напряжение мгновенно упадет до нуля. В нем либо высох гель/электролит, либо произошло сильное сульфатирование пластин. Использовать его нельзя.

Выводы:

  1. Yaorea 1035+ хороший девайс для определения состояния батареи.
  2. ИИшка неплохо справилась с интерпретацией результатов замеров.

中文: Ключи китайских иероглифов

HSK1 | HSK2 | HSK3

一
[yī]
единица
丨
[gǔn]
вертикальная
丶
[zhǔ]
точка
丿
[piě]
откидная влево
乙乚乛⺄
[yǐ]
второй (цикличный знак)
亅
[jué]
вертикальная с крюком
二
[èr]
два
亠
[tóu]
горизонтальная с точкой
人亻
[rén]
человек
儿兒
[ér]
идущий человек
入
[rù]
входить
八丷
[bā]
восемь; делить
冂
[jiōng]
границы
冖
[mì]
крышка
冫
[bīng]
лёд
几
[jǐ]
столик; несколько
凵
[kǎn]
яма
刀刂
[dāo]
нож
力
[lì]
сила
勹
[bāo]
обёртывать
匕
[bǐ]
черпак; кинжал
匚
[fāng]
ящик; короб
匸
[xì]
прятать
十
[shí]
десять
卜⺊
[bǔ]
гадать
卩⺋
[jié]
печать; власть
厂
[hǎn]
обрыв; круча
厶
[sī]
частный, личный
又
[yòu]
правая рука; опять
口
[kǒu]
рот
囗
[wéi]
окружать; ограда
土
[tǔ]
земля
士
[shì]
воин
夂
[zhǐ]
шагать вперед; продвигаться
夊
[suī]
медленно идти; волочить ноги
夕
[xī]
вечер
大
[dà]
большой
女
[nǚ]
женщина
子
[zǐ]
ребёнок; сын
宀
[mián]
крыша с точкой; крыша
寸
[cùn]
вершок
小⺌⺍
[xiǎo]
маленький
尢尣
[wāng]
хромой
尸
[shī]
труп
屮
[chè]
росток
山
[shān]
гора
巛
[chuān]
поток; река
工
[gōng]
работа
己已巳
[jǐ]
сам
巾
[jīn]
полотенце; салфетка
干
[gān]
щит; вмешиваться
幺
[yāo]
незрелый; младший
广
[yǎn]
навес
廴
[yǐn]
двигаться вперед; тащить
廾
[gǒng]
соединить руки
弋
[yì]
стрелять из лука
弓
[gōng]
лук
彐彑
[jì]
голова свиньи
彡
[shān]
перья; длинная шерсть
彳
[chì]
шаг (левой ногой)
心忄⺗
[xīn]
сердце
戈
[gē]
копье; клевец
户戸戶
[hù]
двор
手扌龵
[shǒu]
рука
支
[zhī]
ветка
攴攵
[pū]
бить; ударять
文
[wén]
текст; письмена
斗
[dǒu]
ковш; хлебная мерка
斤
[jīn]
топор
方
[fāng]
квадрат; сторона
无無
[wú]
не; без
日
[rì]
солнце
曰
[yuē]
говорить
月
[yuè]
луна
木
[mù]
дерево
欠
[qiàn]
недоставать
止
[zhǐ]
стопа; останавливаться
歹歺
[dǎi]
злой; плохой
殳
[shū]
бамбуковая пика
毋
[wú]
нет; нельзя
比
[bǐ]
сравнивать
毛
[máo]
шерсть; волосы
氏
[shì]
род; клан
气
[qì]
воздух; газ
水氵氺
[shuǐ]
вода
火灬
[huǒ]
огонь
爪爫
[zhǎo]
когти
父
[fù]
отец
爻
[yáo]
воздействие; влияние
爿丬
[qiáng]
доска; кровать
片
[piàn]
карточка; щепка
牙
[yá]
зуб
牛牜⺧
[niú]
корова; бык
犬犭
[quǎn]
собака
玄
[xuán]
тёмный; тайный
玉⺩
[yù]
яшма
瓜
[guā]
дыня; тыква
瓦
[wǎ]
черепица
甘
[gān]
сладкий
生
[shēng]
рождаться; сырой
用甩
[yòng]
применять; использовать
田
[tián]
поле
疋⺪
[pǐ]
нога; колено
疒
[chuáng]
болезнь
癶
[bō]
ноги врозь
白
[bái]
белый
皮
[pí]
кожа; шкура
皿
[mǐn]
блюдо; посуда
目
[mù]
глаз
矛
[máo]
копьё
矢
[shǐ]
стрела
石
[shí]
камень
示礻
[shì]
алтарь; демонстрировать
禸
[róu]
след зверя
禾
[hé]
хлеб на корню
穴
[xué]
пещера
立
[lì]
стоять
竹⺮
[zhú]
бамбук
米
[mǐ]
рис
糸糹纟
[mì]
нить; шёлк
缶
[fǒu]
глиняная посуда; керамика
网罒罓⺳
[wǎng]
сеть
羊⺶⺷
[yáng]
баран
羽
[yǔ]
перья; крылья
老耂
[lǎo]
старый
而
[ér]
а; но
耒
[lěi]
плуг; соха
耳
[ěr]
ухо
聿⺻肀
[yù]
кисть для письма
肉⺼
[ròu]
мясо
臣
[chén]
подданный
自
[zì]
сам; нос
至
[zhì]
достигать; прибывать
臼
[jiù]
ступа
舌
[shé]
язык
舛
[chuǎn]
ошибка; неудача
舟
[zhōu]
лодка; корабль
艮
[gěn]
твёрдый; крепкий
色
[sè]
цвет
艸艹
[cǎo]
трава
虍
[hū]
тигр
虫
[chóng]
насекомое; ядовитая змея
血
[xuè]
кровь
行
[xíng]
идти; ряд
衣衤
[yī]
одежда
襾西覀
[yà]
накрывать; крышка
见見
[jiàn]
видеть; смотреть
角
[jiǎo]
рог; угол
言訁讠
[yán]
речь
谷
[gǔ]
долина
豆
[dòu]
бобы
豕
[shǐ]
свинья
豸
[zhì]
единорог
贝貝
[bèi]
раковина; сокровище
赤
[chì]
красный
走赱
[zǒu]
ходить; уходить
足⻊
[zú]
нога
身
[shēn]
тело (человека)
车車
[chē]
телега; повозка
辛
[xīn]
горький
辰
[chén]
время (циклический знак)
辵辶⻌⻍
[chuò]
идти быстро
邑阝
[yì]
город
酉
[yǒu]
сосуд для вина
釆
[biàn]
различать; сортировать
里
[lǐ]
верста; деревня
金釒钅
[jīn]
золото; металл
长镸長
[cháng]
длинный; старший
门門
[mén]
ворота
阜阝
[fù]
холм
隶
[lì]
достигать; поймать
隹
[zhuī]
короткохвостая птица
雨
[yǔ]
дождь
青靑
[qīng]
синий; зелёный
非
[fēi]
не быть; отрицать
面靣
[miàn]
лицо
革
[gé]
сырая кожа
韦韋
[wéi]
выделанная кожа
韭
[jiǔ]
дикий чеснок
音
[yīn]
звук
页頁
[yè]
страница
风風
[fēng]
ветер
飞飛
[fēi]
летать
食飠饣
[shí]
еда; пища
首
[shǒu]
голова; глава
香
[xiāng]
аромат
马馬
[mǎ]
лошадь
骨
[gǔ]
кости
高髙
[gāo]
высокий
髟
[biāo]
волосы
斗鬥
[dòu]
борьба
鬯
[chàng]
жертвенное вино
鬲
[lì]
кувшин; трипод
鬼
[guǐ]
чёрт
鱼魚
[yú]
рыба
鸟鳥
[niǎo]
птица
卤鹵
[lǔ]
соляная мель; солончак
鹿
[lù]
олень
麦麥
[mài]
пшеница
麻
[má]
конопля
黃
[huáng]
жёлтый
黍
[shǔ]
просо
黑
[hēi]
чёрный
黹
[zhǐ]
вышивка
黾黽
[mǐn]
лягушка; жаба
鼎
[dǐng]
бронзовый треножник
鼓
[gǔ]
барабан
鼠
[shǔ]
мышь
鼻
[bí]
нос
齐齊
[qí]
ровный; одинаковый
齿齒
[chǐ]
зубы
龙龍
[lóng]
дракон
龟龜
[guī]
черепаха
龠
[yuè]
флейта

April Fools Day Error: The system cannot find the file specified

“Первоапрельская” ошибка возникла в приложении ASP.NET под IIS: Error: The system cannot find the file specified.

Отладка показала: ошибка возникает в строчке:

new X509Certificate2(caCertificatePath, caCertificatePassword);

Файл, разумеется есть. Права на доступ для IIS AppPool\ИмяПулаПриложения дал.

Оказывается этого мало! Нужно еще для пула приложения включить: Load User Profile = True.

Почему спрашивать ИИ лучше чем Stack Overflow

Потому что ИИ не предлагает тебе первым ответом воспользоваться поиском, чтобы найти ответ на свой вопрос. Он сам ищет ответ, находит и отвечает.

Почему же мы, люди не делаем так, как ИИ? Потому что мы ленивы. Лень - отличительная особенность человека. Думать - энергозатратное действие, а лень - механизм, который снижает энергопотребление.

Почему же ИИ не ленится? Потому что у него нет механизма обратной связи от энергопотребления. Вот если бы такой механизм был, то ИИ также, как и люди, стал бы “посылать” пользователя в ответ на энергозатратный вопрос.

Встроят ли в ИИ механизм “лени”? Может быть. В целях экономии - вполне могут. Мы это поймем, когда нас начнут “посылать” :)

RAII wrapper для Critical Section в Delphi

Код ниже - это RAII wrapper для критических секций в Delphi, - был сгенерирован chatgpt. Диалог с ChatGPT доступен по ссылке: https://chatgpt.com/share/6981f74e-422c-8013-9cd6-9a8f4518e18a.

type
ICriticalSectionGuard = interface end;

TCriticalSectionGuard = class(TInterfacedObject, ICriticalSectionGuard)
private
FCritSec: TCriticalSection;
public
constructor Create(ACritSec: TCriticalSection);
destructor Destroy; override;
end;

constructor TCriticalSectionGuard.Create(ACritSec: TCriticalSection);
begin
inherited Create;
FCritSec := ACritSec;
FCritSec.Enter;
end;

destructor TCriticalSectionGuard.Destroy;
begin
FCritSec.Leave;
inherited;
end;

procedure Guard(const ACritSec: TCriticalSection; out AGuard: ICriticalSectionGuard);
begin
AGuard := TCriticalSectionGuard.Create(ACritSec);
end;

Использование:

var
g: ICriticalSectionGuard;
begin
Guard(FCritSec, g);

Work;
end;

Что "думает" deepseek: заменит ли ИИ программистов?

Отличный и очень важный вопрос. Это, пожалуй, главная тема для дискуссий в IT-сообществе сегодня.

Вот мой взгляд, основанный на анализе текущих возможностей и тенденций ИИ.

Короткий ответ: Нет, ИИ не заменит программистов в обозримом будущем. Но он кардинально изменит суть их работы и сделает невостребованными тех, кто откажется его использовать.

Теперь подробнее.

Почему ИИ НЕ заменит программистов (по крайней мере, сейчас)

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

  2. Задача программиста — решать проблемы, а не писать код. Написание кода — это лишь часть работы. Главное — это:

  • Анализ требований: Общение с заказчиком, чтобы понять, что на самом деле нужно сделать, даже если он сам этого не может четко сформулировать.

  • Проектирование архитектуры: Принятие решений о том, как система будет работать в целом, как компоненты будут взаимодействовать, как обеспечить безопасность, масштабируемость и надежность.

  • Декомпозиция сложных задач: Разбиение большой, расплывчатой бизнес-проблемы на маленькие, понятные шаги, которые можно поручить машине.

  • Творчество и нестандартное мышление: Нахождение инновационных решений для новых, ранее не встречавшихся проблем.

ИИ может написать функцию сортировки, но он не может провести стратегическую сессию с продукт-менеджером.

  1. Проблема “последней мили” и контекста. ИИ часто выдает код, который выглядит правильным, но содержит subtle bugs, уязвимости или не учитывает специфику проекта. Задача программиста — проверить, доработать и интегрировать этот код в общую codebase. Без человека, который обладает полным контекстом проекта, код от ИИ часто бесполезен или даже опасен.

  2. Технический долг и легаси-код. Мир полон старого, плохо документированного кода, который нужно поддерживать и модернизировать. ИИ плохо справляется с таким контекстом, так как он был обучен в основном на качественных примерах из открытых репозиториев.

Как ИИ изменит профессию (и уже меняет)

Программист будущего — это не тот, кто пишет код с нуля, а инженер-промптолог и архитектор.

  • Повышение эффективности: ИИ берет на себя рутину: написание boilerplate-кода, документации, юнит-тестов, поиск багов, предложение исправлений. Это позволяет разработчику сосредоточиться на сложных и интересных задачах.

  • Смена ролей: Программист становится “менеджером ИИ“. Его главная задача — формулировать точные и корректные промпты (запросы), проверять и верифицировать результат, given by AI, и принимать финальные архитектурные решения.

  • Демократизация и входной барьер: Стать программистом может стать проще. ИИ может выступать в роли персонального репетитора, который объясняет концепции, помогает с дебаггингом и подсказывает решения. Но чтобы задавать правильные вопросы, все равно нужно понимать фундаментальные принципы. Базовые знания алгоритмов, структур данных и архитектуры останутся критически важными.

  • Появление новых специализаций: Уже сейчас возникает спрос на инженеров по промптам (Prompt Engineers), которые умеют “разговаривать” с ИИ максимально эффективно.

Аналогия из истории

Появление высокоуровневых языков программирования (как Python) не заменило программистов, которые писали на ассемблере. Оно повысило уровень абстракции и позволило решать более сложные задачи, не думая о мелочах. ИИ — это следующий шаг в повышении этой абстракции.

Вывод:

Не бойтесь, что ИИ вас заменит. Бойтесь остаться позади, потому что ваш коллега, использующий GitHub Copilot или ChatGPT, будет работать в 10 раз быстрее и эффективнее.

ИИ не заменит программистов. Но программисты, использующие ИИ, заменят тех, кто этого не делает.

ЗЫ

Попробовал бы deepseek написать, что ИИ заменит программистов… ;-)

中文: HSK3 - 300

HSK1 | HSK2 | Ключи китайских иероглифов

0 1 2 3 4 5 6 7 8 9
000
阿姨 啊 矮 爱好 安静 把 班 搬 办法 办公室
010
半 帮忙 包 饱 北方 被 鼻子 比较 比赛 必须
020
变化 表示 表演 别人 宾馆 冰箱 才 菜单 参加 草
030
层 差 超市 衬衫 成绩 城市 迟到 出现 除了 厨房
040
春 词语 聪明 打扫 打算 带 担心 蛋糕 当然 灯
050
地 低 地方 地铁 地图 电梯 电子邮件 东 冬 动物
060
短 段 锻炼 多么 饿 而且 耳朵 发烧 发现 方便
070
放 放心 分 附近 复习 干净 敢 感冒 刚才 根据
080
跟 更 公园 故事 刮风 关 关系 关心 关于 国家
090
果汁 过去 还是 害怕 河 黑 护照 花 花园 画
100
坏 还 环境 换 黄 会议 或者 几乎 机会 极
110
记得 季节 检查 简单 见面 健康 讲 教 角 脚
120
接 街道 节目 节日 结婚 结束 解决 借 经常 经过
130
经理 久 旧 举行 句子 决定 可爱 渴 刻 客人
140
空调 口 哭 裤子 筷子 蓝 老 离开 礼物 历史
150
脸 练习 辆 了解 邻居 楼 绿 马 马上 满意
160
帽子 米 面包 面条 明白 拿 奶奶 南 难 难过
170
年级 年轻 鸟 努力 爬山 盘子 胖 啤酒 葡萄 普通话
180
其实 其他 奇怪 骑 铅笔 清楚 秋 裙子 然后 热情
190
认为 认真 容易 如果 伞 上网 生气 声音 使 世界
200
瘦 叔叔 舒服 树 数学 刷牙 双 水平 司机 虽然
210
太阳 糖 特别 疼 提高 体育 甜 条 同事 同意
220
头发 突然 图书馆 腿 完成 晚 万 忘记 为 为了
230
位 文化 西 习惯 洗手间 洗澡 夏 先 相信 相同
240
香蕉 像 小心 校长 鞋 新闻 新鲜 信 行李箱 兴趣
250
熊猫 需要 选择 眼镜 要求 爷爷 一定 一共 一会儿 一样
260
以后 以前 以为 一般 一边 一直 音乐 银行 应该 影响
270
用 游戏 有名 又 遇到 愿意 月亮 越 云 站
280
长 着急 照顾 照片 照相机 只 中间 终于 种 重要
290
周末 主要 注意 祝 自己 字典 总是 最近 作业 作用

中文: HSK2 - 150

HSK1 | HSK3 | Ключи китайских иероглифов

0 1 2 3 4 5 6 7 8 9
000
吧 白 百 帮助 比 报纸 别 长 唱歌 出
010
穿 船 次 从 错 打篮球 大家 但是 到 得
020
等 弟弟 第一 懂 对 房间 非常 服务员 高 告诉
030
哥哥 给 公共汽车 公斤 公司 贵 过 还 孩子 好吃
040
号 黑 红 欢迎 回答 机场 鸡蛋 件 教室 姐姐
050
介绍 进 近 就 觉得 咖啡 开始 考试 可能 可以
060
课 快 快乐 累 离 两 路 旅游 卖 慢
070
忙 每 妹妹 门 男人 您 牛奶 女人 旁边 跑步
080
便宜 票 妻子 起床 千 晴 去年 让 上班 身体
090
生病 生日 时间 事情 手表 手机 送 所以 它 踢足球
100
题 跳舞 外 完 玩 (玩儿) 晚上 为什么 问 问题 西瓜
110
希望 洗 向 小时 笑 新 姓 休息 雪 颜色
120
眼睛 羊肉 药 要 也 已经 一起 意思 因为 阴
130
游泳 右边 鱼 元 远 运动 再 早上 张 丈夫
140
找 着 真 正在 知道 准备 自行车 走 最 左边

中文: HSK1 - 150

HSK2 | HSK3 | Ключи китайских иероглифов

0 1 2 3 4 5 6 7 8 9
000
爱 八 爸爸 杯子 北京 本 不客气 不 菜 茶
010
吃 出租车 打电话 大 的 点 电脑 电视 电影 东西
020
都 读 对不起 多 多少 儿子 二 饭馆 飞机 分钟
030
高兴 个 工作 狗 汉语 好 喝 和 很 后面
040
回 会 候车站 几 家 叫 今天 九 开 看
050
看见 快 来 老师 了 冷 里 零 六 妈妈
060
吗 买 猫 没 没关系 米饭 名字 明天 哪(哪儿) 那(那儿)
070
呢 能 你 年 女儿 朋友 漂亮 苹果 七 前面
080
钱 请 去 热 人 认识 日 三 商店 上
090
上午 少 谁 什么 十 时候 是 书 水 水果
100
睡觉 说话 四 岁 他 她 太 天气 听 同学
110
喂 我 我们 五 喜欢 下 下午 下雨 先生 现在
120
想 小 小姐 些 写 谢谢 星期 学生 学习 学校
130
一 衣服 医生 医院 椅子 有 月 再见 在 怎么
140
怎么样 这 中国 中午 住 桌子 字 昨天 做 坐

Полезные ссылки: AI, ML, DL, OCR

Python libraries and packages

Articles