Kiedy nie pomyślałeś, że to jak napisałeś ficzur śledzenia trasy sprawia, że będzie cięgle walił requestami i trzeba go przepisać. ;D
#pociagi #pkp #programowanie #2jednostkowe0wydajnosciowych

Kiedy nie pomyślałeś, że to jak napisałeś ficzur śledzenia trasy sprawia, że będzie cięgle walił requestami i trzeba go przepisać. ;D
#pociagi #pkp #programowanie #2jednostkowe0wydajnosciowych

@Deykun akurat to wszystko działało średnio. Wcale nie był to żaden tracking online, tylko system miał informację (z opóźnieniem ok. 10-15 minut) o której pociąg dojechał na stację i z niej odjechał.
Jak pociąg dojechał, system sprawdzał o której ma z niej odjechać i zaczynał "przesuwać" ikonkę pociągu na mapie, bo znał przebieg trasy i czas przyjazdu do kolejnej stacji, więc "znał" średnią prędkość.
Jak wspomniałem, były opóźnienia w aktualizacji czasów przyjazdu i odjazdu, co rodziło śmieszne sytuacje. Np. Pociąg przyjechał o 11:00, miał odjechać o 11:02. System więc przyjął, że pociąg odjechał i 11:02 i ikonkę pociągu już "przesuwał" na mapie, a pociąg stał na stacji, bo nie mógł ruszyć. Dopiero jak po 10 minutach przyszła aktualizacja, że pociąg w ogóle nie odjechał, to system teleportował znowu pociąg na stację i zaczynał znowu wirtualnie przesuwać ikonkę do kolejnej aktualizacji za 10 minut xD
Zaloguj się aby komentować
Niedziela rano, a tak stwierdziłem, że zrobię sobię jakiegoś małego taska. A potem wymyśliłem, że najlepiej zrobić trzeba regexami.
To nie skończyło się jako mały task
Tak, uważam że są one niepotrzebnie demonizowane, ale dziś jakoś nie chciały siąść
#programowanie

Zaloguj się aby komentować
Potrzebuję zrobić nieskomplikowaną stronę www dla jednej ze spółek pro bono dla których świadczę support it dorywczo.
Dyrektor poprosił bym mu to ogarnął oczywiście nie za darmo.
Na stronie ma być kilka zdjęć i opis co i jak działają wraz ze statutem.
Domena i serwer mają na ovh, czy ktoś z Was podjąłby sie takiego mikrozlecenia?
#it #stronywww #programowanie #informatyka
Zaloguj się aby komentować
Od jakiegoś czasu dodaję filmy nagrane na turniejach robotyki. Buduję różne konstrukcje, co parę lat zmieniam kategorie aby zbudować coś zupełnie nowego. Zaczynałem od kategorii minisumo jak większość, później przeszedłem do kategorii micro, nano i pico (12,5^3 mm).
Po 12 latach z małymi przerwami na rozwijanie startupu i innymi podbojami rynku rzuciłem rękawice kategorii linefollower oraz micromouse. Nie byłbym jednak sobą gdybym nie spróbował zbudować robota inaczej niż to robią wszyscy i tak mój pierwszy linefollower bazował na kamerze a nie na czujniku linii.
Pierwsza koncepcja robota pojawiła się 4 lata temu gdy podłączyłem kamerę do mikrokontrolera stm32f4 za pomocą magistrali równoległej.
w zrealizowanej konstrukcji mamy rozwiązanie to samo lecz niepodobne. Kamera połączona z mikrokontrolerem esp32s3 za pomocą szeregowego interfejsu streamuje wstępnie przetworzone klatki obrazu z prędkością 240 klatek/s. Sama kamera dokonuje rejestracji obrazu z prędkością 720 klatek/s po czym dokonuje substracji trzech kolejnych klatek z włączonym oraz wyłączonym oświetlaczem. Obraz jest czarnobiały w paśmie 720nm. Następnie przeportowana biblioteka open CV dokonuje odpowiednich filtracji obrazu a na koniec prosty program wyznacza pozycję linii. Robot spełnia postawione założenia ale nie obyło się bez błędów konstrukcyjnych. Jednym z nich jest z zbyt wysoka temperatura płyty głównej na której znajdują się wszystkie potrzebne komponenty takie jak procesor, przetwornice, drivery do silników, złącza oraz układ wykonany w technologii MEMS będący połączeniem czujnika przyśpieszenia i żyroskopu w trzech osiach. Ten właśnie gagatek na skutek nagrzewania się płyty głównej zaczyna kumulować błąd jak składową stałą trudną do eliminacji co w przyszłości myślę wyeliminować filtrem Klamana. #robotyka #elektronika #programowanie
Zaloguj się aby komentować
Ostatnio błądzę po dziwnych rejonach internetów. Wczoraj wrzucałem samoloty, dzisiaj przyszedł czas na fixed point arithmetic.
Arytmetyka stałoprzecinkowa jest teoretycznie łopatologicznie prosta. No ale dobranie odpowiedniej reprezentacji i zadbanie żeby nie było żadnych niespodziewanych overflowów już nie jest takie proste. Na szczęście dobrzy ludzie napisali konkretną bibliotekę, która może pomóc nam w tym wszystkim - https://github.com/enclustra/en_cl_fix
Dodatkowo możecie obejrzeć webinar , który opisuje problem. A w pic rel kawałek biblioteki, który opisuje jak policzyć liczbę bitów tak, żeby zapisać wynik dodawania.
#programowanie #programista15k #programista25k #pracait i trochę #fpga oraz #matematyka

Zaloguj się aby komentować
Python najpopularniejszym językiem programowania!
#technologia #programowanie #python


Zaloguj się aby komentować
Kulturka
(https://sh.reddit.com/r/ProgrammerHumor/comments/1f57f16/comment/lkqyfv9/ )
#heheszki
#programowanie

Zaloguj się aby komentować
Chciałbym się drugi raz pochwalić swoją pracą.
Dwa dni temu stworzyłem poziom do gry #vr
Małe biuro, w którym ukryte są przedmioty do otwarcia drzwi aby przejść na kolejny poziom.
Gra typu Escape Room, w stylu lekkiego horroru i zagadek.
Fabułą gry jest ucieczka z własnego umysłu (stąd nazwa), jesteś detektywem, który po wypadku wylądował w śpiączce i od teraz poruszasz się po swoich wspomnieniach, musisz odnaleźć drogę do wyjścia aby móc wrócić do życia.
Przemierzasz poziomy z biurem detektywa, posterunku policji, swojego domu, czy nawet miejsc zbrodni.
Dzięki takiej fabule mogę stworzyć różnorodne poziomy bez ograniczeń, mogą to być mieszkania, czy nawet miejsce szalety w stylu horroru jako miejsce zbrodni, daje mi to także możliwość do wstawienia na mapę obiektów straszących ( ͡° ͜ʖ ͡°)
Przez dwa dni, zdążyłem dodać do gry kilka bardzo ważnych technik, takich jak ukryte drzwi z dźwignią, klucze do otwierania drzwi, szuflad, szafek.
Tak samo jak przenoszenie przedmiotów w odpowiednia miejsca aby wywołać akcję w świecie gry.
Niektóre elementy służyć będą do odpowiednich działań, jak na przykład zaprezentowane na filmie odkładania warcabów na miejsce, aby wyświetlić blok z instrukcją w świecie gry.
Będą one służyły na przykład do odkładania rzeczy na wagę i uruchamiania przedmiotów, kompletowania puzzli.
Najbardziej zadowolony jestem z ukrytych drzwi, z których można zrobić sekretne pokoje, przejścia i inne rzeczy, jak na przykład otwieranie zsypu w suficie, ścianie i wyrzucanie stamtąd kluczy, elementów układanki jak na przykład dźwignie do przekręcania mechanizmów.
To co widać na filmie to 4miesiące nauki programowania w UnrealEngine5 i miesiąc pracy przy tworzeniu mapy, uczeniu się mechanik VR
W planach mam dodać jeszcze więcej mechanik, jak łączenie przedmiotów w jeden, który wykorzystać można do kolejnych celów.
Elementów do burzenia, ponieważ nie zawsze trzeba szukać klucza a wystarczy rozwalić drzwi.
Czy w późniejszych cięższych etapach zgrywania kilku elementów aby można było wykonać jedną akcję jak na przykład użycia magnesu na ścianie o odpowiedniej godzinie aby odblokować zamknięte drzwi.
Dodaje także tag do obserwowania i czarnolistowania jakby kogoś męczyły te wpisy ( ͡° ͜ʖ ͡°)
! #pcmasterrace #gry #oculus #virtualreality #oculusquest #programowanie #komputery
Zaloguj się aby komentować
Jeśli wasze życie jest nudne, lubicie ciekawe i nie pudelkowe dramy to oto i jest kolejna w środowisku Linuxowym
Rozchodzi się o te dwie rzeczy:
- Odejście jednego z deweloperów projektu Rust for Linux
- Wpis Asahi Lina
Zaczynając od pierwszego, wpis o odejściu Wedson Almeida Filho(pracownik Microsoftu) opublikowany został na listach mailingowych linuxa tutaj
https://lore.kernel.org/lkml/[email protected]/
W skrócie pracował prawie 4 lata przy projekcie, ale zraziły go różne nietechniczne problemy które ciągle napotykał
Nawiązuje tam do https://youtu.be/WiPp9YEBV0Q?t=1529
W tej prezentacji Kent Overstreet stara się przedstawić, w jaki sposób bindingi c->rust powinny generować(lub pomóc generować) kod Rusta, tak by w samym typie zawrzeć tak dużo informacji na temat tego co dana zmienna przechowuje i jak ją używać, by zmniejszyć ryzyko błędów przy jej użytkowaniu. W C te informacje nie są zapisane w kodzie, więc trzeba je ręcznie pomagać rozpoznawać i zapisywać. To zrodziło duże kontrowersje, że zmiana interfejsów w C będzie wymagała też zmian w Rust, a wielu deweloperom nie w smak uczyć się kolejnego języka. Autor kilkukrotnie wspominał, że to nic takiego, bo oni się tym zajmą(stroną rustową) i potrzebują tylko informacji jakie jest zachowanie poszczególnych elementów po stronie C. Jeden gość zaczął więc podniesionym tonem mówić, że jest tu masa deweloperów >50 lat i że ewangeliści Rusta nie zmuszą wszystkich do nauki tego języka.
Inną sytuacją jest wpis Asahi Lina, która współtworzyła kilka subsystemów w Linux używając do tego głównie Rusta, co pomogło przeportować kernel na Mac ARM
Wpis to - https://vt.social/@lina/113045455229442533
Opisuje proces rzucania kłód pod nogi, podczas próby robienia progresu w tworzeniu sterowników pisanych w Rust.
Przy tworzeniu abstrakcji dla planisty DRM znalazła masę problemów, które były spowodowane złym stanem kodu w C i odpowiedzią na to było "rób to tak samo jak w amdgpu, bo im to przecież działa"
Mimo stworzenia patchy z poprawkami, które naprawiały błędy będące również widoczne dla użytkowników C, domyśla się że z racji że pochodzi ona ze świata Rusta, maintainer nie chce ich zaakceptować.
Przez ostatni rok czekała na zmergowanie prostego wrappera dla struktury, więc nie dziwi się że progres Rust for Linux jest raczej mizerny.
Warto przypomnieć, że Linus Torvalds zgodził się kilka lat temu na użycie Rusta obok C i assemblera, by zarówno zwiększyć jakość/stabilność elementów takich jak sterowniki i przyciągnąć młodsze pokolenie, bo widzi problemy ze starzejącą się kadrą.
Ostatnio wspominał, że progres związany z Rustem jest mniejszy niż się spodziewał wyliczając jako jeden z powodów niechęć starszych deweloperów.
Smutne jest to, że istnieją ludzie którzy mają chęć, motywację i umiejętności do tworzenia przydatnych rzeczy lecz są im podcinane skrzydła.
Podsumowaniem może być ten cytat z komentarza Asahi Lina
```
But I get the feeling that some Linux kernel maintainers just don't care about future code quality, or about stability or security any more. They just want to keep their C code and wish us Rust folks would go away. And that's really sad... and isn't helping make Linux better.
```
#programowanie
#jezykc
#rustlang
#linux

Jeden gość zaczął więc podniesionym tonem mówić, że jest tu masa deweloperów >50 lat i że ewangeliści Rusta nie zmuszą wszystkich do nauki tego języka.
Gdzieś między 30 a 40 rokiem życia większość programistów powinna dostać zakaz pisania kodu i zająć się czymś innym żeby nie szkodzili swoim podejściem.
Zaloguj się aby komentować
Jak poznać lokalizację wykonania zdjęcia na podstawie pomiarów cienia?
Bellingcat udostępnił narzędzie Shadow Finder Tool, w którym:
- Podajemy zmierzony dowolny obiekt ze zdjęcia (w pikselach) oraz zmierzony jego cień i datę / godzinę kiedy zdjęcie było zrobione
- Dostajemy obszar na mapie, w którym zdjęcie zostało wykonane. Jeśli posiadamy np. 2 lub więcej zdjęć tego samego miejsca (z różnych godzin) - to można jeszcze bardziej zawęzić obszar, w którym zdjęcie zostało wykonane
#ciekawostki #osint #technologia #sztucznainteligencja trochę
#programowanie
Linki:
Film jak to działa: https://m.youtube.com/watch?v=pQIjDPFgdJA
Program:

Zaloguj się aby komentować
Odwiedziła mnie refleksja i taka myśl mi zostawiła na temat mojego tajwańskiego ciemiężyciela.
Od pewnego czasu mam przyjemność współpracować z działem CSD, odpowiedzialnym za design algorytmów przetwarzania warstwy fizycznej. Średnio osoby w tym dziale mają więcej niż jeden doktorat, i nie mówimy tutaj o gównianych doktoratach z Europy, tylko hardcorowych studiach na Tajwanie.
Telekomunikacja od pewnego momentu to nic innego niż matma stosowana, więc wszystkie slajdy, które dostaję od CSD są zawalone algebrą liniową / rachunkiem prawdopodobieństwa / procesami stochastycznymi / cholera wie czym jeszcze. Ale mimo wszystko te prezentacje są w cholerę czytelne - jasna definicja problemu, opis notacji, etc. Nawet nawiasy są zawsze dobrze postawione i nie muszę się zastanawiać co właściwie jest podniesione do kwadratu. I mam na myśli nie tylko slajdy przygotowane z myślą o zwykłych śmiertelnikach, ale również wewnętrze slajdy CSD.
Żodyn, kurła żodyn, z moich wykładowców, ani w Polsce, ani tym bardziej w UK, nie potrafił przygotować tak dobrych slajdów. 90% artykułów naukowych było przygotowanych gorzej od strony technicznej.
#programowanie #programista15k #programista25k #pracait
Zaloguj się aby komentować

Wzorzec projektowy State to jeden ze wzorców opisanych przez Gang of Four. Mimo że w wielu przypadkach State będzie armatą na muchę, to i tak warto go poznać. W najnowszym artykule na blogu przedstawiłem przykładową implementację wzorca State. Dowiesz się również, dlaczego i kiedy warto go...
Komentarz Dockera mnie rozbroił xD "u mnie działa" - ile razy to słyszałem albo to mówiłem to nie policzę XDD
#heheszki #humorinformatykow #programowanie

Zaloguj się aby komentować
Zapraszam na kontynuację budowy amatorskiego robota (miejmy nadzieję) jeżdżącego, LIVE dziś o 20:00
Agenda:
1. Prezentacja zaawansowanego podwozia dla robota
2. Zmiany w komunikacji - bluetooth zamiast WiFi i dlaczego
3. Oprogramowanie czujnika zbliżeniowego (inaczej niż na tutorialach)
4. Programowanie obiektowe w C++
Tag do śledzenia #programujzpasterzem
#programowanie
Zaloguj się aby komentować
W sumie ciekawe case study z #webdev #programowanie
Zwykle się nie zdarza w 2024. Ale musiałem zaimplementować obrazki na spritach jak 20 lat temu.
Problem
Mapka z polskimi herbami https://deykun.github.io/maps/heraldyka
Herbów było 2k, każdy na absolucie każdy był w osobnym src, jak się wchodziło (o dziwo na chromie o wiele gorzej niż na firefoxie) to była zawiecha na ileś sekund (potem jak się ogarnęło to już raczej działało), raport z lighthouse 3/4 się psuł przy odpaleniu i renderował się dobre 3 minuty+ (zawierał uwagi o przesunięciach w tych setkach elementów).
Dostałem nawet 2 razy bana na IP na githubie, bo 3 otwarte karty potrafiły pobrać 8k obrazków. Wspomniane tutaj.
Raport z lighthouse jest we wpisie.
18.8 sekund blokowania wątku!
Ale w sumie ciekawy kejs, bo chcemy mieć elementy w x i y i chcemy mieć to 2k obrazków.
Oczywiste nieoczywiste rozwiązania to:
przenieść mapkę do canvasa pozbędziemy się wtedy 2k nodów html
stworzyć sprite obrazków i kadrować
Co zrobiłem:
Zmieniłem obrazki na webp, dodałem srcset, co poprawiło wynik delikatnie
Stworzyłem canvasa (ostatecznie go nie używam na tej stronie)
Do canvasa stworzyłem sprite 180 herbów na obrazek ->
Wykorzystałem spritery na tej stronie bez canvasa (jako background-image)
Rezultat:
Strona się ładuje normalnie, skok z 52/100 punktów wydajności przy 2.1k herbów do 81/100 z 2.6k herbów.
Issue na githubie: https://github.com/Deykun/maps/issues/16
W sumie spoko przypadek, pierwszy raz używałem spritów i canvasa dla zwykłej i koniecznej optymalizacji.


@wombatDaiquiri
a myślałeś o użyciu "spritesheeta" i przycięciu do odpowiedniego herbu w HTMLu?
No o tym jest wpis, że tego użyłem chyba. ;D
Przykłady:
https://deykun.github.io/maps/images/heraldry/pl/web/sprites/gminy-0.webp
https://deykun.github.io/maps/images/heraldry/pl/web/sprites/gminy-1.webp
Rozwiązanie z canvasem wykorzystuję dla mapki Europy gdzie wszystkie kraję będę renderować (obecnie z 3 mam 4.2k herbów).
https://deykun.github.io/maps/heraldry
Ale ta strona ma jeszcze swoje własne bolączki jeszcze (niezwiązane z ładowaniem).
Zaloguj się aby komentować
Od kiedy znowu biorę pracę na poważnie, w tygodniu oraz jeszcze w sobotę jestem zbyt zmęczony psychicznie żeby robić zakupy. Po prostu nie chce mi się podejmować decyzji. Mam dość, chcę po pracy umysłowej relaksować umysł. Potrzebuję dnia odpoczynku.
W niedzielę natomiast chciałbym wyjść z domu i "ogarnąć sprawunki" takie jak kupienie nowych gaci, zamówienie w banku karty, zjedzenie obiadu żeby nie musieć się przejmować czy są rzeczy w lodówce.
Z tego wszystkiego mogę zjeść obiad. Szkoda że nie mogę kupić produktów na kolację to i tak muszę wyjść dwa razy albo przemóc się do planowania w sobotę xD
#gownowpis #zalesie #adhd #pracbaza #programowanie nawet nie wiem czy mój ból d⁎⁎y podpada jeszcze pod #polityka
Zaloguj się aby komentować
LIVE niedziela 18.08.2024, 20:00
#2 - Robot jeżdżący - PlatformIO, komunikacja UDP i podstawowe komendy
Przyszło trochę gratów więc kontynuujemy amatorską, nieprofesjonalną serię w której tworzymy zdalnie sterowanego ale i autonomicznego robota jeżdżącego. Jutro na LIVE w planach:
1. Pokażę Wam parę gratów, które zakupiłem: lepszy kontroler silnika, bajery do lutowania układu, moduł WIFI, czujnik odległości, silniczki z kółkami, zawieszenie z Leroy Merlin w postaci płyty MDF
2. Przedstawię super alternatywę (którą właśnie odkryłem) dla Arduino IDE czy Atmel (Microchip) Studio - PlatformIO
3. Spróbujemy napisać obsługę podstawowych manewrów na przyszłego robota i komunikować rozkazy z serwera
Polecam oczywiście obejrzeć poprzednią część, w której rozkminiałem podstawową komunikację UDP i kontrolę silniczka DC a której jutrzejszy LIVE jest kontynuacją.
Zachęcam do supukcji kanału i śledzenia tagu #programujzpasterzem
#programowanie #arduino #programista15k #naukaprogramowania #hobby
Zaloguj się aby komentować
Ha, dostałem bana na IP na githubie.
#github #programowanie

Zaloguj się aby komentować
Ciekawostki o tworzeniu windowsów, niecałe 9 minut, jednak dość treściwie.
Opowiada jeden z bardziej cenionych pracowników microsoft Dave Cutler.
Cutler otrzymał prestiżowy status Senior Technical Fellow w Microsoft.
Jak powstał współczesny Windows - opowiada Dave Cutler, twórca Windowsa [PL]
https://www.youtube.com/watch?v=JNV6EQONEqs
#informatyka #komputery #windows #ciekawostki #programowanie
Zaloguj się aby komentować