Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Programowanie

Kategoria: Technologia

  • 1503 członków
  • 1212 wpisów

Lider

w Programowanie

40piorunów

Mój wkład w tworzenie rozwiązań open source I interakcja z twórcą Linuxa. dx

Pokaż więcej komentarzy (5)

Inspirator

w Programowanie

16piorunów

A ja z przyjemnością mogę oznajmić, że dopiero co wydaliśmy nową wersję Godot Rusta, o!

Głodot Rust to, w dużym skrócie, biblioteka która pozwala gadać z Godotem po rustowemu – skupiamy się na tym żeby szybko, efektywnie, bezpiecznie i przyjemnie dało się dostarczać ten słynny value, zamiast bezsensownie utykać. Zero boilerplate, zero rozkmin, większość abstrakcji ułożone tak jak w gdscripcie, siadasz i robisz co trzeba 😎 .

W tej wersji wpadły usprawnienia do eksportów, QoL ficzery do Godotowych Callable, `match_class!` do łatwego matchowania danego eventu, ostatnie szlify silnie typowanych sygnałów… i duuuuuuuuuuuużo innych usprawnień >:].

Devlog: https://godot-rust.github.io/dev/september-2025-update/

Github: https://github.com/godot-rust/gdext

Osobistość0piorunów

@DEAFCON_ONE

skupiamy się na tym żeby szybko, efektywnie, bezpiecznie i przyjemnie

To szybko i przyjemnie czy w Rustcie? Bo mi tu kolidują te słowa ze sobą xD.

A tak na poważnie bo nie jestem totalnie w temacie. Czy gry napisane w tym będą działać jakoś znacznie szybciej niż napisane w tym czym się domyślnie pisze w Godocie? No bo z tego co pamiętam to Godot używał czegoś podobnego do Pythona, no i to na pewno ma dużo mniejszy próg wejścia niż Rust, więc ciekawi mnie czy warto się męczyć z Rustem. Robił ktoś jakieś porównania wydajności, benchmarki itp?

Pokaż więcej komentarzy (7)

Autorytet

w Programowanie

22piorunów

Hej Mirki od

Jakiś czas temu wpadłem na koncepcję założenia czegoś, co wyeliminuje problem martwego internetu. Na razie to prosty projekt w Laravelu napisany z Chatem GPT, ale wierzę że może znajdą się tu pasjonaci, którzy zechcą zrobić coś z tego więcej niż jest teraz w fazie koncepcji 😉

Idea: powrót do Internetu sprzed ery social mediów. Zero memów, filmików, algorytmów – tylko czysty tekst i realna wymiana myśli. Projekt ma łączyć ludzi wokół słowa pisanego i zachęcać do wychodzenia z domu, przeżywania i opisywania doświadczeń.

Tekst > obraz* – cała komunikacja oparta na pisaniu.

Lekkość* – brak ciężkich frameworków frontendowych, minimalizm.

Anonimowość i pseudonimy* – brak parcia na realne nazwiska, większa swoboda wypowiedzi.

Brak algorytmów* – chronologia, tagi i proste wyszukiwanie zamiast feedów sterowanych AI.

Kultura retro* – estetyka wczesnych lat 2000 (fora, IRC, ziny).

1. Jest domena http://portal2000.com

2. Założenie tego co stworzyłem polega przede wszystkim na tym, że jest 0 obrazków, memów, zdjęć. Tylko i wyłącznie tekst.

3. Mamy magazyn zinów, mikroblog, forum (phpBB), irc (teraz jest libera), anonimowe wyznania - czyli user pisze w trybie anonimowym, spotkania (organizacja czegoś jak hejtopiwo)

4. Obserwowani - czyli lista userów, których obserwujemy i wyświetlają się na feedzie - można ich podświetlić innym kolorem na feedzie z resztą?

5. Pozostałe opcje to już tylko luźne propozycje.

6. Tu jest GIT dla zainteresowanych by zobaczyć jak to działa https://github.com/tosiufrompoland/portal2000.git

To jak, chciałby ktoś z szacownego grona stworzyć coś fajnego dla ludzi, którzy chcą wrócić do korzeni?

Wirtuoz0piorunów

@tosiu Wygląda trochę jak coś co wrzuciłem wczoraj: http://57.129.42.138/

BTW: Spojrzałem na kod - jakieś dziwne pliki Ci potworzyło w głównym katalogu, poza tym cała logika w controlerach, włącznie z walidacją, scopem, authem, policy itp. Trochę kupa z tego wyszła

Autorytet0piorunów

@tosiu Drobna sugestia - może dałoby się napisać front tak żeby działał też na starych przeglądarkach? Myślę że przeglądanie takiej strony na kompie z win98 to by była pełna immersja ʕ•ᴥ•ʔ

Pokaż więcej komentarzy (24)

Lider

w Programowanie

28piorunów

Klient ma aplikacje w angularze, my mamy dość duży komponent w Reacie. React jest kompilowany do web componentu, web component jest lazy loadowany i osadzany w angularze (bardzo przyjemne rozwiązanie w package.json angulara pojawia się tylko 1 dependency i nie śmieci w angularze zależnościami do tego komponentu). W naszej aplikacji w Reakcie dodałem web worker (żeby liczył na osobnym wątku coś ciężkiego. Liczy to coś biblioteką napisaną chyba w C wykompilowaną do Wasm).

Przed chwilą udało mi się uruchomić logikę napisaną w C wykonwertowaną do Wasm w web workerze w web componecie wygenerowanym z aplikacji reacktowej osadzonym w angularze. WebComponent ma ładny typ w TS który mówi jakich propsów spodziewa się React.

I brzmi to strasznie ale wbrew pozorom bardzo zgrabnie to wszystko działa i ze sobą komunikuje, jest ładne separation of concerns i samo wywołanie zajmuje mniej niż 100 linii na poziomie angulara, a jak jesteśmy w reakcie to budujemy paczkę na wyjście.

Osobistość3piorunów

Przez takie akcje potem przychodzą ludzie od niskopoziomowych języków programowania i z wyższością piszą że webdev to patola jest xD.

Osobistość1piorunów
Pokaż więcej komentarzy (15)

Gruba ryba

w Programowanie

15piorunów

Tak wygląda problem slopu w świecie Dobrym przykładem jest tutaj cURL.

Tutaj artykuł do poczytania o tym gdyby ktoś chciał szczegółowo https://news.itsfoss.com/curl-ai-slop/

Ale w skrócie:

Jesteś maintenerem repozytorium który dostaje takie issue które wygląda bardzo konkretnie https://hackerone.com/reports/2887487?ref=news.itsfoss.com Szybkie scrollowanie i konkretnie wszystko rozpisane i szczegółowo.

Potem czytasz kod który pozwala reprodukować issue a tam :

<stdio.h>
<string.h>

<errno.h>

:smiling_face_with_tear:

Polecam również zobaczyć konwersację w tym userem bo widać ewidentnie że gościu gada z botem xD

I understand you're upset, but let's keep the conversation respectful. If you need to discuss something, I'm happy to listen.

Gdzieś czytałem że takich błędów dostają około 5 na godzinę.

I tak to się żyje w tym IT

Pokaż więcej komentarzy (2)

Fanatyk

w Programowanie

19piorunów

Historia o C++
to stan umysłu. Nie pracowałem wcześniej w automotive, szczerze mówiąc nie znam reguł tych autosarów, a do projektu trafiłem dość przypadkiem. Po prostu znam wiele reguł programowania i dobrych praktyk i okazuje się, że nawet daję radę. Automotive miałem za dział w którym naprawdę dba się o jakość kodu, no bo kurde, jednak ktoś kiedyś może umrzeć XD ale co się wydarzyło, czego się nauczyłem:
Robię przegląd kodu na finiszu cyklu wydawniczego (korp. przedreleasowe review). Jest sobie funkcja, jako parametr przyjmuje inta i widzę że ten int jest bezrefleksyjnie, bez żadnego sprawdzania rzutowany na na typ enum class. No i cyk, mamy to, tak się nie robi, z tego co wiem, standard nie opisuje co ma się zadziać gdy enum zawiera wartości 1 i 2, a my chcemy rzutować wartość 3 na ten enum - innymi słowy, używamy wartości spoza zakresu. Z tego co wiem, nazywa się to "undefined behavior" i unika się takich rzeczy, no bo teoretycznie każdy kompilator może dowolnie przetworzyć taką operację i nie ma pewności co z tego wyjdzie.
Poprawiam więc aby było po bożemu, ze sprawdzaniem wartości, odpalam testy i co? Nie przechodzą! Sprawdzam scenariusze testów, a tam na legalu, gość sumuje praktycznie wszystkie wartości tego enuma w zmiennej typu int i woła tą funkcję, co w efekcie jest właśnie jawnym gwałceniem tego, co napisałem xD
Okazuje się, że to nie jedyny przypadek, bo są inne testy, które robą podobną rzecz. Wychodzi na to, że możemy w praktyce pakować do jednej zmiennej co się da, bo każda zmienna enuma to inna flaga, a potem maskujemy ją i patrzymy w tej zmiennej jakie flagi są włączone. No wszystko fajnie, ale enum przecież nie do tego służy xD więc albo scenariusze są wadliwe, albo design. Napisałem więc do autora by spytać, co miał na myśli, a ten na to, że wszystko jest w porządku i tak ma być.

Otóż w automotive jest wzorzec zwany flag enum i dosłownie gwałci się enuma w ten sposób, chociaż moim zdaniem powinno się inaczej rozwiązywać tego typu zagadnienie. Niesamowita sprawa, mózg rozjebany. Poniżej wątek na stackoverflow, który prezentuje takie podejście xD
Jestem teraz ciekaw ile analizatorów kodu rozumie taką konstrukcję i ją przepuszcza. Ale też podejrzewam, że ten "undefined behavior" w takim razie jest martwy, bo co najmniej IAR czy inne kompilatory automotive, jasno wiedzą co z tym zrobić. Dlaczego więc GCC czy Clang miałby nie wiedzieć?

https://stackoverflow.com/questions/1448396/how-to-use-enums-as-flags-in-c

Tytan1piorunów

@ZohanTSW Enumy w C++ to w zasadzie niewiele więcej niż sterta stałych, niestety, enum class jest już trochę lepszy, ale jak chcesz w C++ coś zgwałcić to masz do tego zawsze narzędzia. Szczerze mówiąc to ja bym takich rzeczy nie wpuścił, bo to jest zło, ale nie przeorasz kodu który już istnieje i polega na takich trickach. Sprawdź tylko czy enum class bazuje na int (domyślnie), bo nie musi : P.
A Automotive to tylko działka, przyjmują tam wszystkich co znają odpowiednie technologie.

Ostatnio dużo się robi w Rust np : >

Pokaż więcej komentarzy (13)

GURU

w Programowanie

7piorunów

Szkalujo! 😛

https://www.hejto.pl/wpis/animowane-silniki?commentId=1ddf6583-69a0-48fa-960f-40073d09cd02

Fanatyk2piorunów

@Opornik daj frejmworka, gdzie docker czy inne bajery?! Przecie strona ma wazyć 10gb po pobraniu tego wszystkiego, bo akurat muszę wciagnąć 1gb pakiet, bo w tym frejmworku jest taki jeden bajer który musze mieć!

Pokaż więcej komentarzy (8)

Fanatyk

w Programowanie

12piorunów

Prosty skrypt AHK do uruchomienia i natychmiastowej minimalizacji 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

Pokaż więcej komentarzy (2)

Zawodowiec

w Programowanie

6piorunów

Najbardziej bezużyteczna funkcja Gita? Czym są git notes? - devszczepaniak.pl

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

Fanatyk

w Programowanie

19piorunów

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.

Wirtuoz4piorunów

Ah, pytong - dzięki, oberżę sobie później.
Pamiętam jak na studiach robiliśmy zadanka z big data, kolega pisał programik w pythonie, ja cpp. Siedzieliśmy na skype i kodziliśmy. Co prawda jemu development zajął połowę tego co mnie, ale za to on czekał 30 minut na wyniki a ja 30 sekund

Osobistość2piorunów

Ja akurat nie przepadam fes za Pythonem i jak tylko mogę to staram się go unikać xd. Nienawidzę jego składni, braku klamerek czy średników, ogólnie bardzo jest dla mnie nieczytelny.

Pokaż więcej komentarzy (6)

Lider

w Programowanie

14piorunów

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/

Osobistość1piorunów

@Deykun To poczytane xd
Ktoś wie co jest nie tak z Redditem ostatnio bo bez przerwy widzę takie akcje gdzie upvotowane posty są usuwane losowo przez adminów subredditów bez żadnego powodu xd.

Pokaż więcej komentarzy (2)

Lider

w Programowanie

4piorunów
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.

https://opensourcesecurity.io/2025/08-oss-one-person/

&źródło

Osobistość8piorunów

@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.

Pokaż więcej komentarzy (3)

Fenomen

w Programowanie

6piorunów

jeszcze w środę rano nie wiedzialem co robię. dziś, dzieki trójce darmowych botów, gpt, claude i grok mam to https://www.k2racing.team/

rzeczywiście, dużo ludzi z it straci (lub już straciło) chleb.

uprzedzam: wiem, że ta moja zabawka to jakis oczojebny miszmasz, ale powoli dostroję i layout. strach, co te boty potrafią w rękach ludzi, którzy wiedzą, co robią i na co patrzą (ja tam na razie jestem na etapie przestawiania przezroczystości w prostokątach i kwadratach). co do kalendarza, to claude się zatrzymal na 2024 najwidoczniej.

k⁎⁎wa, jakby mi ktoś powiedział na początku roku że będę koderę to bym go wyśmiał.

Gruba ryba4piorunów

@Hjuman to "sprzedam" Ci tipa odnośnie AI i robienia stron. Jest takie magiczne coś, co zwie się Lovable. Pobaw się tym.

Opisanie strony zajęło mi 1 minutę. Aplikacja pracowała nad stroną 3 minuty (w zasadzie nie podałem mu nic poza nazwą teamu i paroma linijkami tekstu) -> https://k2-racing-welcome.lovable.app

Oczywiście w ostatecznym rozrachunku lepiej zrobić stronę na wordpressie, bo masz gotowy CRM (panel do edycji) i nie musisz się bawić z kodowanie.

K2 Racing Team - Eksperci Kontrolowanych PoślizgówProfesjonalny zespół wyścigowy K2 Racing Team. Eksperci z 25-letnim doświadczeniem w kontrolowanych poślizgach.Lovable
Pokaż więcej komentarzy (9)

Twórca

w Programowanie

28piorunów

Właśnie przed chwilą wrzuciłem crates.io, nową wersję Krokieta(smakowicie brzmiąca nazwa, czyż nie?) i Czkawki, programów do usuwania duplikatów, uszkodzonych plików i tym podobnych rzeczy.

W przeciągu ostatniego miesiąca, przez połowę czasu tego czasu byłem na urlopie, na którym zamiast odpoczywać sobie, dodawałem nowe funkcje do programów(i wrzucałem błędy, bom ciekawy kiedy zostaną znalezione)

Jeśli odbiliście się od Czkawki np. z powodu specyficznego wyglądu, to w Krokiecie... zapewne też się odbijecie bo to nie jest program będący szczytem ergonomicznych rozwiązań, ale i tak według mnie wygląda lepiej niż Czkawka i sam jestem w trakcie przeskakiwania na niego(i też uzupełniania ciągle brakujących funkcji)

W tej wersji udało mi się też poprawić część z rzeczy, które zgłaszaliście pod poprzednim wpisem(jak np. niezbyt widoczne ciemne ikony w ciemnym trybie).

Lista zmian wraz z plikami do pobrania - https://github.com/qarmin/czkawka/releases/tag/10.0.0

W artykule na medium.com, postanowiłem też nieco porozpisywać niektóre ciekawsze funkcje i zewnętrzne kontrybucje(chyba to się tak tłumaczy) tj:
* Dodanie limitów pamięci przy ładowaniu plików cache
* Dodanie do Krokieta tłumaczeń i szeregu nowych funkcji
* Zakończenie wsparcia na linuxie dla appimage
* Alternatywne Gui(przy użyciu Tauri) - obcy projekt
* Czkawka w repo Debiana 13 - obca zmiana
* Testy czasów kompilacji i wielkości pliku binarnego, przy użyciu różnych optymalizacji
* Ostrzeżenia przed obcymi stronami <== czkawka dot com nie jest stroną, którą zarządzam i może być używana do rozsiewania malware ==>

Ów artykuł - https://medium.com/@qarmin/czkawka-krokiet-10-0-czyszczenie-duplikat%C3%B3w-ujednolicanie-funkcji-i-gar%C5%9B%C4%87-rustowych-statystyk-7663ee6798ed

Zapewne część osób po dojściu do tego momentu zapyta się "a po co to komu?".
Jak na użytkownika strony na której postuje się śmieszne obrazki, jest to dość dziwne pytanie, ale odpowiem do czego ja sam tego używam - do zarządzania kolekcją memów i usuwania tych wersji z gorszą rozdzielczością



Pokaż więcej komentarzy (4)

Zawodowiec

w Programowanie

14piorunów

Mniej znane opcje konfiguracyjne Gita - devszczepaniak.pl

Po instalacji Gita zwykle konfigurujemy adres e-mail, nazwę użytkownika czy wykorzystywany edytor. Często po pierwszej konfiguracji Gita rzadko w niej coś zmieniam — a szkoda. Git daje całkiem sporo możliwości, które mogą usprawnić codzienną pracę. W artykule pokazuję kilka mniej

Koneser

w Programowanie

67piorunów

> Gdyby cieśle budowali domy tak, jak programiści tworzą programy, to pierwszy dzięcioł, który by nadleciał, przyniósłby koniec cywilizacji
-- drugie prawo Weinberga, rzekomo (okazuje się, że pochodzenie cytatu samo w sobie jest ciekawe)

Wyobraźcie sobie. Mieszkacie w Wielkiej Brytanii i pracujecie dla tamtejszej poczty - nie na szczycie hierarchii firmowej, ale macie własną placówkę, zatrudniacie pracowników, robicie coś pożytecznego i robicie to dobrze, uczciwie, rzetelnie. Złego słowa nikt o Was do tej pory nie powiedział.

Więc idziecie do biura, słuchając przeróbki znanego wiersza o nocnym pociągu pocztowym w wykonaniu Aphexa Twina a tam jesteście proszeni na dywanik przez samego Dyrektora Regionalnego.

Dalsze słowa wprowadzają Was w takie osłupienie, że nic z nich nie rozumiecie. Poza "malwersacje finansowe", "przywłaszczyłeś", "duże sumy pieniędzy", "audyt komputerowy". Mówicie, że to nieprawda, ale równie dobrze moglibyście się tłumaczyć, że nie jesteście kosmitami.

No i, oczywiście, padają słowa "zwolnieni bez wypowiedzenia" i "zarzuty karne", po czym eskortuje Was policja na zewnątrz budynku prosto na komisariat.

To, jak straszna jest to historia, determinują trzy fakty, o których po kolei. Po pierwsze: macie rację. Nic nie przywłaszczyliście.

Po drugie, w takiej sytuacji stanęły setki pocztowców z Wielkiej Brytanii. Niekoniecznie wszyscy słuchali Aphexa Twina, reszta się zgadza. Część z nich zmuszona była do pokrycia fikcyjnych strat z własnej kieszeni. 236 osób skazano na więzienie, jak się okazało - niesłusznie. Historię powiązano także z trzynastoma dokonanymi skutecznie samobójstwami.

Jak więc do tego mogło dojść? Odpowiedzią było tragicznej jakości oprogramowanie, którego brytyjska poczta używała do księgowości. Oprogramowanie to - Horizon, autorstwa Fujitsu - po prostu źle liczyło. Dla ciekawych, w formie mema, fragment programu w pseudokodzie z raportu odnośnie jakości tego oprogramowania. Raport był druzgocący:
> Pomimo że fragmenty EPOSS (systemu Horizon - przyp. red.) są dobrze napisane, istotne sekcje są kombinacją niskiej jakości projektu technicznego, złego programowania i nieprzemyślanych korekcji istniejących błędów. Negatywny wpływ tych czynników będzie narastał tak długo, jak kultura PINICL (zespół odpowiedzialny za produkt - przyp. red.) pozostanie niezmieniona. Wynika to częściowo z natury/rozmiaru zadania naprawy błędów i częściowo z jakości i profesjonalizmu pewnych członków zespołu.

Oficjalny raport poczty brytyjskiej jednak ubiera to w bardzo łagodnych słowach:
> 1.3 Przed uruchomieniem [systemu], niektórzy pracownicy Fujitsu odkryli że Legacy Horizon był zdolny do produkowania danych, które były fałszywe. Doprecyzowując, pracownicy ci byli świadomi, że oprogramowanie mogło pokazywać zyski lub straty na kontach oddziałów lub placówek, które były iluzoryczne, nie rzeczywiste.

1.5. W 2010, Legacy Horzion został zastąpiony wersją (...) Horizon Online. (...) Tak jak poprzednik, Horizon Online również, od czasu do czasu, był dotknięty błędami, problemami i defektami, które objawiały się pojawianiem zysków i strat (...) które były iluzoryczne.

Skazanych uniewinniono, część z nich w procesie cywilnym otrzymała odszkodowanie. A co z winnymi?

Trzeci fakt: Fujitsu ma się dobrze. Horizon dalej jest wykorzystywany przez pocztę brytyjską ( https://www.bbc.com/news/articles/cgm8lmz1xk1o - stan na 2025 r.).

Zainteresowanych szczegółami odsyłam do bardzo dobrze uźródłowionego i opisowego artykułu na angielskiej Wikipedii: https://en.wikipedia.org/wiki/British_Post_Office_scandal

PS: Przepraszam jeśli źle taguję, ale nie mam pomysłu na lepsze tagi niż te niżej

Fanatyk0piorunów

Jest cos takiego jak odbiór programu przez klienta. Klient podpisuje się tam że uważa że program który widział i przetestował działa poprawnie i może go już odebrać 😉

Pokaż więcej komentarzy (21)

Gruba ryba

w Programowanie

26piorunów

Chciałem nauczyć się freeRTOS na STM32. Znalazłem na udemy kurs. Po obejrzeniu kilku filmów zorientowałem się, że to plagiat filmów od STmicroelectronics z youtube. Podmienili logo, przycięli czołówkę, podkręcili dźwięk żeby z automatu nie wyłapało.
Zgłosiłem to do udemy, dostałem nawet pełen zwrot, choć według zasad się nie należał. Kradziony kurs jednak wciąż wisi do kupienia, tym razem dużo drożej :confused:

https://www.udemy.com/course/free-rtos-on-stm32

Osobistość2piorunów

@macgajster Trochę offtopic, ale co Cię skłoniło żeby uczyć FreeRTOSa? To przecież egzotyczna nisza!

Gruba ryba4piorunów

@groman43 @lurker_z_internetu freeRTOS jest zintegrowany ze środowiskiem STM. Dlatego jest popularny na tę platformę.
Jest często wymagany w ogłoszeniach embedded, a ponieważ w hw jest bardzo mało pracy, to chcę pójść w fw. Tym bardziej, że liznąłem fw i to od podstaw-podstaw: pisanie plików linkera, pisanie makefile od zera, grzebanie w elfach. Później zacząłem robić w STM32CubeIDE i w sumie jest to spoko środowisko.

Inne znane mi z ofert pracy RTOS to zephyr.

Specjalista1piorunów

@macgajster imo zephyr to przyszłość i warto się go uczyć. Swoją drogą to Nordic na swojej stronie ma 2 darmowe i bardzo dobre kursy zephyra. Kupujesz płytkę za kilkadziesiąt złotych i masz wszystko co potrzebne do kursu.
Warto też dodać że Nordic zrobił wtyczki do VSC więc integracja jest bezproblemowa i wg mnie dużo lepsza niż ociężały kombajn Stm32CubeIDE, ale to już moja subiektywna opinia 😉

Fenomen1piorunów

@groman43 "The two operating systems that were most popularly used in 2024 for embedded systems were Embedded Linux and FreeRTOS. At this time, an equal percentage of developers (44% each) had utilized both options"

Fanatyk4piorunów

@lurker_z_internetu FreeRTOS jest bardzo popularnym RTOSem i przystępnym według mnie. Do tego gotowy projekt można szybko przeportować na Safe RTOS i uzyskać tym certyfikaty bezpieczeństwa.
Poza tym że jest świetnie zintegrowany z STM32 to jeszcze ESP32 go używa.

A Zephyra to jebać maczetami, znakomita idea, a wykonanie takie, że można się popłakać. Może za 10 lat coś z niego będzie xd

Gruba ryba2piorunów

@octavian jestem w tak ciasnej dupce, że muszę uczyć się tego co najczęściej pada w ogłoszeniach. A pada FreeRTOS.
Do tego dołożę C++ po przejściu z samounauczonego C, ale bez znajomości jakichś większych pojęć i mam nadzieję, że wystarczy. Wachlarz wymaganych umiejętności jest bardzo szeroki, a pracuję obecnie poza programowaniem z powodu siły wyższej. Po pracy mam mało czasu, więc nauka dwóch RTOS, jakkolwiek brzmi jak taran w drzwiach, jest zbyt zasobożerna :confused:

Fanatyk2piorunów

@macgajster w przypadku C++ i z tego co obserwuję wśród ludzi, którzy znając C uczyli się C++ mogę doradzić: nie traktuj tego języka jak C z klasami. To, że można stosować podejście jak w C nie oznacza, że się powinno. Tak naprawdę to jest inny język niż C

Gruba ryba2piorunów

@macgajster
Ucz się freeRTOS.
Zdecydowanie rządzi w świecie mikrokontrolerów i zwykle producenci uczestniczą w rozwoju sterowników więc baza urządzeń i konfiguracji sprzętowych możliwych do zaspokojenia FreeRTOSem jest ogromna.
Rozmaite RTOSy z reguły mają dość ograniczony żywot - niegdyś popularny ecos zdechł jeszcze około 2013 r. Na projekty z VxWorksem ciężko już trafić, w automotive trzyma się jeszcze QNX.
Zresztą najważniejsze jest zrozumienie ogólnej problematyki RTOSów i czym się to zwykle różni od systemu ogólnego przeznaczenia jakim jest Linux.

Gruba ryba1piorunów

@pierdonauta_kosmolony największym moim problemem jest znalezienie czasu :confused: Mam płytkę nucleo z F411RE, ale na razie nie bardzo mam pomysł co bym mógł na tym sklecić.
Teoretycznie na czymś słabszym puściłem tempomat, ale nie wiem czy tam freeRTOS podejdzie. Na pewno byłoby fajnie i przyjemne z pożytecznym - zarządzanie dość krytycznym w tej aplikacji czasem i do tego nauka.

Może znasz jakiś dobry kurs, który by ładnie opisywał wszystko? Ten z youtube już znam, ale nie podszedł mi zbyt dobrze. Może obejrzę go drugi raz i teraz będzie lepiej.

Specjalista1piorunów

@ZohanTSW btw co jest nie tak z zephyrem? Pytam bo jestem ciekawy. Używałem go ok 6 msc i byłem zachwycony jak to działa. Próg wejścia wyższy niż freertos, ale jak zrozumie się device tree i konfigurację to idzie z górki.

Fanatyk3piorunów

@octavian zupełnie nie można ufać tym driverom, są pobugowane i nie wiesz czy to zadziała, czy nie i zbyt często trzeba pisać patche. Trzeba je pisać również dlatego, że driver nie spełnia akurat twoich potrzeb, więc trzeba dopisać. Jeśli zajdzie potrzeba robienia upgrade'u to jest to ekstremalnie trudne, bo ekipa stwierdziła że zmieni nazwy komponentów np przez zamianę członów miejscami (z FOO_BAR na BAR_FOO).
Trafiłem do projektu który był na ukończeniu, poprawić kilka problemów i fajrant. Jednym z problemów było że modem GSM losowo gubił połączenie z internetem i po tym nie potrafił się podnieść. Po wykluczeniu problemu ze sprzętem, z budynkiem, BTSem i wszystkim wokół zacząłem sprawdzać kod. Wszystko wyglądało dobrze, kod wykorzystywał zephyrowy driver PPP do gadania z modemem ale postawiłem że jednak błąd musi być w wykorzystaniu tego drivera. No nie, nic nie poprawiało stanu rzeczy. Debug trwał 3 miesiące, trzeba było dodawać dupa printy, ustawić 6 urządzeń żeby robiły to samo i zbierać logi z każdego z nich czekając aż się w końcu coś wywali. 3 miesiące. Udało się dojść po nitce do kłębka, co wskazywało na jakiś dziwny błąd w driverze. Google skierowało na githuba lub jakieś zephyrowe forum (nie pamiętam teraz), gdzie ktoś zgłosił ten błąd 3 lata wcześniej i sobie to czekało na fixa. To był jakiś błąd w stosie sieciowym. Wystarczyłoby ten stos zresetować w przypadku problemu i w tym wypadku to by wystarczyło.

Ale Zephyr nie zezwalał na wyzerowanie tego stosu. Chyba że przez reboot, a to nie wchodziło w grę.

Skończyło się wypruciem zephyrowych driverów, przejście na protokół AT i pisanie w zasadzie wszystkiego od zera.

I teraz rzecz, której nie jestem pewien - czy Zephyr ma taki duży footprint, czy to po prostu beztalencie ludzi, którzy to pisali wcześniej: udało się uzyskać tę samą funkcjonalność co wcześniej i jednocześnie ważyło to mniej niż połowę flasha i zużywało połowę ramu. Tylko z zephyra został sam scheduler i reszta to ręcznej pisane drivery.

To był absolutny koszmar i najgorszy etap mojej kariery.

Specjalista1piorunów

@ZohanTSW dzięki za wyjaśnienie. Miałem tyle szczęścia, że projekt nad którym pracowałem robiłem od zera więc nie miałem takich problemów. Oczywiście kilka napotkałem po drodze, ale udało się to rozwiązać pisząc własne poprawki.
Z tego co piszesz to raczej mieliście pecha do drivera, a nie całego systemu.

Podoba mi się w zephyrze że bardzo łatwo jest portować kod na inne procki przez zmiane device tree w zależności od rewizji urządzenia.

Mimo problemów jakie napotkałes to w mojej opinii jest to przyszłość embedded. Rok temu byłem na rozmowie o pytano mnie o podstawy działania 😉

Pokaż więcej komentarzy (20)

Kosmonauta

w Programowanie

6piorunów

Czy tylko ja zauważyłem, że chatgpt ostatnio stał się głupszy i leniwy? Mam skrypt bash, który robi kilka rzeczy. Podrzucam mu skrypt i piszę aby zmienił to na aplikację w python zachowując dziłanie aplikacji. A on mi odpowiada, że moja aplikacja w bash robi i tutaj jakieś 10 linijek kodu z 400 i rozwiązanie problemu to jakaś losowa propozycja do dodania w skrypcie. Ani kodu w pythonie nie podał. A nawet gdy proszę aby wygenerował całość bez dodatkowych pytań to czasem wygeneruje kilka linijek jakichś śmieci.

Jestem przekonany, że kiedyś mi to działało bez problemu. Do testów zrobiłem to samo na gemini.google.com i ładnie wygenerował...

Były jakieś zmiany dla darmowych kont?

Osobistość3piorunów

@dotevo Gemini 2.5 jest dobry w takie klocki

Kosmonauta1piorunów

@mk-2 no właśnie chyba jest najlepszy jeśli chodzi o to, że odpowiedzi są długie i rzeczowe, a gdy generuje kod to przynajmniej jest mało błędów. Chatgpt ostanio czesto wyrzuca kod, który nawet się nie kompiluje i jeśli mam mu przesyłać po 5 razy błędy z kompilatora to wolę sam.

Fanatyk2piorunów

Jeśli skrypt jest skomplikowany to bym nie ufał AI pod kątem tego co wypluje.
Jeśli skrypt jest trywialny to w pytonie można to napisać pewnie w max dwóch linijkach xd
Ogólnie jak do tej pory AI nie sprawdzało mi się w programowaniu. Za to fajnie generuje formułki regexowe i w example wszelkiej maści

Kosmonauta1piorunów

@ZohanTSW zazwyczaj używam do generowania jakichś szablonów aby mieć już szkielet apki, czasem do tego aby sam mi napisał testy do podanego kodu i to robi nawet spoko. Ale nawet bardziej skomplikowane rzeczy czasem dobrze napisze.

Pokaż więcej komentarzy (22)