Wątek przeniesiony 2022-09-07 13:47 z Off-Topic przez cerrato.

Jakie narzędzia napisaliście na własne potrzeby?

6

Programowanie w gruncie rzeczy powstało po to, żeby rozwiązywać problemy.

Jakie narzędzia napisaliście na własne potrzeby i co robią?

Zaczynając od siebie:

Miałem problem z za duża ilością przelewów, które musiałem manualnie konfigurować (opłacenie FV leasingu, biuro, księgowość etc.) - zabierało mi to każdego miesiąca z 20-30 minut życia.
Napisałem mały soft, który z pliku czyta wszystkich odbiorców i generuje do mbanku CSV pod koszyk przelewów.
Każdego miesiąca jedynie ew. dodaje jednorazowe opłaty i w parę klików załatwiam wszystkie przelewy na raz.

Swój zyskany czas zainwestowałem w dłuższą prokrastynację - po coś to w końcu robimy 😆

6

Jak wiecie jestem jednocześnie programistą i poetą. Na własne potrzeby napisałem taki CMS, jakby generator JSP, w Perlu. Piszę wiersze od piętnastu lat. Trzymam je w XMLu (każdy wiersz w oddzielnym pliku), a dodatkowo daty i informacje o kategoriach wierszy w Prologu. Moje perlowe skrypty generują pliki JSP, które następnie kopiuję do projektu w NetBeans, kompiluję i gotowy WAR uploaduję na mój VPS. Dzięki temu mam automatycznie tworzony słownik wierszoklety oraz wyszukiwarkę wierszy, updatowane z każdym kolejnym wierszem. Ten generator nie jest nigdzie opublikowany.

Kiedyś myślałem, żeby mój "content" dla dzieci również generować automatycznie z każdym nowym wierszem, teraz to zarzuciłem. Mam na przykład kwadraty logiczne (3x3 i 4x4) w różnych językach, albo wykreślanki czy labirynty. One zostały raz wygenerowane, ładnych parę lat temu, i nie są tworzone na nowo. Mam na przykład kolorowanki (takie czołgi), które są zrobione w Blenderze (skrypt w Pytonie + ImageMagick). Wszystkie te rzeczy są mniej więcej dla dziesięciolatków, robiłem je dla własnego synka. Opublikowałem tylko dwa generatory w Perlu (do statków kosmicznych i do kwadratów logicznych - ale to ostatnie tylko po angielsku). Są na moim githubie: link. Są też na CPAN.

10

Na własne potrzeby?

Napisałem firmowy generator daily. Mniej więcej 30 powtarzających się fraz - ciągle takich samych przez grupę ok. 15 osób.

Kolejny etap rozwoju projektu: jakiś syntetyzator mowy połączony z deepfake(w szczególności chodzi mi obraz) aby jeszcze wylosowane daily-frazy były mówione automatycznie.

1

Kiedyś w robocie musiałem robić takie raporty z wykonanej pracy i zrobiłem programik do pół-automatycznego generowania tych raportów w pythonie i bashu. Zrobiłem też programik w pythonie do obsługi spotify pod linuxem, tzn. żebym mógł sobie podpiąć klawisze multimedialne z klawiatury pod sterowanie spotify i wyświetlać tytuł utworu na pasku statusu (wiem, że na innych systemach takie rzeczy są out-of-the-box, ale nie wtedy zabawy z tworzeniem takich tooli : P). Kiedyś zrobiłem też mini-programik do dynamicznego przełączania tapet na ekranie w zależności od pory dnia i lokalizacji na linuksie jak na macOS. Tzn. że jak jest rano, to jest jedna tapeta, w południe inna, wieczorem i w nocy inna tego samego miejsca z innym oświetleniem. Mam jeszcze pomysł na jedną prostą apkę mobilną na androida dla własnych potrzeb, ale jeszcze jej nie zrobiłem, to jej tu nie podaję : P.

4

Duzo tego było, ale najbardziej mi się przydały:

  • biblioteka do CQRS (użyłem w kilku projektach komercyjnych),
  • aplikacja do zarządzania budżetem domowym (wciąż używam i rozwijam),
  • obecnie piszę aplikację zbierająca dane z różnych serwisów pogodowych dla mojego miasta i wyświetlającą wszystkie dane w jednym miejscu (z angielskiego Single Pane of Glass) :D
4

Obecnie piszę narzędzie do przeszukiwania, analizowania i refaktorowania kodu JS.

Będzie mi pomagało wchodzić w nowe projekty, generować kod reactowych komponentów i takie tam.

Jeszcze w ramach tego narzędzia zacząłem tworzyć własny język programowania, który będzie się kompilować do JS, jednak to dopiero eksperyment.

6

Może nie jest to typowo narzędzie, ale pomysłowy sposób wykorzystywania Excela (a tak konkretnie mówiąc to jego LibreOffice'owego odpowiednika). Jak parę razy wspomniałem na forum - mam w samochodzie kamerkę i z wielką radością przesyłam na Stop Agresji Drogowej zgłoszenia różnych idiotów, chamów itp. I sobie zrobiłem w Excelu taki arkusz, gdzie wpisuje dane pojazdu, datę, opis zdarzenia, link do wrzutki na YT itp. i sama mi się generuje treść zgłoszenia, tytuł maila, podstawia adres do wysłania (każde województwo ma innego maila). Bardzo to ułatwia sprawę, zwłaszcza jak robisz kilkadziesiąt zgłoszeń rocznie :D

6
  • Trochę własnego IoT – własny firmware do różnych urządzeń raportujących pomiary różnych rzeczy, przede wszystkim temperatury, ale też mam m.in. licznik Geigera; początkowo RPi, potem ESP8266 i ESP32, początkowo miałem własny system do agregacji tych danych, teraz używam InfluxDB i wizualizuję w Grafanie – głównie Arduino i C++;
  • Żeby pokazać temperaturę na zewnątrz/wewnątrz/gdzieś, zanim miałem Grafanę, używałem własnego systemu, do którego zbudowałem klienta na każdą najdziwniejszą platformę, bo czemu nie – więc jest wersja dla Windows Phone, Windows 10, Androida, HoloLens (w zasadzie to jeden produkt), Microsoft Band, reMarkable (prototyp tylko, nigdy nie skończyłem), miałem też dla Pebble i customowej opaski na rękę – przede wszystkim C# + UWP/Xamarin;
  • Dla potrzeb rozwoju własnego języka (mówionego, nie programowania) mam tonę skryptów, które generują słownik (TeX i HTML) oraz automatyczny generator inter-linear gloss i fonemizer w oparciu o jeden główny plik z danymi – Python i JavaScript;
  • Aplikacja do "dzwonienia do szlabanów" – mam na osiedlu szlabany, do których można zadzwonić, aby się otworzyły (poza używaniem pilota), a trzymanie kontaktu "szlaban" uważałem za głupie, więc mam aplikację, która trzyma te numery i potrafi zadzwonić do najbliższego (tego, pod którym się stoi) – Flutter (jest też wersja w Xamarinie);
  • Teraz wróciłem do zabawy z programem, który mapuje kontrolki MIDI do skryptów w JavaScript, pozwalających na uruchamianie rzeczy i symulację klawiatury/myszy, więc mam pad z przyciskami, które uruchamiają moje skrypty – C# + WPF.
3

Jest tego bardzo dużo ale ciężko jednoznacznie rozgraniczyć co robię dla siebie...
Z największych rzeczy, to CRM, program biurowy i CMS, który stał się także produktem, który sprzedaję.

  • w czasach szkolnych program do nauki geografii,
  • w czasie studiów sporo oprogramowania, które pomagało rozwiązywać zadania z matematyki (np. liczenie macierzy),
  • hobbystycznie trochę sterowników audio do wzmacniaczy,
  • na potrzeby biura zrobiłem swoją centralkę alarmową,
  • na potrzeby hobby napisałem test zdolności słyszenia różanych niuansów w muzyce;
  • kilka stron internetowych do prezentacji różnych prywatnych zainteresowań,
  • teraz robię swój sterownik do bramy...
  • w zeszłym roku zastanawiałem się nad sterownikiem do pieca na szczęście w tym roku nie będę miał węgla więc problem rozwiązał się sam :-)
    i niezliczone ilości innych drobnych...

a właściwie mając swoją firmę to wszystko inne też piszę na swoje potrzeby bo z każdym projektem czegoś człowiek się uczy ulepsza sposoby pracy, poprawia swój warsztat.

2
cerrato napisał(a):

Może nie jest to typowo narzędzie, ale pomysłowy sposób wykorzystywania Excela

najdziwniejsza rzecz, do której wykorzystałem Excela, to liczyłem wielomiany po to, żeby zrobić interpolację wielomianami. Bo taką grę robiłem przeglądarkową (chyba flashową) i użyłem mapy Europy z wikipedii. Trzeba było zgadnąć, gdzie leży które miasto i kliknąć jak najbliżej niego. Jednak miałem problem z przeliczaniem współrzędnych pikseli na długość i szerokość geograficzną (bo mapa, jak to mapa, była zagięta wg jakiejś tam nieznanej mi projekcji), a że przeczytałem w "Perełkach programowania gier" o interpolacji wielomianami, to wpadłem na taki pomysł (nie pamiętam, jakiego algorytmu użyłem do wyliczenia wartości, teraz pewnie bym to umiał zakodzić, ale wtedy z jakichś powodów Excel wydał mi się dobrym narzędziem do tego, żeby przeliczać kolejne iteracje przybliżeń).

I przybliżenie faktycznie działało.

2

T-Regx (libka do regexpów), cross-data providers, vue-properties (libka na npm), 4play - aktualny edytor na 4programmers.net, sync - program do edycji napisów, documentary - tool w Pythonie do budowania dynamicznych dokumentacji, git-push-force2 (tool, który używając api podmienia historie w repo, gdzie zablokowany jest push force), covers-ignore - tool który podmienia adnotacje coverage żeby zarządzać adnotacjami odnośnie code cov, plugin do phpstorm który dodaje inspekcje regexpów do funkcji z T-Regx, tech radar generator.

To tak na szybko.

2

Skrypt do klawiatury, który za pomocą przycisku zmienia mi z słuchawek na głośniki i na odwrót

2

W wolnych chwilach w celach naukowo praktycznych piszę sobie na arduino sterownik wentylatorów w PC. Docelowo chcę do tego dołożyć pomiar hałasu w obudowie i oprogramowanie, które będzie w stanie tak dobrać obroty, żeby było chłodno i cicho.
Drugi pet-projekt, wciąz nieskończony program do robienia backupów zdjęć do chmury. Nie mam dobrego miejsca na NAS'a, przechowywanie danych w chmurze jest śmiesznie tanie (glacier itp. usługi). Więc kopia zapasowa zdjęć może sobie tam leżeć za 1$ miesięcznie za 1TB. O ile nie ma potrzeby pobierania tych danych - wtedy jest drożej :)
Największy projekt, to licznik rowerowy na Androida, prędkość, średnie, zapis trasy, mapki itp. Parę lat temu była to dość popularna aplikacja, jakoś tam się zwróciła.

2

Program, który losowo ruszał kursorem myszy, klikał i symulował losowe wciśnięcia klawiszy. Potrzebne to było po to, żeby Teams świecił się na zielono gdy pracowałem zdanie w czasie pandemii i żeby wszyscy myśleli że pracuję przy komputerze

0

z kilkanaście lat temu interesowałem się trochę SEO na własne potrzeby stworzyłem różne dziwne generatory tekstu

prawy przycisk myszy -> resize video to FHD/2 lub FHD/4 (brakowało mi tej funkcji w systemie Windows)

narzędzia do kopii zapasowych stron

4

Dawno dawno temu, w odległej galaktyce....

Była sobie taka gra Frontier: Elite 2. W tej grze czas przelotu między systemami i wymagane do tego paliwo było zależne od odległości i (chyba?) typu silnika w statku. W wyliczeniach tego zużycia był jednak pewien błąd - w tamtych czasach pamięć była bardzo cenna i w ramach optymalizacji programiści liczyli to na uint16.
Błąd pozwalał na praktycznie natychmiastowe przemieszczenie się do systemu, który był w odległości 655.36 lat świetlnych (lub troszkę więcej) od aktualnej pozycji.
To były czasy DOS-a, więc napisałem sobie mały programik TSR, który dla podanych współrzędnych początku i końca wyliczał punkty pośrednie.

2

Sporo tego było, ostatnio dla syna napisałem toola, który pobierał novelkę z novelki.pl i robił z niej epuba, aby mógł czytać offline na czytniku.

1

ja napisalem dwa rootkity, oczywiscie na swoje potrzeby, potrzebowalem kasy :)

0

napisalem prosty kalkulator tak abym nie musial liczyc w glowie

1

Bota do gry plemiona.pl

1

Stworzyłem rozszerzenie do kernela Linuxa do wykrywania ataków metasploitem.

7

Napisałem program który wysyłał mi mailem powiadomienia (wraz ze zdjęciami) o tym, że kot wszedł do kuwety i trzeba posprzątać.

edit: do takiego jakieś inne mniej lub bardziej potrzebne narzędzia ale to było chyba najbardziej przydatne w prawdziwym życiu

6

A ja, (chociaż nie jestem programistą, a raczej entuzjastą programowania) napisałem program ułatwiający mi prowadzenie własnej firmy elektrycznej, a zajmuję się wykonywaniem instalacji elektrycznych w domach jednorodzinnych. Program powstał na moje własne potrzeby, mający możliwość tworzenia listy użytych materiałów na robocie i ich kosztów, mający magazyn, listę klientów, listę hurtowni elektrycznych z którymi współpracuję, wysyłka zapytań o wyceny i zamówień materiałów do hurtowni, tworzenie dokumentacji (archiwizacji) wykonanych robót, tworzenie i wysyłka mailem ofert usługowych, opisy tablic elektrycznych i ich modułów, tworzenie protokołów z pomiarów elektrycznych potrzebnych do odbioru budynku przez nadzór budowlany oraz wystawianie faktur. Program napisałem w lazarusie.

Pozdrawiam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1