codebuddy.tech

building in public from Vancouver

بناء أدوات الذكاء الاصطناعي بين رحلات أوبر: كيف حوّلت الوقت الميت إلى ذهب تطويري

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

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

لقد انتقلت هذه العقلية بشكل مثالي إلى تطوير البرمجيات، على الرغم من أنني أعترف بأن لها مقايضات. كلما واجهت عائقًا في رحلتي البرمجية — وثق بي، أواجهها بانتظام — أبني أداة حول المشكلة. الأمر أشبه عندما أواجه نهرًا لا أستطيع عبوره، فببساطة أبني جسرًا. وقد كان هذا النهج محررًا تمامًا، حتى لو أن اشتراكًا شهريًا ربما كان سيحل نفس المشكلة بكفاءة أكبر.

عقلية الحرفي: حل المشكلات في البرمجة

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

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

لكن رومانسية بناء أدواتك الخاصة حقيقية. هناك شيء مُرضٍ للغاية في صياغة حل يناسب سير عملك تمامًا، مُحسَّن لاحتياجاتك الخاصة بدلاً من افتراضات مدير المنتج حول ما يريده المستخدمون. السؤال الذي أتصارع معه باستمرار هو: متى يخدم هذا النهج الإنتاجية، ومتى يصبح هندسة مفرطة مقنعة كحل للمشكلات؟

الجسر الأول: برنامج SSH العميل المخصص لي

أهم إبداعاتي هو تطبيق iOS أسميه Terms — حاليًا في نسخته الرابعة. لقد تطور عميل SSH هذا عبر سنوات من الاستخدام الواقعي خلال تلك اللحظات المتفرقة بين الرحلات، وأصبح مخصصًا تمامًا لسير عملي الفريد في النسخ واللصق، والتحويل من الصوت إلى نص، والبرمجة المدعومة بالذكاء الاصطناعي.

يستخدم التطبيق المصادقة البيومترية — تحديدًا Face ID. عندما أفتحه، يقوم النظام بمصادقة وجهي ويوصلني مباشرة إلى بيئة استضافة VPS الخاصة بي، مباشرة في سطر الأوامر. التكنولوجيا وراء Face ID رائعة: نظام كاميرا TrueDepth من Apple يُسقط أكثر من 30 ألف نقطة غير مرئية لإنشاء خريطة عمق دقيقة لوجهك، باستخدام التصوير بالأشعة تحت الحمراء للعمل حتى في الظلام.

القدرة على الجلوس بشكل مريح على هاتفي، وبناء أدوات ذات إمكانات حقيقية أثناء إصلاح الأخطاء وتحسين الأداء باستمرار — إنها متعة حقيقية. أنا أوصي بها بشدة. ونعم، هناك شيء مُرضٍ بهدوء في أن الأيدي نفسها التي كانت تؤطر الجدران وتلحم أنابيب النحاس تنشر الآن بايثون إلى خادم لينكس من موقف سيارات في فانكوفر.

واحدة من الميزات المفضلة لدي تعالج إحباطًا شائعًا في بيئات التطوير المحمولة. عندما أواجه خطأ أو تتبع خطأ يُجمّد الطرفية، ببساطة أسحب لأعلى لأغلق التطبيق، وأعيد فتحه، وأدع Face ID يعيد مصادقتي، وأعود فورًا إلى سطر الأوامر، مستعدًا للمتابعة. عملية الاسترداد السلسة هذه وفرت لي ساعات لا تُحصى من الإحباط وتحافظ على زخمي خلال جلسات البرمجة الثمينة بين الرحلات.

يعتمد التنفيذ التقني على تخزين مفاتيح SSH مشفرة في Keychain لنظام iOS، والذي يوفر أمانًا مدعومًا بالعتاد على الأجهزة المزودة بـ Secure Enclave. كانت إدارة حالة الاتصال من أصعب الأجزاء لإتقانها — التعامل مع انتقالات الشبكة أثناء تحركي بين أبراج خلوية مختلفة ونقاط اتصال WiFi في جميع أنحاء المدينة. نفّذت طبقة استمرارية اتصال يمكنها اكتشاف تغييرات الشبكة وإعادة الاتصال تلقائيًا بالجلسة البعيدة، غالبًا بسلاسة لدرجة أنني لا ألاحظ حتى حدوث الانتقال.

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

جسر الفيديو إلى الصوت: حل احتكاك سير عمل المحتوى

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

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

التكنولوجيا الأساسية تعتمد على FFmpeg، وهي مكتبة قوية مفتوحة المصدر

Get new posts

Subscribe in your language

New posts delivered to your inbox. Unsubscribe anytime.

Receive in: