Robert.BrainUsers.net

Laboratorium Roberta

Oprócz oficjalnych witryn i aplikacji WWW które zbudowałem w pracy zawodowej, hobbystycznie zajmuję się szukaniem interesujących rozwiązań IT poprzez agregację ogólnodostępnych w Internecie danych oraz odkrywanie zastosowań istniejących API i bibliotek.

Pomysły opisane poniżej zostały przeze mnie zaprogramowane, często w formie ekstremalnie eksperymentalnej lub niedziałającej jeszcze w pełni prawidłowo.

System geolokalizacji użytkowników

Architektura: klient na Androida, interfejs przez WWW, serwer w środowisku LAMP.
Zastosowane API: Android, Google Maps.
Kategorie: mobile, geo, community, B2B, games, API

Aplikacja na Androida lokalizuje użytkownika (GPS) i cyklicznie wysyła jego aktualną pozycję do serwera. Poprzez interfejs WWW można obrazować lokalizację użytkowników na Google Maps. Między użytkownikami będącymi w ustalonym promieniu może zachodzić interakcja.

Możliwe zastosowania:

  • lokalizacja pracowników (np. kurierów, serwisantów) lub wozów firmowych (autobusów, ciężarówek), wytyczenie im optymalnej trasy z uwzględnieniem zmieniających się na bieżąco warunków,
  • obrazowanie aktualnego położenia autobusów w komunikacji miejskiej, wozów firmy przewozowej na mapie Polski itp.,
  • gra miejska/terenowa w prawdziwym świecie: strzelanka, przygodowa, fabularna,
  • uatrakcyjnienie geocachingu.

Niezależna porównywarka cen

Architektura: LAMP, interfejs WWW.
Kategorie: aggregation, AI
Motywacja: Komercyjne porównywarki cen nie spełniają ostatnio swojego zadania - brakuje w nich wielu sklepów, w których ceny są realnie niższe.

Wyszukując jakiś produkt, najczęściej szukamy w Google Search sklepów internetowych, które oferują daną rzecz i porównujemy ceny pomiędzy nimi. Ten proces można zautomatyzować: system sam może wyszukać określoną liczbę sklepów internetowych zawierających szukany produkt, na podstawie mniej lub bardziej zaawansowanego algorytmu wyekstrahować cenę produktu, po czym przedstawić wyniki w przystępnej formie posortowanej tabeli gotowej do porównania.

Jedyna trudność to stworzenie algorytmu, który inteligentnie (z pewnym prawdopodobieństwem) wyodrębni z kodu HTML strony cenę produktu (strony takie zawierają za zwyczaj bardzo wiele cen produktów powiązanych).

Możliwe zastosowania:

  • stworzenie niezależnej porównywarki cen (B2C, zarabianie na reklamach lub abonamencie),
  • analiza rynku i konkurencji (B2B).

YouTube API

Od 2010 roku testuję możliwość automatycznego pobierania metadanych, miniatur oraz samych filmów z YouTube oraz wysyłania filmów poprzez YouTube API i oAuth.

Możliwe zastosowania:

  • tworzenie mirrorów całych kont YT,
  • zaplanowanie kolejki filmów do wysłania na nasze konto YT,
  • automatyczne tworzenie serwisów tematycznych z popularymi filmami danego typu (np. śmieszne filmiki, dokumenty historyczne),
  • telewizja internetowa w tradycyjnym stylu - zaplanowane wyświetlanie wybranych klipów o danej godzinie,
  • rozszerzone tworzenie playlist ulubionych filmów.

Interfejs WWW lub Android.

Web Tracker

Skrypt JavaScript do śledzenia kursora myszy na odwiedzanej stronie w przeglądarce Google Chrome. Analizuje ruch kursora, kliknięcia i zaznaczanie tekstu oraz przewijanie strony. Dane w formie JSON nagrane podczas takiej sesji mogą być wysłane i zapisane na serwerze, a następnie z powodzeniem odtworzone wizualnie w tej samej przeglądarce lub automatycznie przeanalizowane za pomocą narzędzi statystycznych w celu wyciągnięcia wniosków pozwalających na zwiększenie konwersji.

Możliwe zastosowania:

  • rozszerzenie możliwości analizy ruchu internetowego o szczegółowe informacje na temat ruchu myszy i pozycji kursora nad elementami strony WWW,
  • wyciąganie wniosków o użyteczności serwisu na podstawie analizy statystycznej nagranych danych: czas odszukania linka kategorii, produktu itp.,
  • nagrywanie testów A/B.

Diagram interakcji

Architektura: JavaScript, HTML5 canvas

Prosty skrypt do rysowania diagramów interakcji pomiędzy obiektami z danych dostarczonych jako JSON. Możliwe stworzenie edytora do tworzenia diagramów.

Diagram interakcji

Analiza i obfuskacja kodu JavaScript

Podczas długich podróży pociągiem pracowałem nad skryptem PHP do analizy leksykalnej kodu JavaScript, który podzieli kod na leksemy. Dzięki temu możliwe będzie zaciemnienie takiego kodu poprzez zamianę identyfikatorów na losowe. Tokenizer zawiera jeszcze pewne usterki.

Problem Collatza-Ulama (3x+1)

Z nudów analizowałem problem stopu dla algorytmu realizującego Problem Collatza testując dla różnych liczb początkowych pewne własności liczb pojawiających się w utworzonym ciągu. Oczywiście nie odkryłem żadnych interesujących wniosków potwierdzających lub obalających hipotezę Collatza. ;)

Komentarze

Na razie brak komentarzy, Twój będzie pierwszy.

Dodaj komentarz