Prosty skrypt AHK do uruchomienia i natychmiastowej minimalizacji #thunderbird do traya.
Wystarczy skompilować kod w AHK2EXE, skopiować EXE np do %LOCALAPPDATA%\Programs i wrzucić skrót do EXE w autostarcie %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
Co to robi?
Uruchamia po prostu Thunderbirda i automatycznie minimalizuje okno.
Wymagania?
Thunderbird
aktywna opcja minimalizacji okna Thunderbird do traya (patrz załączone screeny)
KOD skryptu: https://pastebin.com/s9Pmn0NG
Skompilowany EXE 64-bit: https://pixeldrain.com/u/DYcXo29B
#autohotkey #protip #programowanie #technologia #gruparatowaniapoziomu


@fadeimageone - fajnie - ale do takich zadań na Windowsie wolę https://www.autoitscript.com/site/autoit/
Zaloguj się aby komentować

Przekonanie o wystarczalności wzorców projektowych oraz zbioru zasad programistycznych kończy się powstaniem kolekcji trochę bardziej skomplikowanych CRUDów. O tym, że architektura całego systemu jest ważna, przekonywał często Sławomir Sobótka. Krytykując przerośnięte CRUDy komentarzem „Encje na...
Moim głównym zastosowaniem AI w pracy jest zamiana "no chyba cie po×ebało" w profesjonalnie brzmiące maile
#ai #programowanie #pracbaza #korposwiat #heheszki
Do odpowiedzi na głupie prośby korzystam z https://github.com/hotheadhacker/no-as-a-service , polecam
Zaloguj się aby komentować
Dzisiaj, chyba o 19:00 polskiego czasu, rozpoczyna się coroczny Apple Event, na którym gigant z Cupertino ogłasza premiery swoich nowych produktów. W planach są między innymi smartwatche.
Od kilku dobrych miesięcy krążą „plotki” że Apple znalazło nowego dostawcę modemów - MTK.
Tak się składa, że pracuję dla MTK… ba, nawet płacą mi za pisanie kodu dla modemów. Przypadek? Nie sądzę.
#programowanie #programista15k #programista15k #pracait #chwalesie #apple #applewatch
Zaloguj się aby komentować
Zaloguj się aby komentować

Jakiś czas temu, analizując dokumentację Gita, natknąłem się na polecenie git notes. Myślałem, że znam Gita całkiem dobrze, ale to było dla mnie coś nowego.
W najnowszym artykule wyjaśniam, czym są git notes i analizuję możliwości, jakie daje ta funkcja. Dowiesz się również jakie problemy widzę w...
Piatek, godzina 21. Czas na deploy na produkcję
#programowanie #yolo #startup

Zaloguj się aby komentować
Nie udało się zreplikować buga ze środowiska produkcyjnego.
Mogę z czystym sumieniem odpowiedzieć "Dziwne, u mnie działa"
Nie no, żartuje. Mam lipe
#programowanie #pasjonaciubogiegozartu
Klasyka gatunku, na test systemie śmiga, na prod już nie 😂 dziś u nas była zagwozdka, transakcja wysypuje się tylko jak user loguje się z językiem włoskim, a w każdym innym języku działa. W sumie to SAP, więc wszystkiego można się spodziewać 😂
Więc trzymaj się tam, i oby udało się dojść do tego co z tym prodem jest nie tak
@redve Klasyk, sprzedaliśmy klientowi soft za 500k pln, wszystko uruchomione i przekazane do użytkowania. Gość który przeczesał rynek w poszukiwaniu "najbardziej optymalnego softu" już nie pracuje. Gęste spłonęło na mnie. Ustawiłem środowisko testowe w firmowym labie, zasymulowałem "działanie". Okazało się że jest tyle mniejszych i większych baboli że to nawet na beta testy się nie nadaje. Czasem nie da się użytkować w "stock" konfiguracji. Co parę dni przewalam do producenta logi o wadze 500 MB. U nich działa, błędu nie można zreprodukować ¯\_(ツ)_/¯ Co prawda sporo poprawili, co się chwali, jednak co odpalę kolejną funkcję to znów jest jakiś problem.
Zaloguj się aby komentować
Mieliście lcd z wadą która polega na tym że jest offset pikseli?
Mam na obu kierunkach minus 40px. Rezultat jest taki że nie mogę nic wyświetlić dobre 20px od prawej krawędzi.
Zjebany jakiś ten lcd. Jakieś inne adresowanie? Na żadnym innym lcd tak nie miałem.
#elektronika #programowanie wołam #arduino bo używacie takich.
Wcześniej myslałem że jest zepsuty a on mi wyświetlał znaki poza widocznym terenem vramu.

Zaloguj się aby komentować
No i nareszcie poszła aktualizacja gry na steam ( ͡° ͜ʖ ͡°)
Wreszcie dodałem to co chcę, sporo zmieniłem i sporo naprawiłem, oby aktualizacja się przyjęła.
Nowości i zmiany w grze
Od teraz potwory zabijać można na 2 sposoby, mieczem oraz skokiem na ich głowę
Mechanika atakowania mieczem wprowadziła nowych przeciwników do gry i pozwala na ich umieszczanie w niskich tunelach
Dash - czyli umiejętność dostępna w sklepie została zmieniona na ogólnodostępną
Każda postać w każdym momencie może go wykonać bez konieczności kupowania
Dodano nowy przedmiot do gry "Hollow" jest to postać, która postawiona na mapie służyć będzie jako kotwica ostatniej szansy, gdy gracz straci ostatnie życie zostanie do niej przeteleportowany.
Negatywną stroną Hollowa jest odbieranie ostatniego życia, gracz po uzdrowieniu przez Hollowa ma 0 żyć
Usunięto postacie ze sklepu, od teraz jedynym sposobem na ich odblokowanie jest pokonanie Bossa
Usunięto skille i umiejętności ze sklepu, przedmioty te zostały porozrzucane na mapach jako przedmioty do znalezienia i używania ich na danym poziomie, nie zapisują się pomiędzy poziomami.
Poprawiono błędy Audio, które uniemożliwiały odpalenie muzyki po jej wyłączeniu, oraz przycisk który sugerował jej ciągłe wyłączenie.
Dodano liczniki czasu do gry a wraz z nim licznik czasu spędzonego na mapach, licznik ten zapisuje tylko i wyłącznie czas po przejściu mapy, jeżeli opuścimy ją w trakcie grania licznik nie zapisze tego czasu
Nowa zakładka pomoc, znajdują się tam informacje na temat sterowania a w przyszłości i poradniki
Wraz z wprowadzeniem systemu walk mieczem, zamieniono postacie.
Poprawiono kilka mniejszych błędów w grze
Zmieniono design poziomów, oraz będzie on w najbliższym czasie dopracowywany do nowych mechanik gry
#pcmasterrace #gry #programowanie #chwalesie





Zaloguj się aby komentować
W końcu dopadła mnie wena, żeby robić więcej przy grze ( ͡ಥ ͜ʖ ͡ಥ)
Wraz ze zmianą fabuły zmieniłem cały pierwszy poziom, powiększyłem go 4 krotnie, dodam tam więcej poradników, żeby nie zaśmiecać kolejnych poziomów.
Tak samo nagrywana będzie historia na początku, aby wyjaśnić małą fabułę w grze.
A ta zmieniła się z odzyskania kamulca na odzyskanie rodziny.
Pierwszą postacią będzie Walter, który wracając z lasu zobaczy, że jego wioska jest spalona a siostry porwane.
Gracz będzie przemierzał poziomy i ratował rodzinę, z każdą odblokowaną postacią będzie mógł ją zmienić i grać jedną z sióstr, uratowanie siostry to zadanie pokonania bossa aktu.
A będzie ich aż 8, 7 bossów będzie służyło do odblokowania postaci a ostatni będzie do zabicia jako zakończenie gry.
W międzyczasie przygotowane są także dramaty i poboczne historie aby gracz mógł się lepiej wczuć w ratowanie.
Od teraz gracz nie zaczyna przygody od ładnej wioski, ale od spalonej, pośród płomieni i widoku katastrofy.
Dodatkowo będzie można przejść "platformowo" czyli pod i na samej platformie, co pozwoli lepiej przygotować poziomy.
W grze zmieniłem praktycznie całą mechanikę, sklep utracił 90% opcji, ale umiejętności pozostaną w grze jako umiejętności specjalne, już w samym demo będzie można pobawić się kulami ognia.
Na screenie nowy wygląd pierwszego poziomu
Oraz filmik
#pcmasterrace #gry #programowanie #hobby #steam

Zaloguj się aby komentować
3 w nocy a chłop dalej siedzi nad swoją gierką.
Na szczęście pierwszy akt jest już prawie zrobiony.
Dzisiaj ogarnąłem etap z Bossem i zrobiłem małe zmiany, zamiast kupować postaci będziemy je odblokowywać, a te będą miały dialogi dopasowane do postaci, którą aktualnie gramy, więc będzie odzywała się dosłownie do gracza a nie ogólnikowo ( ͡° ͜ʖ ͡°)ノ⌐■-■
No i zaszła zmiana w fabule, od teraz nie idziemy odzyskać kryształu, ale odzyskać swoją rodzinę
Jack jako młody chłopak, jako jedyny ocalał nalot na wioskę a resztę jego sióstr porwał wróg, gracz będzie co akt ratował jedną z 8 postaci
Na każdy akt przypadać będzie około 10 poziomów.
Po odblokowaniu wszystkich zostanie finalny boss ( ͡° ͜ʖ ͡°)
A tutaj filmik jak się odzywa pierwsza uwięziona siostra w zależności od postaci.
Teraz tylko poprawić stare dialogi, ogarnąć i ogromny update wpada na steam 乁(
Od pierwszej wersji gry zmieniło się już praktycznie wszystko
! #indiegamedev #pcmasterrace #programowanie #hobby #steam
Zaloguj się aby komentować
Wiedzieliście, że Polska ma swój własny DCF77 ?!
Momentalnie na usta cisną się miliony pytań! A komu to potrzebne? Jak do tego doszło? Otóż okazuje się, że GUM prowadzi serwis e-Czas, którego jedną z części jest e-Czas radio .
Oczywiście, zamiast wykorzystać bardziej popularny DCF77, musieliśmy stworzyć własny protokół, który jest gorszy od DCF77. e-Czas gwarantuje dokładność synchronizacji poniżej (trochę analne stwierdzenie) 10ms, a błąd synchronizacji w DCF77 nigdy nie przekroczy 5.5us. Czyli mówimy tutaj mniej więcej o trzech rzędach wielkości różnicy, ale jak to było, nie będzie Niemiec pluł nam w twarz.
Odbiornik referencyjny jest zamieszczony na Githubie . Świetnie! Tja... Schemat w Eaglu z adnotacją, odsyłającą do schematu w KiCadzie. Okay, tylko dla kicadowej wersji nie ma PDFa, a mi nie chcę się ściągać specjalnie KiCada. RF frontend na scalaku, okay. DSP zrobione na lekko prehistorycznym PICu (mimo że projekt został wrzucony na Githuba w zeszłym roku, no ale może jest starszy). Z opisu odbiornika na stronie GUMu wynika, że demodulacja jest napisana w assemblerze. No okay, czyżby zabrakło mocy obliczeniowej i trzeba było ręcznie optymalizować kod? Tylko, że częstotliwość IF to 1kHz, a ten PIC może się kręcić do 40 MIPSów. A teraz najlepsze - kod źródłowy nie jest dostępny, tylko plik hex! Także ten...
W okolicach projektu oczywiście musieli się kręcić krótkofalarze. Jedną twarz nawet kojarzę.
#programowanie #programista15k #programista25k #pracait #telekomunikacja #radiokomunikacja #elektronika #telcozhejto
@groman43
błąd synchronizacji w DCF77 nigdy nie przekroczy 5.5us.
Cos na potwierdzenie tych rewelacji?
Bo z samej odległości 900km od nadajnika będę miał błąd 3ms - o trzy rzędy wielkości większy, niż piszesz.
Na 5.5us dokładność trzeba by znać odległość co do kilometra i robić na to ręczną poprawkę.
@Felonious_Gru The DCF77 transmitted carrier frequency relative uncertainty is 2 × 10−12 over a 24-hour period and 2 × 10−13 over 100 days, with a deviation in phase with respect to UTC that never exceeds 5.5 ± 0.3 microseconds. (Wikipedia, link powyżej).
Nie chodzi tutaj o dokładność synchronizacji pomiędzy nadajnikiem a odbiornikiem, a dwoma odbiornikami zlokalizowanymi w podobnym miejscu. Strona GUM nie podaje jaki jest phase noise e-Czas. Jedyne, co mogłem znaleźć to stwierdzenie "Dokładność synchronizacji odbiorcy końcowego: <0,01 s". Zero informacji, czy chodzi o synchronizację pomiędzy odbiornikiem a nadajnikiem, dwoma odbiornikami, na jakiej odległości. Zero informacji z czego konkretnie wynika ta liczba.
Ogólnie nie widzę sensu dokładnej synchronizacji pomiędzy nadajnikiem a odbiornikami. Synchronizacja pomiędzy odbiornikami w danym miejscu (bo to odbiorniki mają coś "zrobić" w konkretnym czasie) ma znacznie większe znaczenie moim zdaniem.
Edit: Generalnie moim zdaniem tam wszystko jest źle
Lekko prehistoryczny DSP, mimo że e-Czas wystartował pod koniec 2023
Brak kodu źródłowego
Sam protokół też jest z tyłka. CRC jeszcze bym zrozumiał, ale na cholerę im kodowanie RS w czymś takim?
@groman43 no sam widzisz, porownujesz totalnie różne rzeczy.
To już ci porównałem - dcf stoi 900km ode mnie, Solec Kujawski jakieś 200km, już z tego wynika, że opóźnienie jest mniejsze.
Dokładność samego źródła na pewno nie będzie gorsza.
Cudownością DCF77 było to, że te 52 lata temu nie było innej metody, a odbiór był stosunkowo prosty. Wadą jest konieczność utrzymania dobrej jakości odbioru przez 2 minuty żeby mieć pewność, że odbierze się całą ramkę.
Zaletą e-czas jest to, że nie ma potrzeby używania oddzielnego nadajnika. Czas przesylania ramki też jest fantastyczny. W 2 sekundy cala ramka i jest wysyłana chyba co 15 sekund. Wadą jest większe skomplikowanie odbiornika i brak dedykowanych odbiorników w cenie kurzu z półki.
Zaletą obu jest większa odporność na zakłócenia niż gps, wadą obu śmiesznie niska dokładność u odbiorcy końcowego w porównaniu do gps.
Jest też artykuł na Wikipedii (nazwa autora artykułu podobna do tej z projektu githubie):
https://pl.wikipedia.org/wiki/PCSK225
W artykule podlinkowane są otwartoźródłowe implementacje demodulatorów/dekoderów.
Zaloguj się aby komentować
Oto historia najbardziej lubianego języka programowania na świecie: Pythona.
Python: The Documentary | An origin story
To, co zaczęło się jako poboczny projekt w Amsterdamie w latach 90., stało się silnikiem napędzającym sztuczną inteligencję, obróbkę i naukę o danych oraz największe firmy na świecie.
#programowanie #python
@Knight - w czystm Pythonie to prawda.
Używają Pandas czy Polars czy gołego NumPy (czyli modułów, które napisane są w C lub Fortranie) to masz szybkość języków statycznie typowanych.
Można też użyć Cythona i sobie skompilować krytyczne funkcje do modułu, który jest natywnym C.
Python to świetny język klej i do automatyzacji - miliony programistów nie może się mylić
Oto historia najbardziej lubianego języka programowania na świecie: Pythona.
@koszotorobur Wg statystyk stackoverflow najbardziej lubiany jest Rust, któryś rok z rzędu:
https://survey.stackoverflow.co/2025/technology#2-programming-scripting-and-markup-languages
Zaloguj się aby komentować
Największy paradoks branży IT zwanej inaczej programowaniem jest taki, że pracy nie dostają wcale najlepsi programiści. Jest zupełnie odwrotnie. Prace dostają słabi techcznie, średniacy, kombinatorzy.
Pierwsze sito - Julka z HR po europeistyce. Już na tym etapie dobry programista często jest skreślany przez to, że Julka ocenia go pod względem matrymonialnym - jeśli facet trochę odstaje od normy pod względem urody to już nie zobaczy kolejnego etapu. Oczywiście Julka nazmyśla, że to była wina w jego charakterze, konfliktowy czy coś tam, problem z głowy.
Drugie sito to techniczny rekruter. Jeśli dobry programista, specjalista tutaj dotarł - to i tak nic nie dało. Techniczne rekrutacje i tak nijak mają się do codziennej pracy. Taki typowy Senior Java Developer w pracy przez 80-90% czasu koduje, 10-20% czasu chodzi na spotkania. Taki Senior Java dev nie ma za wiele do gadania, poniewaz i tak całe architektury, frameworki dogaduje Lead/Principal/Architect IT z managementem, a senior pokornie dodaje te nowe topici do kafki, indeksy do postgresa czy też tworzy nową lambde w AWS tak jak góra przykazała - typowy wyrobnik jak w fabryce.
Tymczasem na rekrutacji takiego Seniora będą orać z algorytmów LEETCODE medium, zazwyczaj dają ci z 60 minut na 3x mediumy bez IDE przez stronke, zero podpowiedzi. Więc w praktyce musisz pamiętać też importy xD To już samo w sobie jest tak spierdolony sposób testowania skilla programisty, że ten musi pamiętać np w jakim pakiecie jest Comparator czy Comparable xD Albo czy o1 - o2 to ASC czy DESC.
Potem odpytywanie top 1000 INTERVIEW QUESTIONS z google. Każdy kto choć raz przerobił te pytania wie jak często nieżyciowe sa to bzdury, albo jest to coś, co można raz na 1-2 lata wygooglować, poczytać w dokumentacji i zastosować. Nie jest to coś co jest ci na codzień potrzebne by napisać @RestController. Ale nie, na rekrutacji rekruter może ci kazać z pamięci podać jakąś flagę do JVM albo GC - a jak nie umiesz to ch*j jestes a nie senior tak ci powie xD
W praktyce więc wygląda to tak, że pracę dostają przeważnie słabe osoby, co poświęcą te 2-3 miesiące by zrobić 300x leetcode medium, wykują z 1000 pytań z googla na blache, coś tam poczytają o system design i tyle.
Potem taki koleś w robocie będzie pisał 5 dni proste zapytanie do elasticsearcha, gdy będzie trochę więcej parametrów, skomplikowana struktura kodu i AI nie sobie nie poradzi ze zrozumieniem projektu albo plików będzie tak dużo że nie załaduje się kontekst bo nie starczy tokenów - jak to jest w większości pierdolników outsourcingowych IT i mikroserwisów z tysiącami klas xD No ale ch*j, na rekrutacji umiał z zamkniętymi oczami odwrócić cykliczną listę wiązaną oraz napisać merge sorta z użyciem Virtual Threads więc pracę dostał xD
Trzeci absurd jest taki, że wielu obecnych midów i seniorów to są ludzie po bootcampie. Seriom w w latach 2017-2020 wbiło ich dziesiątki tysięcy na rynek pracy. Więc doskonale wiedzą jak chu*wymi są programista i z góry boją się gościa, co ma mgr inż z dobrej polibudy i certyfikaty AWS, K8S, Kafka, Elasticsearch, bo to wykształcenie i certy często jest zbieżne z wysokim skillem pacjenta - leniwej osobie sie takich rzeczy robić nie chce, a leniwy programista = chu* programista, osoba która ma doświadczenie/certy przynajmniej pokazuje że umie/lubi się uczyć więc na 99% jest dobrym koderem będącym na bieżąco z branżą (oczywiście wyjątki bywają, ale rzadko).
Często jest więc tak, że rekruter boi się o swój stołek, bo zatrudniając lepszą osobę sam by po 2-3 miesiącach został wyj****. Mam znajomego programistę w innym kołchozie, który sam zresztą chodzi na rekrutację jako rekruter techn ze swoim liderem - rekruter techn. No i nieraz mówił, że mieli super kandydata, co wszystko praktycznie wiedział, w dodatku potrafił tego lidera zagiąć swoimi kontr-pytaniami, wiedzą. Rekrutują od roku i jego lider odrzucił już 30+ programistów - bo większość była lepsza od niego. Ale managerom sprzedał bajkę, że mieli słabego skilla programistycznego albo byli zbyt "konfliktowi" i by sie z nimi kiepsko pracowało xD I tak wyglądają te "oferty widmo" - często po prostu siedzi tam taka oferta senior java po bootcampie i się boi o swój stołek xD
#programowanie
@pozytywny_gosc1
bo to wykształcenie i certy często jest zbieżne z wysokim skillem pacjenta
Się połowicznie zgadzam do powyższego momentu - później już całkiem nie
Sporo ludzi po certyfikatach nie posiada praktycznych umiejętności i/lub krytycznego myślenia oraz umiejętności rozwiązywania problemów.
Egzaminów na certy można się wyuczyć na blachę z dumpów tak samo jak wykuć na egzamin na studiach i po zdaniu zapomnieć.
Od dekady mam swój sposób zatrudniania i tylko raz dałem się socjopacie oszukać (ale techniczne zdolności jednak miał) - na szczęście nie dał rady udawać przez cały okres próbny
@koszotorobur raczej wartość dodana dobrego dyplomu studiów/certów to nie wartość tego "contentu" lecz
na dobrych studiach wymuszą na tobie byś zrozumiał jak od A do Z działa CPU czy RAM, jak działa pamięć itd. Typowego samouka siegającego po React takie tematy nie obchodzą, bo przecież i tak w pracy nie tyka nic związanego z pamięcią
pokazuje dyscypline, zaangażowanie - umie dowieźć nudne/trudne tematy co w IT jest konieczne bo ta praca jest nudna, a są osoby co szukają w tym "emocji" więc wybierają easy-paths
"Sporo ludzi po certyfikatach nie posiada praktycznych umiejętności i/lub krytycznego myślenia oraz umiejętności rozwiązywania problemów."
jesli przychodzi do ciebie koleś który ma 10 lat expa w zawodzie i przez te 10 lat kasował pensje 25-30-35k netto b2b co miesiąc i stwierdzasz, że nie posiada umiejętności krytycznego myślenia - to chyba nie jest problem z kandydatem xd
Przecież taki pre-requisite by np zdać certy z AWS to 2-3 lata expa w pracy w chmurze, dopiero potem examin. To nawet na stronce AWS pisze. W praktyce tych egzaminów nie da się zdać jeśli się z tą chmurą nie pracuje (tzn. da się, ale jest to zapewne droga przez męką nie tylko czasową ale finansową xD)
Zaloguj się aby komentować
Standardowy wątek o kosztach Google Maps i jak ktoś przypadkiem wtopił kasę. Ale czego ja nie wiedziałem i co jest srogie, to, że Google zabrania cachowania i teoretycznie można to zinterpretować tak, że każdy użytkownik szukający "Kraków" powinien strzelić po wyniki dla "Kra", "Krak" do Google osobno, bo to by było cachowanie autocomplete. XD
https://www.reddit.com/r/webdev/comments/1n4ikxo/comment/nbld96q/
#google #api #googlemaps #programowanie
Zaloguj się aby komentować
Wreszcie skończyłem pisać kilka nowych rzeczy do swojej gry
Ale najbardziej zadowolony jestem z "Hollow'a"
Czyli ducha gracza, który pozwoli przejść trudne etapy w grze bo po prostu przy pomyłce i śmierci zamiast zaczynać od nowa gramy z miejsca gdzie postać postawiliśmy ze wszystkim co mieliśmy wcześniej.
Dodatkowo zmienione w grze zostało dość sporo, a jutro mam nadzieję wpadnie duży update do zamkniętego playtestu na steam.
Co zostało zmienione / dodane
Walka mieczem - od teraz można pokonać wroga na 2 sposoby
Usunięto umiejętności ze sklepu - są to teraz rzadkie itemy do znalezienia, które działają na danej mapie tylko
Dodano Hollow'a właśnie - dostępny w sklepie do kupienia za 150 kamyków
Dash jest teraz domyślną umiejętnością postaci, pozwoli to na lepszą dynamikę gry
Dodano latających przeciwników, do zabicia tylko mieczem z powodu ich latania
Stworzyłem UI dla sterowania, żeby na początku każdy wiedział jak wygląda + pomoc w menu dla sterowania
Nie ma już flag do zapisywania poziomów dla kontynuowania gry, gra zapisuje ukończony poziom za każdym razem
Odchudziłem grę jak i z RAMu tak i pamięci, gra zajmuje już mniej niż 1GB na dysku
Akcje w grze mają suwak głośności czyli możemy zmniejszyć dźwięk zabijania czy podnoszenia
Kolejna aktualizacja gry będzie dość duża ( ͡~ ͜ʖ ͡°)
! #pcmasterrace #gry #programowanie #walteradventure #tworczoscwlasna
Zaloguj się aby komentować
Open Source is one person
The Register niedawno opublikował artykuł zatytułowany Putin on the code: DoD reportedly relies on utility written by Russian dev. Powinni się wstydzić tego tekstu. Ten biedny deweloper open source teraz obrywa, tylko po to, żeby ktoś mógł nabić sobie parę punktów w internecie. To naprawdę przykre.
Ale spójrzmy na fakty. Jeśli nie jesteś zbyt bystry, to może się wydawać, że wskazanie na projekt open source napisany przez jedną osobę w kraju, którego nie lubisz, jest czymś złym. Może tak być. Ale równie dobrze może być tak, że oprogramowanie, na którym działa CAŁA CHOLERNA PLANETA, jest napisane przez jedną osobę. W jakimś kraju. Tylko nie mamy pojęcia, w jakim. To nie jest ta sama osoba, żeby była jasność, ale to zawsze jest jedna osoba.
I tu jest sedno sprawy. Prawie cały open source to dosłownie jedna osoba. To znaczy: jeśli spojrzysz na wszystkie projekty open source na świecie — a jest ich mnóstwo — zobaczysz powtarzający się wzorzec: zawsze jedna osoba, bez względu na to, jak podzielimy czy przeanalizujemy dane.
#programowanie #opensource &źródło
@Deykun A no też to zauważyłem, że w zasadzie tylko jakieś duże projekty open source, które mają jakiś widoczny "frontend" w postaci strony/programu itp mają dużą ilość aktywnych maintainerów. A jeżeli popatrzymy sobie na losowe libki albo pakiety nodejs/rusta/go/pythona itp to ogromna cześć z nich jest faktycznie utrzymywana przez jedną osobę, ma np z 200-300 gwiazdek na githubie a jednocześnie 18 milionów pobrań z NPM xD.
Moim zdaniem tacy ludzie są ogromnie niedoceniani bo efekty ich pracy są widoczne jedynie przez innych programistów którzy korzystają z ich bibliotek. A końcowy użytkownik widzi jedynie gotowy program/stronę i całą swoją wdzięczność przelewa na twórców tego programu nie widząc nawet o istnieniu ludzi którzy stoją za wszystkimi pakietami które pozwoliły ten program stworzyć.
No więc to chyba najgorsza możliwa pozycja w świecie open source, bycie takim jedynym maintainerem jakiejś popularnej biblioteki. Nie dość, że jest na tobie presja, bo jak coś zepsujesz to możesz wywołać ogromne zamieszanie w świecie IT, to jednocześnie masa ludzi od ciebie oczekuje, że będziesz do końca utrzymywać to za darmo xD. Nie trzeba nawet sięgać daleko żeby zobaczyć do czego takie coś może doprowadzić, przypominam niedawną akcje z backdoorem w linuxowym xz. Dokładnie taka sytuacja, jeden dev który nie ma czasu i siły utrzymywał narzędzie używane przez większość największych dystrybucji Linuxa.
@Catharsis problem bardzo często wałkowany na OSS. Niemiecki rząd się za to wziął i zaczęli fundować takie projekty. Zwłaszcza, że świat się zmienia. Kiedyś ktoś używał tego do pracy (w sensie bibliotek), ale teraz ludzie naprawdę koszą na tym kokosy. A potrafią być w dodatku strasznymi dupkami dla maintainerów.
Zaloguj się aby komentować
Wszystko zaczęło się kiedy miałem 12 lat (albo w tych okolicach). Mój pierwszy, wymarzony komputer. Myślałem, że będę giercował całe noce. Myliłem się.
Niestety, okazało się, że z coś było nie tak z moim pierwszym komputerem. Gry, zaraz po odpaleniu, potrafiły się "minimalizować". Dopiero po kilku próbach mogłem zacząć zabijać Niemców w pierwszym Call of Duty albo ścigać się w Need for Speed Underground 2. Było to niewiarygodnie frustrujące. Nigdy nie dowiem się, na czym polegał błąd. Bug w Windowsie XP? Wadliwe sterowniki Nvidii? A może po prostu uszkodzona karta graficzna.
Byłem znudzonym nastolatkiem. Miałem komputer, miałem dostęp do Internetu, ale nie mogłem grać. To nie mogło skończyć się dobrze. Zacząłem programować.
Pisałem pierwsze programy Turbo Pascalu 7.0. Do dzisiaj pamiętam, że na końcu programu, po ostatnim "end" trzeba postawić kropkę. W sumie, to jedyna rzecz, którą pamiętam z Pascala.
Na samym programowaniu się nie skończyło. Poszedłem krok dalej. Odkryłem u siebie zamiłowanie do rzeczy niszowych, indie, off-topowych. Został hipsterem zanim stało to się modne. I zainstalowałem swojego pierwszego Linuksa - Mandrake, chyba w wersji 9.0.
Oczywiście, jak to z Linuksami bywa, coś tam tradycyjnie nie działało. Po kilku dniach poszukiwań w Internecie, na zagranicznych forach, znalazłem rozwiązanie. Musiałem "skompilować jądro"!!! Nie wiedziałem co to znaczy, nie wiedziałem dlaczego dokładnie muszę to zrobić. Wiedziałem tylko, że musiałem skompilować jądro.
Kompilacja jądra nie rozwiązana problemu. Ale to już nie miało znaczenia. Wszedłem na ścieżkę, z której nie było odwrotu. Zacząłem programować na poważnie - najpierw w C, potem w C++. Wreszcie zrozumiałem jaka jest różnica pomiędzy kompilacją a linkowaniem. Dowiedziałem się o innych architekturach niż x86 - ARM, Sparc, etc. Poznałem, co to endianness i przerwania procesora.
Sam Linuks mi już nie wystarczał. Musiałem zainstalować FreeBSD i oczywiście również skompilować jądro. Potem wróciłem na Linuksa, a konkretnie na Gentoo. Gardziłem gotowymi paczkami i uważałem, że wszystko trzeba kompilować ze źródeł.
Marzyłem, żeby dostać się na informatykę. I dostałem się. Ale nie taką zwykłą, tylko na starym Wydziale Elektroniki (W4) na PWr. Tam, dowiedziałem się o jeszcze bardziej niszowych rzeczach - DSP, FPGA. To było jak nieopisane spadanie w studni nieskończonego potencjału. Implementowanie stałoprzecinkowego FFT w VHDL od podstaw. Transformata falkowa jako podstawa mojej pracy inżynierskiej. Eh, wspaniałe czasy. Aż łezka mi się w oku kręci.
Aż w końcu nastał 1 października 2014. Przez czysty przypadek (a może zdecydowali tak starożytni bogowie) trafiłem to fińskiej firmy zajmującej się telekomunikacją bezprzewodową. DSP, FPGA, matematyka, informatyka, elektronika, system engineering. Wszystko w jednym miejscu! Czy może być coś piękniejszego? Ależ oczywiście, że nie!!!
Moje życie pewnie potoczyłoby się zupełnie inaczej, gdyby nie te problemy z pierwszym komputerem. Przypadek? Może... a może po prostu tak miało być? Może to jest moja karma. Może o moim przeznaczeniu zadecydowali starożytni bogowie? Tyle pytań, tak mało odpowiedzi!
Jestem kucem. Jestem pasjonatem. Jestem z tego dumny. Nikt nie jest w stanie mi tego zabrać. Właśnie skompiliwałem sobie kernela Linuksa na RISC-V w wersji 64 bitowej. Dla czystej przyjemności.
#programowanie #programista15k #programista25k #pasjonat15k #pracait
Zaloguj się aby komentować