ما الجديد في الإصدار 1.41 من تطبيق de1app

هذه مقالة قديمة حول تطبيق DE1app الخاص بنا. يمكنك العثور على جميع معلومات تحديث التطبيق الجديدة هنا، ويمكن العثور على آلاتنا هنا.



--> اقرأ أيضًا: الجديد في الإصدار v1.42

البخار

1. إيقاف البخار بنقرتين: لمن لا يحبون السلوك الافتراضي "التنظيف التلقائي للبخار".
2. تقليل استهلاك الكهرباء بنسبة 60% أثناء "الخمول الساخن" عن طريق تعطيل البخار بسهولة وتفعيله عند الحاجة.
3. التبديل السريع من الإسبريسو إلى البخار.
4. اندفاع قصير للبخار (أقل من 7 ثوانٍ) لا يقوم بتنظيف البخار، بل يتوقف فقط.
5. تم إصلاح مشكلة في التبخير عند استخدام ملف تعريف Filter 2.1.

الماء الساخن

1. معدل تدفق أسرع للماء الساخن، مع التحكم فيه، وتقليل التقطيع.
2. تحكم فوري في معدل تدفق الماء الساخن، بنفس التحكم الموجود في البخار والشطف.
3. الماء الساخن أصبح الآن دقيقًا في درجة الحرارة تلقائيًا، مع تقليل التدفق إذا لزم الأمر.
4. بدء أسرع للماء الساخن.

الشطف

1. التحكم في معدل تدفق الشطف، بشكل أسرع وأبطأ مما كان ممكنًا سابقًا.
2. مؤقت إيقاف تلقائي للشطف في واجهة Insight.
3. الشطف الطويل جدًا بمعدل تدفق مرتفع جدًا يولد تحذيرًا، ويؤدي أيضًا إلى تسخين رأس المجموعة، لمنع صنع إسبريسو بارد جدًا.
4. تحكم فوري في معدل تدفق الشطف، بنفس التحكم الموجود في البخار والماء الساخن.

التطبيق

1. الشحن الذكي: يمنع مشكلة "انتفاخ بطارية الجهاز اللوحي"، ويطيل عمر البطارية. يحافظ تلقائيًا على شحن البطارية بين 55% و65%.
2. النقر على الأرقام ذات اللون الأزرق في جميع أنحاء التطبيق، للحصول على صفحة إدخال بيانات بملء الشاشة. لم يعد هناك نقر متكرر على أزرار +/-.
3. استخدام عناصر تحكم DUI الجذابة التي صممها إنريكي على نطاق واسع.
4. وميض أضواء GHC البنفسجية في كل مرة يتم فيها تحديث ملف تعريف.
5. تحسين استخدام الألوان، خاصة في واجهة Insight الداكنة وفي مربعات القوائم.
6. الكشف التلقائي عن مجموعة إعادة التعبئة عند تشغيل DE1، مع إمكانية التجاوز في صفحة المعايرة.
7. خيار قلب الشاشة للأجهزة اللوحية من جهات خارجية.
8. المعايرة موزعة الآن على 3 صفحات، مع سهولة التنقل بينها.
9. إعادة تعيين الواجهة في تطبيق التحديث السحابي يعيد الآن أيضًا تعيين دقة الشاشة.
10. لا يمكن حذف الملفات التعريفية المدمجة، ويتم إعطاء نسختك اسمًا جديدًا تلقائيًا.





شروحات مفصلة أدناه


البخار

إيقاف البخار بنقرتين: لمن لا يحبون السلوك الافتراضي "التنظيف التلقائي للبخار".

هذه ميزة رائعة للأشخاص الذين لا يحبون "التنظيف التلقائي" في نهاية البخار.

النقرة الأولى لإيقاف التشغيل على GHC توقف البخار، ولكنها تضعه في وضع "النفخات الناعمة".

النقرة الثانية لإيقاف التشغيل على GHC تؤدي إلى تنظيف البخار.

جربها، إنها حقًا لطيفة جدًا، وأعتقد أن راي تمكن من إيجاد حل لكل من:

  • أولئك الذين لا يحبون حقًا "التنظيف التلقائي للبخار" لأنهم بحاجة إلى التحرك بسرعة في نهاية التبخير،
  • ومع ذلك لا يزالون يتعاملون مع مخاوف Decent بشأن امتصاص الحليب في عصا البخار وعدم تنظيفه.

  • هذه ميزة اختيارية.

    لتفعيل "وضع إيقاف البخار بنقرتين"، اذهب إلى الإعدادات->الآلة->الصفحة 3.

    إعداد النقرتين


    تقليل استهلاك الكهرباء بنسبة 60% أثناء "الخمول الساخن" عن طريق تعطيل البخار بسهولة وتفعيله عند الحاجة.

    تعطيل وتفعيل البخارهذه مقارنة لاستهلاك الطاقة في وضع الخمول بين البخار المفعل والمعطل.


    إذا كنت لا تقوم بتبخير الحليب، فيجب عليك بالتأكيد تعطيل جهاز التبخير.

    استهلاك طاقة البخار


    التبديل السريع من الإسبريسو إلى البخار

    عندما ينتهي الإسبريسو، يستغرق DE1 حوالي 3 إلى 5 ثوانٍ لتصريف الماء الساخن من النظام، قبل العودة إلى حالة الخمول.

    مع هذا البرنامج الثابت الجديد، يمكنك النقر على زر البخار في وحدة التحكم في رأس المجموعة، بينما ينتهي الإسبريسو، وسيتم مقاطعة النهاية، والانتقال مباشرة إلى بدء التبخير.

    يعمل هذا سواء كان تطبيق de1app يوقف الجرعة أو إذا ضغطت على زر الإيقاف في رأس المجموعة.

    إنه ليس فرقًا كبيرًا: ربما توفير 5 ثوانٍ.

    ومع ذلك، كان مصدر إزعاج بسيط، الاضطرار إلى انتظار الإسبريسو لتصريف الماء الساخن، فقط لملئه مرة أخرى بعد بضع ثوانٍ، وانتظار ذلك لينتهي.



    اندفاع قصير للبخار (أقل من 7 ثوانٍ) لا يقوم بتنظيف البخار، فقط يتوقف.

    بعض الأشخاص يحبون تنظيف البخار يدويًا، مثل قبل الاستخدام الأول لعصا البخار.

    سابقًا، إذا قمت بذلك، كان DE1 يقوم بتنظيفه تلقائيًا بعد إيقاف البخار. كان هذا مزعجًا.

    الآن، يتم التعرف على نفخة قصيرة من البخار (أقل من 7 ثوانٍ) على أنها "ربما تقوم بتنظيف بخار يدوي" ولن يقوم DE1 بتنظيف تلقائي بعد ذلك.



    تم إصلاح مشكلة في التبخير عند استخدام ملف تعريف Filter 2.1.

    كان هناك خطأ في بعض ملفات تعريف القهوة، التي تستخدم قيمًا منخفضة جدًا لمحدد البرنامج (التي لن يستخدمها الإسبريسو أبدًا) وتسبب ذلك في عدم عمل البخار، إذا تم تحميل هذا الملف التعريفي. تم إصلاح هذا.

    الماء الساخن

    معدل تدفق أسرع للماء الساخن، مع التحكم فيه، وتقليل التقطيع.

    كان الماء الساخن لـ DE1 سابقًا يعمل بمعدل 6 مل/ثانية، وكان أيضًا متقطعًا جدًا.

    أصبح الآن افتراضيًا 10 مل/ثانية وأجده أقل تقطعًا بكثير عند معدل التدفق الأعلى هذا.

    معدل تدفق أسرع للماء الساخن


    تحكم فوري في معدل تدفق الماء الساخن، بنفس التحكم الموجود في البخار والشطف.

    يشترك البخار والشطف والماء الساخن الآن في نفس نمط التحكم الفوري الذي كان مخصصًا سابقًا للبخار فقط. لاحظ أن هذه ميزة لواجهة Insight، وليست متاحة في الواجهات الأخرى (حاليًا).

    وحدة تحكم تدفق الشطف
    وحدة تحكم تدفق البخار
    وحدة تحكم تدفق الماء الساخن


    الماء الساخن أصبح الآن دقيقًا في درجة الحرارة تلقائيًا، مع تقليل التدفق إذا لزم الأمر.

    أصبح البرنامج الثابت للماء الساخن الآن "أولوية درجة الحرارة"، مما يعني أنه إذا لم يكن من الممكن الحفاظ على درجة الحرارة بمعدل التدفق الذي طلبته، يتم تقليل معدل التدفق تلقائيًا. الجودة أهم من السرعة!

    هذا يعني أن أولئك الذين لديهم DE1XXL، أو على 240 فولت، سيكون لديهم معدلات تدفق ماء ساخن أعلى، لفترة أطول، من أولئك الذين لديهم طاقة 110 فولت.


    بدء أسرع للماء الساخن.

    سابقًا، كان الماء الساخن يستغرق حوالي 5 ثوانٍ للبدء، لأننا أردنا ضمان دقة درجة الحرارة بشكل مطلق.

    الآن، نبدأ الماء الساخن بشكل أسرع بكثير، ثم نصلح درجة الحرارة أثناء تشغيله.

    في النهاية، درجة حرارة الماء الساخن التي تحصل عليها تكون ضمن بضع درجات مئوية مما طلبته.

    قررنا أن دقة درجة الحرارة المثالية للماء الساخن ليست بنفس أهمية السرعة.

    الشطف

    التحكم في معدل تدفق الشطف، بشكل أسرع وأبطأ مما كان ممكنًا سابقًا.

    الافتراضي هو 6 مل/ثانية، كما كان سابقًا.

    بعض الأسباب التي قد ترغب في التحكم في هذا:

  • إذا كنت تستخدم ميزة الشطف لصنع أمريكانو بسرعة، فستحتاج إلى معدل تدفق أسرع.
  • معدل تدفق أبطأ لإعطاء كمية كافية من الماء لتنظيف شبكة التوزيع قبل (أو بعد) الإسبريسو.

  • ملاحظة: يخرج ماء الشطف بدرجة الحرارة المحددة لملف تعريف الإسبريسو الحالي الخاص بك.

    وحدة تحكم الشطف


    مؤقت إيقاف تلقائي للشطف في واجهة Insight.

    أصبح الشطف الآن افتراضيًا لإيقاف التشغيل بعد 5 ثوانٍ، وفي واجهة Insight، أصبح لديه عنصر تحكم رسومي جديد.

    يمنحنا هذا العديد من الفوائد:

    1. سير عمل أسرع: لا حاجة للوقوف للضغط على إيقاف التشغيل.
    2. توفير في استخدام ماء الإسبريسو الجيد (أنت تستخدم ماءً جيدًا، أليس كذلك؟).
    3. منع التبريد الزائد لرأس المجموعة، والذي يمكن أن يحدث إذا شطفت لفترة طويلة.
    4. توفير الطاقة.

    المؤقت التلقائي للإيقاف


    الشطف الطويل جدًا بمعدل تدفق مرتفع جدًا يولد تحذيرًا، ويؤدي أيضًا إلى تسخين رأس المجموعة، لمنع صنع إسبريسو بارد جدًا.

    ومع ذلك، لاحظ أنه في بعض الأحيان يكون من المفيد استخدام الشطف لتبريد رأس المجموعة،

  • مثل إذا كنت تنتقل من ملف تعريف درجة حرارة عالية (مثل 98 درجة مئوية للصب) إلى ملف تعريف درجة حرارة أقل (ملف تعريف إسبريسو افتراضي 88 درجة مئوية).
  • يقوم DE1 بتسخين رأس المجموعة مسبقًا إلى درجة الحرارة المستهدفة.
  • تسمح الفيزياء لـ DE1 بتسخين المجموعة بسهولة إلى درجة حرارة مستهدفة جديدة،
  • لكن ليس لدينا طريقة تلقائية لتبريد المجموعة. ولكن يمكنك تبريد المجموعة عن طريق القيام بشطف أطول.

  • شطف لتبريد رأس المجموعةتحكم فوري في معدل تدفق الشطف، بنفس التحكم الموجود في البخار والماء الساخن.

    معدل تدفق الشطف

    التطبيق

    الشحن الذكي: يمنع مشكلة "انتفاخ بطارية الجهاز اللوحي"، ويطيل عمر البطارية. يحافظ تلقائيًا على شحن البطارية بين 55% و65%.

    لقد وجدنا أن الأجهزة اللوحية التي تعمل بنظام Android والمصنعة من قبل Teclast والتي كنا نشحنها خلال العامين الماضيين، لا تحب أن تظل مشحونة بنسبة 100% من سعة البطارية. بعد حوالي عام، غالبًا ما تنتفخ البطارية. هذا قصور في نظام Android، الذي لا يحتوي على شحن ذكي للبطارية مدمج في نظام التشغيل.

    لقد كنا نقدم استبدالًا مجانيًا للأجهزة اللوحية التي يحدث لها هذا، لكننا نفضل ألا يحدث ذلك على الإطلاق.

    سيقوم هذا التحديث لتطبيق de1app تلقائيًا بتمكين "الشحن الذكي". يمكنك العثور على هذه الميزة في الإعدادات->التطبيق->متنوعات.

    ميزة الشحن الذكيسيتم إيقاف تشغيل طاقة الشحن عبر USB في الجزء الأمامي من DE1 تلقائيًا عندما يصل الجهاز اللوحي إلى 65%. سيتم تشغيلها مرة أخرى عندما ينخفض شحن الجهاز اللوحي إلى 55%.


    هناك جانب سلبي صغير واحد لميزة الشحن الذكي هذه، ومع ذلك:

  • في كل مرة يتم فيها إعادة تشغيل الشحن (عند 55%)، ستضيء إضاءة خلفية الشاشة لفترة وجيزة، لمدة 5 ثوانٍ تقريبًا.
  • هذه ميزة في Android، لا يمكننا إيقاف تشغيلها.
  • هذا مزعج فقط لأولئك الذين ينامون بالقرب من DE1 الخاص بك.
  • لجعل هذا أقل إزعاجًا، قم بتغيير شاشة التوقف إلى اللون الأسود وسطوع شاشة التوقف إلى 0%. لن تكون سوداء بنسبة 100%، لكنها قريبة.
  • إيقاف تشغيل الشاشة لا يعمل كحل، حيث سيظل الجهاز اللوحي يضيء لمدة 5 ثوانٍ عند استعادة طاقة USB.
  • لا نوصي بتعطيل ميزة الشحن الذكي، لأن بطاريتك ستنتفخ في النهاية إذا تم الاحتفاظ بها بنسبة 100% في جميع الأوقات.

  • شاشة التوقف والسطوعقامت Teclast بتطوير برنامج ثابت جديد لنا، موجود على الأجهزة اللوحية التي نشحنها الآن، والذي يقوم تلقائيًا بما يلي:

  • إيقاف الشحن عند 80%.
  • تقليل واط الشحن مع اقتراب البطارية من 80% شحن.
  • وبالتالي، فإن الشحن الذكي ليس ضروريًا للأجهزة اللوحية Teclast ذات اللون الأسود أو الأبيض التي نشحنها اعتبارًا من سبتمبر 2022.
  • يمكنك معرفة أنها أجهزة لوحية Teclast، حيث تحتوي على منفذ USB-C عليها، بينما استخدمت موديلات الأجهزة اللوحية الأخرى لدينا Micro USB.
  • DE1 الذي نشحنه الآن لن يكون بالضرورة به الشحن الذكي مفعلًا افتراضيًا، إذا لم يكن ضروريًا. ومع ذلك، فإن تشغيل الميزة لن يكون له أي تأثير سلبي على عمر الجهاز اللوحي.

  • بطارية جهاز لوحي Teclast منتفخةالنقر على الأرقام ذات اللون الأزرق في جميع أنحاء التطبيق، للحصول على صفحة إدخال بيانات بملء الشاشة. لم يعد هناك نقر متكرر على أزرار +/-.

    في كل مكان تقريبًا حيث يمكن تحرير رقم، أصبح الآن قابلاً للتحرير باستخدام لوحة مفاتيح بملء الشاشة. يتم الإشارة إلى هذه الفرص بنص أزرق.

    الأشياء التي يمكن تغييرها في ملف تعريف الضغط
    الأشياء المتقدمة التي يمكن تغييرها
    الأشياء المتقدمة التي يمكن تغييرها في الملفات التعريفية

    ثم تحصل على صفحة إدخال رقم بملء الشاشة مثل هذه، مع عدد لا بأس به من الميزات، بفضل إنريكي.

    صفحة إدخال الرقم


    استخدام عناصر تحكم DUI الجذابة التي صممها إنريكي على نطاق واسع.

    تُستخدم الآن عناصر تحكم رسومية أكثر جاذبية على نطاق واسع في تطبيق de1app:

    عناصر تحكم DUI لإنريكي


    وميض أضواء GHC البنفسجية في كل مرة يتم فيها تحديث ملف تعريف.

    في كل مرة تقوم فيها بتغيير ملف تعريف إسبريسو، يتم إرساله إلى DE1. كانت هناك مشكلة في بعض الأحيان حيث يقوم الأشخاص بإجراء تغيير، ثم يضغطون فورًا على زر بدء الإسبريسو، قبل أن ينتهي تحميل الملف التعريفي الجديد.

    يمكن أن يتسبب هذا في مشكلة، لأن جميع الخطوات ليست موجودة بعد في DE1، ولن تحصل على إسبريسو ناجح.

    الآن، في كل مرة تقوم فيها بتغيير ملف تعريف إسبريسو:

  • لن يسمح لك DE1 ببدء الإسبريسو حتى ينتهي من التحميل (يستغرق حوالي ثانية واحدة).
  • تومض أضواء LED على رأس المجموعة باللون البنفسجي لإعلامك باستلام الملف التعريفي الجديد.


  • تحسين استخدام الألوان، خاصة في واجهة Insight الداكنة وفي مربعات القوائم.

    تم تحسين تباين الألوان في مربعات القوائم في كل مكان:

    الألوان قبل
    الألوان بعد التغيير

    لقد أعدت النظر في ألوان خط GOD SHOT، و:

  • مع Insight على خلفية بيضاء، تكون خطوط GOD SHOT أكثر سطوعًا.
  • مع Insight على خلفية سوداء، تكون خطوط GOD SHOT أغمق.

  • فيما يلي عينات:

    ألوان God shot في النسخة الفاتحة
    ألوان God shot في النسخة الداكنة


    الكشف التلقائي عن مجموعة إعادة التعبئة عند تشغيل DE1، مع إمكانية التجاوز في صفحة المعايرة.

    يكتشف البرنامج الثابت الآن، عند تشغيل DE1، مجموعة إعادة التعبئة.

  • هذا يعني أنه إذا قمت بتوصيل مجموعة إعادة التعبئة بعد تشغيل DE1، فمن المحتمل ألا يستخدم DE1 مجموعة إعادة التعبئة الخاصة بك. قم بإيقاف تشغيل DE1 وتشغيله مرة أخرى.
  • يجب أن تكون مجموعة إعادة التعبئة موصولة ومشغلة عند تشغيل DE1، حتى يتم الكشف التلقائي عن مجموعة إعادة التعبئة بشكل صحيح.
  • إذا كان لديك DE1 إصدار v1.0 ومجموعة إعادة تعبئة، فستحتاج على الأرجح إلى اختيار "force on" لاستخدام مجموعة إعادة التعبئة الخاصة بك. لم تحتوي آلات v1.0 على أجهزة PCB لاكتشاف تغير حمل الطاقة الذي تسببه مجموعة إعادة التعبئة، لذلك لا يمكننا الكشف التلقائي. الإعداد موجود في الصفحة 3 من الإعدادات->الآلة->إعدادات المعايرة.
  • بالنسبة لمعظم الأشخاص، سيعمل هذا ببساطة بشكل صحيح، ولن تحتاج إلى التفكير فيه.
  • تم وضع هذا التغيير لبعض "الحالات الحدودية" حتى يقوم DE1 بالشيء الصحيح.
  • تعني هذه الميزة الجديدة أيضًا أنه في المستقبل، يمكن لتطبيق de1app معرفة ما إذا كان لديك مجموعة إعادة تعبئة، واتخاذ قرار مختلف، أو إظهار خيارات مختلفة لك، حسب الاقتضاء.

  • صفحة المعايرة الجديدة


    خيار قلب الشاشة للأجهزة اللوحية من جهات خارجية.

    هذا إذا كان الجهاز اللوحي الذي اشتريته بنفسك يحتوي على منفذ شحن USB على الجانب الأيمن، وهو عكس ما يريده DE1.


    في هذه الحالة، من المحتمل أن تقوم بتدوير جهازك اللوحي بمقدار 180 درجة وتحتاج إلى قلب تطبيق de1app أيضًا.

    يمكنك العثور عليه في الإعدادات->التطبيق->متنوعات.

    ميزة قلب الشاشة


    المعايرة موزعة الآن على 3 صفحات، مع سهولة التنقل بينها.

    ها هي:

    صفحة المعايرة 1/3هذا ضروري لأنه توجد الآن صفحة ثالثة، مع بعض الميزات الجديدة الموصوفة أعلاه:

    صفحة المعايرة 3/3لاحظ أن عناصر التحكم على الجانب الأيسر من تلك الصفحة موجودة أيضًا، بشكل أسهل، في واجهة Insight. ومع ذلك، فهي مكررة هنا بحيث إذا كنت تستخدم واجهة لا تنفذ هذه الميزات الجديدة، فلا يزال بإمكانك الوصول إليها.


    . . .

    توجد الآن صفحة تحذير للمعايرة، قبل رؤية صفحة المعايرة الأولى. اعتقد بعض الناس أنه من الممتع إدخال أرقام باهظة في بعض إعدادات المعايرة، لمعرفة ما سيحدث.

    اعتمادًا على ما فعلته، يمكن أن تجعل آلتك غير قادرة على صنع إسبريسو جيد، لأنك قمت بإلغاء معايرة درجة الحرارة أو الضغط أو التدفق وتحتاج الآن إلى إعادة معايرتها، الأمر الذي يتطلب بعض معدات الاختبار.

    صفحة تحذير المعايرة


    إعادة تعيين الواجهة في تطبيق التحديث السحابي يعيد الآن أيضًا تعيين دقة الشاشة.

    مشكلة شائعة يواجهها الأشخاص، هي أنهم يغيرون دقة شاشة تطبيقهم (في الإعدادات->التطبيق->متنوعات) إلى شيء أكبر بكثير مما هم قادرون عليه حقًا. بعد ذلك، لا يعمل التطبيق بشكل صحيح (جزء منه فقط مرئي) ولا توجد طريقة سهلة للعودة.

    الآن، إذا ارتكبت هذا الخطأ، يمكنك تشغيل تطبيق التحديث السحابي، والنقر على "إعادة تعيين الواجهة". ستعود إلى واجهة Insight، وأيضًا إلى دقة الشاشة الافتراضية.



    لا يمكن حذف الملفات التعريفية المدمجة، ويتم إعطاء نسختك اسمًا جديدًا تلقائيًا.

  • لا يمكن حذف الملفات التعريفية المدمجة.
  • بدلاً من ذلك، يؤدي النقر على أيقونة سلة المهملات إلى إخفائها، ويمكن إظهارها لاحقًا.
  • إعداد "read_only 1" في ملف الملف التعريفي يتيح ذلك.
  • للمبرمجين: إذا قمت بإنشاء ملف تعريف خاص بك وتريد أن يكون له خاصية "لا يمكن حذفه"، فقم بتعيين "read_only 1" في ملف الملف التعريفي المحفوظ.
  • إذا حاولت الحفظ فوق ملف تعريف مدمج، فسيتم إعطاؤه اسمًا جديدًا تلقائيًا، مع لاحقة رقمية، لتجنب الكتابة فوقه.
  • تم إصلاح خطأ طويل الأمد تسبب في استخدام نفس اسم الملف التعريفي مرارًا وتكرارًا، عند الضغط على أيقونة حفظ البنك الخنزير. كان هذا يتسبب في إنشاء الكثير من الملفات التعريفية بنفس الاسم، والتي ستحتاج بعد ذلك إلى حذفها.
  • هذا يصلح أيضًا حقيقة مزعجة للنظام القديم: عندما قمت بـ "تحديث التطبيق"، تم فقدان أي تغييرات أجريتها على الملفات التعريفية المدمجة. هذا لا يمكن أن يحدث الآن.

  • إليك مقطع فيديو قصير يوضح كيفية عمل التغيير:

    فيديو لكيفية عمل التغيير

    التسمية "الاسم والحفظ" تقول الآن ببساطة "حفظ" للملفات التعريفية التي قمت بإنشائها. بالنسبة للملفات التعريفية المدمجة، تقرأ التسمية "اختر اسمًا جديدًا للحفظ".

    كيف تغير حفظ ملف تعريف

    انظر أيضًا: ما الجديد في برنامج DE1app؟

    #app #changes #documentation



  • هذه ترجمة لـ: What's new in the v1.41 de1app


    john created 2025/02/17, john updated 2026/07/09