1 puan yazan GN⁺ 2023-09-11 | 1 yorum | WhatsApp'ta paylaş
  • Yazının yazarı, Gravel Worlds Long Voyage bisiklet yarışına katıldıktan sonra Casey's General Store’dan pizza siparişi vererek beslenmesini optimize etmeye karar verdi
  • Bir önceki yıl hızlı yarışçılar tüm pizzaları tükettiği için vardığında pizza kalmaması sorunu yaşanmıştı
  • Bu sorunu çözmek için, bisiklet GPS’i geofence alanının dışına çıktığında pizza siparişi veren bir betik yazmaya karar verdi
  • Bu betik, bir önceki yıl oluşturduğu sunucusuz GPS takip sistemi üzerine kuruldu
  • Betik, bir sonraki mola noktasına varış tahmini süresini hesaplıyor ve takip cihazı AWS Location hizmetinde tanımlanan geofence alanının dışına çıktığında pizza siparişi veren bir Lambda fonksiyonunu tetikliyor
  • Casey's, çevrimiçi sipariş için herkese açık bir API sunmadığından, çözüm olarak Playwright ile web sitesinin screen scraping yöntemi kullanıldı
  • Pizza siparişinin başarılı ya da başarısız olmasına göre kendi telefonuna push bildirimleri gönderilecek şekilde ayarlandı
  • Yarış sırasında pizzanın başarıyla sipariş edildiğine dair yanlış bir bildirim aldı, ancak mola noktasında sipariş kaydı yoktu
  • Yarıştan sonra, tarayıcının çalışmasını video olarak kaydeden ve analiz için bir S3 bucket’a yükleyen Lambda fonksiyonunu geliştirdi
  • Hatanın, Playwright tarayıcısındaki son form.submit() işlendikten hemen sonra Lambda’nın yürütmeyi sonlandırmasından kaynaklanmış olabileceğini tahmin ediyor
  • Başarısızlığa rağmen bu projeden çok şey öğrendi ve yaklaşan yarışlarda tekrar denemeyi planlıyor
  • Projenin kodları GitHub’da incelenebilir

1 yorum

 
GN⁺ 2023-09-11
Hacker News yorumu
  • Çakıl yarışında pizza siparişi vermesi için bisiklet GPS’ine bağlanan sıra dışı bir teknik proje hakkındaki yazı
  • Proje, Sun Microsystems’te kullanılan pizzatoolun 21. yüzyıl versiyonuna benzetiliyor
  • Waypoint Pizza adlı bir pizzacıdan bahsediliyor; belirli bir yelken yarışı sırasında San Francisco Körfezi’nde teslimat yapıyor
  • Yazı ayrıca ultra koşucu Dean Karnazes’in yarış sırasında pizzayı burrito gibi sarıp koşmasından söz ediyor
  • Bazı okurlar, siparişte kullanılan web sitesi bir React sitesi ise bunun doğrudan kullanılabilecek bir API anlamına gelebileceğini ve süreci daha sağlam hale getirebileceğini öne sürüyor
  • Yazı; mizahı, teknik problem çözme yaklaşımı ve sonunda yazarın kendine yönelik eleştirisi nedeniyle övülüyor
  • Bazı okurlar, eller serbest arama kullanmak ya da bir arkadaşına telefon ettirmek gibi alternatif teknik çözümler öneriyor
  • Deliveroo gibi diğer teslimat hizmetlerine benzer teknik çözümler uygulama ihtimali de tartışılıyor
  • Yazı, yarış sırasında teknik çözümün çalışmadığını ve bunun 200. milde fark edildiğini açıklıyor
  • Yazı ayrıca Midwest’te sevilen bir pizza olan Casey's pizzadan bahsediyor; bu da bazı okurlarda mutlu anılar uyandırıyor
  • Teknik çözümün neden başarısız olduğuna dair teoriler öne sürülüyor; bunlardan biri, son form gönderiminden sonra Lambda’nın işlemi sonlandırmış olabileceği yönünde