sobota, czerwca 10, 2023

Studia - nie wiem czy użyłem w pracy kiedykolwiek czegoś ze studiów... poza angielskim ;-)

Tak gdzieś na FB albo LinkedIn mignęła mi dyskusja o tym jak studia i to czego się na nich ludzie uczyli przydaje się im w pracy.

No i w moim przypadku rzeczą której najbardziej używam jest angielski ;-)
Skończyłem Fizykę Techniczną, specjalizacja Optoelektronika, pisałem pracę magisterską na temat Wyznaczania różnicy stałych propagacji falowodów planarnych przy pomocy sprzęgacza immersyjnego.
Ale z tego wszystkiego angielski chyba to jedyna rzecz, której się uczyłem na studiach i której używam od ponad 20 lat w pracy (już w pierwszej pracy od paru osób usłyszałem, że dobrze mówię po angielsku, a nikt się jakoś nie zachwycał tym że wiedziałem co to są solitony ;-) i jak mogą świetnie poprawić światłowody, albo co to jest WDM i czemu można zwiększyć pojemność światłowodów o 80 razy dodając siatkę dyfrakcyjną ;-), nawet to, że zdarzyło mi się światłowód lutować ;-) (źle), naparowywać warstwy złota na układ, czy wyprowadzać równania na drgania układu nie miało zastosowania w mojej pracy ;-))

W pracy nie używam praktycznie niczego czego nauczyłem się na studiach ;-) nawet programowanie, bo tego się nie nauczyłem na studiach, a wcześniej sam. Algorytmów uczyłem się dopiero mając 31 lat z polskiej wersji Introduction to Algorithms... co oznacza, że pierwsze 4 prace dostałem bez umiejętności przejścia przez graf przy pomocy BFS czy DFSa... chociaż DFSa nieświadomie znałem ;-) 
HashMap'y (czy wtedy jeszcze bardziej Hashtable) używałem nie wiedząc jak działa (szczerze, z moją wiedzą z wtedy sam bym się teraz nie przyjął do pracy... chociaż nie, dopiero jako pytań wyciągających albo pogłębiających używałem kiedykolwiek struktur danych czy algorytmów) 

Ogólnie studia to było całkiem przyjemne 5 lat kiedy uczyłem się max 2 tygodnie na semestr, może jeszcze czasem przed jakimś kolokwium. Nie uważam tego za zmarnowany czas, ale też nie widzę by coś z tych studiów, poza angielskim było jakoś istotne w mojej pracy. 

Może stąd jak ktoś młody zrobi inżyniera czy licencjat i zaczyna robić magisterkę to jak mnie pyta to mówię, że jego/jej wola, ja bym nie robił, bo po co, pracę już ma i później nikt już nie będzie patrzyć na to czy to magisterskie studia czy nie, ani nawet na to czy skończone, ale będą patrzeć na firmy, przez które ktoś przeszedł.... stąd np. ja nigdy w CV nie pisałem jaki to mam stopień znajomości angielskiego... inna sprawa, że te wszystkie od A1 do C2 to poznałem dopiero niedawno ;p, nie robiłem też żadnego FC, ani CEA, po prostu napisałem, że używam angielskiego na codzień w pracy i zdarzało mi się go też używać w pubach w Los Angeles ;-) a do tego teraz piszę, że mieszkałem przez parę miesięcy w USA.

Inna sprawa, że przeglądając CV patrzę na firmy, ale też na uczelnię i to na mnie wpływa... dlatego zwykle nie oglądam CV przed interview, za często było tak, że ktoś wyglądał jak półbóg i było słabo, a ktoś inny wyglądał słabo i było super...

Chociaż jak ktoś skończył matematykę czy coś podobnego na UJ to nie ma siły, bystry jest ;-)

No i tak odpowiadając na pytanie z tytułu... użyłem ;-) mieliśmy w firmie na M kod do mierzenia mocy w sygnale CDMA, który ma te 1.2 MHz szerokości, a miernik umiał (ten jeden) mierzyć tylko w paśmie 30 kHz... i tam w kodzie było chyba magiczne 13 i rozumiałem czemu jest ;-) [chociaż teraz nie do końca rozumiem, w sensie sygnał był mierzony w dBm'ach i to było związane z tym ;-)]



Podobne postybeta
Studia - płacić, nie płacić, oto jest pytanie
Szczęśliwe nieszczęścia ;-)
12 lat ;-)
"Zapomniałem napisać, że w piątek (albo sobote, choć chyba był to czwartek)"
Trudno hackować sprzęt....

piątek, czerwca 09, 2023

Axis Crossing jest dobre

Parę dni temu płakałem, że mi się książka skończyła.. w końcu trafiłem na kolejne ze świata, tym razem dzieją się jakieś ~400-500 lat po Silver Ships... ale jest dobra :-)

Wczoraj jadąc do Gdyni z Gdańska by przejść do Orłowa i później do Sopotu czytałem i aż mi przykro było, że już jest Gdynia ;-)

Dziś jadąc do Malborka też czytałem :-)

Może nawet lepsza na razie jest od Silver Shops.



Podobne postybeta
AirPods Pro nie lubią się z hulajnogami ;-)
Zimno - jeszcze większy wróg książki ;-)
Marsz, książka i resorówki ;-)
Czerwcowe książki
"Kompas" z Augmented Reality ;-)

czwartek, czerwca 08, 2023

Są ludzie, którzy nie kochają Java'y

Tak de facto od 2004 roku moim głównym językiem programowania jest Java, trochę pisałem po drodze w C#, dość dużo w JavaScript, tak nieoficjalnie był też Python, trochę Scali i Gosu.

No i ostatnio miałem do czynienia z ludźmi którzy używają Scali, albo TypeScript i oni nie lubią Java'y.

OK, sam nie znoszę Scala'i i mam powody ;-) ale TypeScript imho jest ciekawym pomysłem, ale nadal jakbym miał teraz zaczynać jakiś nowy projekt to zdecydowałbym się wybrać Java'ę, bo najprościej o developerów i po prostu język jest dobry. Do Scala'i o ludzi trudniej, do TypeScripta nie, ale znów więcej się w nim jednak robi frontendu.

Tzn. mógłbym zrozumieć jakby ludzie używali czegoś sexy jak Rust, Kotlin czy nawet Go, albo Pythona jako czegoś całkiem innego, ale opór Scala'owców przed Java'ą jest dziwny.

A to wszystko tak piszę bo zdziwiło mnie, że są ludzie, którzy nie kochają Java'y ;-) a mój wbudowany pragmatyk jest nią po prostu zachwycony.



Podobne postybeta
GeeCON 2015
Teraz jest trudniej zacząć z programowaniem niż te 25-30 lat temu
Poniedziałek, czyli "w tę"
Znaczące wersji Java'y ;-)
Azule i Android - przyszłość Java'y?

środa, czerwca 07, 2023

Mózg jako komputer

Chyba w niedzielę słuchałem podcastu Lex’a Fridmana ze Stephenem Wolframem (twórcą Wolfram Alpha).

I tam było ciekawe stwierdzenie, że nie umiemy uruchamiać programów w naszej głowie .Niby rozsądne, ale czemu tak jest?

I wg mnie sprawa sprowadza się do pamięci. Nie umiemy spamiętać programu, nie umiemy utrzymać wartości zmiennych i nie umiemy utrzymać wartości w strukturach danych.

Chociaż gdyby to było programowanie funkcyjne, to powinno być ciut łatwiej... ale tylko dla działania danej funkcji. Może na mózgu by się dało bezstanową lambdę odpalić ;-)

Chociaż do już arytmetyki też trzeba by było lepszej pamięci. Przecież dodawanie czy nawet mnożenie dużych liczb to nie jest taka strasznie trudna sprawa, ale jednak trzeba wartości tych liczb zapamiętać.

Ale już powinno się dać uruchamiać programy na mózgu + kartka papieru :-), mózg z kartką papieru powinien być w stanie symulować maszynę Turinga. Chociaż są ograniczenia, bo wolne byłoby przetwarzanie i dostęp do pamięci, ale jednak dałoby się nawet wielowątkowy kod wykonywać, tylko trzeba by było pewnie użyć dodatkowego licznika (znów na kartce ;-)) do wywłaszczania.

W ogóle nasza pamięć jest słaba pod tym względem, umiemy w głowie utrzymać niby teoretycznie max 7 rzeczy na raz, ale tak naprawdę 4, w porywach do 5. Chunkowanie pomaga... i jakby zchunkować jakiś prosty program (zwykle jedną funkcję) to można by spróbować uruchamiać kod w głowie, przecież tak się robi debugowanie w blindfold programming.




Podobne postybeta
Kartka i ołówek
DEC z INC odpowiedź i mała Maszyna Wirtualna ;-)
Przydałby się "reset" w głowie ;-) Dlaczego powtórka algorytmów męczy bardziej niż nauka.
Komputery są naprawdę stare ;-)
GCJ mnie przerosło ;-)

wtorek, czerwca 06, 2023

Pendolino aka Wahadełko bez wahadełka ;-)

W latach 60 Brytyjczycy planowali przyspieszyć swoje pociągi, dlatego wymyślili wychylne pudło w pociągu… ale im nie wyszło i sprzedali patenty Włochom.

A oni w końcu zbudowali Pendolino, czyli Wahadełko, pociąg który się wychyla.

No i PKP kupiła Pendolino, ale bez tego kawałka z wychylnymi wagonami.

Stąd gdy Pendolino jedzie na pełnej kicie to trzęsie ;-) co widać jak się idzie (im ktoś wyższy tym gorzej bo ma wyżej środek ciężkości), a w toalecie to już jest w ogóle coś w stylu odkrywania akrobaty ;-)

I jak lubię Pendolino (chociaż ja ogólnie pociągi lubię ;-)) to jednak Pendolino może się schować przy takim VR z Finlandii jeśli chodzi o stabilność jazdy.



Podobne postybeta
Dziwne Pendolino
Nieunikatowe Pendolino
Pociąg pociągowi nierówny ;-)
Planning poker w komórce ;-)
Mobosiciel ;-) czyli mobilny donosiciel, pomysł na mega złą aplikację

poniedziałek, czerwca 05, 2023

Marsz, książka i resorówki ;-)

Byłem na marszu 4 czerwca, dużo było ludzi :-)
Dotarłem w okolice placu Zamkowego, ale to już było w okolicach hasła "marsz uznajemy za zamknięty" ;-)
Masa ludzi szła, co fajne znów byli młodzi ludzie :-)

Policzono się, widać, że dużo nas jest. Ciekawa sprawa jak wszedłem już na Marszałkowską to wszyscy ludzie szli w jednym kierunku i w jednym celu ;-)

To było z dobrych.

Ze złych, książka mi się wzięła i skończyła... a nawet nie książka, a cały cykl książek, czyli Silver Ships.

Tak próbowałem zacząć Lost Fleet, ale na razie mnie nie porwało (pół strony przeczytałem ;-)), więc na razie jestem na Bobiverse, a rozważam czy nie wrócić do Project Hail Mary :-)

Te 24 książki z Silver Ships (czy de facto 20 książek z Silver Ships i 4 z Pyreans chwilę czytałem, kupiłem je w listopadzie, co by znaczyło, że przeczytałem je w pół roku... co by dawało 4 książki na miesiąc... pierwsza z książek z serii Pyreans była 11 książek temu, a zacząłem ją w pociągu wracając z Juraty,  czyli 27 marca... to wychodzi mi 11 książek na powiedzmy 2 i 1/3 miesiąca...
Przy okazji, w międzyczasie dowiedziałem się o jeszcze jednej serii tego samego autora, w tym samym wszechświecie, chociaż możliwe, że bez mieszania... więc Axis Crossing będzie chyba zamiast pierwszej z Bobiverse... ale to się jeszcze okaże :-)

I resorówki ;-)

Z "mojego" 28 piętra widzę coś takiego:



Całe mnóstwo jakichś Ferrari, Lambo chyba i innych. Niby ładne, ale głośne i do tego praktycznie wszystkie mają jakieś napisy, co im odbiera uroku ;-)


Podobne postybeta
Czerwiec - podsumowanie czytelnicze ;-)
Nic nie robienie męczy
Feeling Good SF :-)
Kolejne książki :-)
Marcowe książki

niedziela, czerwca 04, 2023

Im hotel wyższy, tym pokój większy? ;-)

Siedzę teraz w pokoju na 28 piętrze w hotelu w Warszawie, pokój jest duży, ma tak z 30-40 m2 ;-) 
Trzeci raz tu chyba jestem i zawsze pokoje są dość duże.

W hotelu tej samej sieci byłem w Dallas i też były duże pokoje, podobnie w Los Angeles w Hilton LAX.

Wszystkie te hotele to wysokie budynki i plan tego z Warszawy sugeruje czemu te pokoje są takie duże ;-)


Po prostu dla hotelu ważna jest powierzchnia zewnętrzna.... bo tam są okna ;-)
Stąd większość pokoi jest wąska (w pewnych granicach wąskości ;-)) ale długa... bo tak naprawdę ta długość nic nie kosztuje, bo przecież nie da się zrobić pokoi bez okien (tzn. dać się da, ale nikt takich nie będzie chciał), można niby zrobić szersze korytarze, albo większe pomieszczenia techniczne... ale równie dobrze można zrobić większe pokoje :-)



Podobne postybeta
Odsłaniać okna na noc w gorące noce, czy nie odsłaniać? Oto jest pytanie....
10 milionów pięter...
Lecę do Stanów... i co z tego? ;-)
Empik w Bonnarce ssie
Spalmy wszystkie książki!

sobota, czerwca 03, 2023

git push -f

Taki fenoment GITa, został stworzony z myślą o wielu ludziach pracujacych nad dużym kodem, gdzie wiele osób może pracować nad 1 branchem...

Stąd gdy robi się rebase to zrobienie samego rebase często nie wystarczy, trzeba jeszcze zrobić je drugi raz gdy się robi push... 
Więc wszyscy w końcu zaczynają używać git push -f... które jest niezalecane jako niebezpieczne, z tym zastrzeżeniem, że takie jest jak się robi zmiany na branchu z kimś innym.

Czyli jak się wydaje główny use case dla GITa teraz to używanie go tak, że 1 branch = 1 dev i przez to git push -f, które w zamyśle miało być specjalnym sposobem stało się standardem ;-)





Podobne postybeta
Nie przepisujcie mi historii w repozytorium
O tym czemu branche są złe...
Serwisy mniejszej miłości ;-)
Czemu Sejm i Senat nie korzystają z żadnego systemu kontroli wersji?
Plan lekcji - wersja hard ;-)

piątek, czerwca 02, 2023

Ile z obligacji... odsłona 2 ;-)

Pisałem tutaj kilka dni temu o bookmarklecie, który sobie zbudowałem do sprawdzania ile w tym i przyszłym miesiącu dostanę z obligacji.

Największym problemem mojego narzędzia było to, że nie dawało sobie rady ze zmienieniem liczby obligacji... 

Do czasu ;-)

Spytałem ChatGPT ;-) (Google też pytałem, ale nie było takie mądre) takim tekstem: "there is web page I'm writing bookmarklet, and I want to change number of elements in table, normally I would go with mouse and click on select element and choose instead of 20, value 50 and this would do a trick, how to do the same with JavaScript"

I poradził by użyć dispatchEvent ;-)

Więc mam teraz taki kod:

var selector = document.getElementsByTagName("select")[0];
selector.value="50";
var event = new Event("change");
selector.dispatchEvent(event);

Który to kod najpierw znajduje pierwszy selektor na stronie, ustawia wartość na 50, i teraz najważniejsze, którego nie umiałem zrobić sam :-)
Wysyła event "change" :-)

Oczywiście to powoduje, że coś się tam musi pobrać i nie mogę zrobić mojej reszty machlojek...

Stąd wrzuciłem większość kodu do metody doMagic() ;-) i mam takie coś:

function doMagic() {
var downSelector = document.getElementsByTagName("select")[1];
if (downSelector.value!="50") {
setTimeout(doMagic,100);
return;
}

A na samym dole kodu:


setTimeout(doMagic,100);

i dzięki temu 100 ms po wykonaniu manewru ze zmianą selektora uruchamia się kod w doMagic, który w pierwszym kroku sprawdza wartość w drugim selektorze :-)
Jeśli nie jest 50 to znów próbuje za 100 ms :-)

Jakby ktoś chciał to tutaj bookmarklet: ile odsetek w tym i przyszłym miesiącu?

OK, chociaż tak naprawdę kod jest ciut bardziej skomplikowany ;-) bo np. ten selektor jest widoczny tylko jak się ma minimum 20 emisji ;-) i może, jak się ma więcej niż 50 emisji to jest większa wartość możliwa do wybrania? ;-)
Stąd mój kod jest teraz ciut bardziej skomplikowany ;-)

Bo wygląda teraz mniej więcej tak:

var expectedNumber = null;
var selectors = document.getElementsByTagName("select");
if (selectors.length>0) {
var selector = document.getElementsByTagName("select")[0];
var max = selector[selector.options.length-1].value;
expectedNumber = max;
selector.value=expectedNumber;
var event = new Event("change");
selector.dispatchEvent(event);
}

function doMagic() {
if (expectedNumber!=null) {
var downSelector = document.getElementsByTagName("select")[1];
if (downSelector.value!=expectedNumber) {
setTimeout(doMagic,100);
return;
}
}

Czyli najpierw sprawdza czy w ogóle są jakieś selektory, jak nie ma to po prostu olewa zmianę liczby obligacji na stronie i czekanie... jak jednak selektor istnieje to wybiera największą (tak naprawdę ostatnią na liście) wartość z selektora, po czym sprawdza co jakiś czas czy ustawiona jest ta wartość....

Teraz jedynym założeniem jest, że to są 4 letnie obligacje.... i już wiem jak to shackować ;p trzeba spojrzeć na pierwszą literę nazwy emisji ;-)



Podobne postybeta
Jak z metody size() w List w Java'ie dostać ujemną liczbę? ;-)
Bookmarklet do robienia CSV z obligacjami i ich oprocentowaniem ;-)
Ile w tym i przyszłym miesiącu z odsetek za obligacje?
Umiejętność programowania pomaga :-)
[Updated] Czytanie Pocketa ;-)

czwartek, czerwca 01, 2023

Wojna promptów ;-)

Dalej walczę z siecią hoteli o pieniądze, które straciłem na ich błędzie.
I znów używam do tego ChatGPT do napisania lepszego maila.

Co zabawne, po drugiej stronie też może być jakiś człowiek, który też używa ChatGPT czy podobnego do streszczenia mojego maila, a później odpowiedzenia.

OK, może jeszcze nie teraz, ale wkrótce to może być norma.

Czyli może być tak, że zaczniemy od pisania dla ChatGPT, Barda czy innego modelu skrótu tego co chcemy osiągnąć.
Dostaniemy w odpowiedzi mail, który wyślemy.

Po drugiej stronie przeczyta go tylko jakiś inny model językowy i albo nam sam odpowie, albo da skrót człowiekowi, który to człowiek wyda polecenie co napisać.

My dostaniemy maila i też albo automatycznie odpowiemy, albo dostaniemy streszczenie....

To taka wojna promptów będzie ;-) która strona będzie miała lepszy model, albo przy tym samym modelu lepsze prompty ta wygra ;-)


Podobne postybeta
Szybszy = lepszy?
Bawię się GPT4All
DVD BtVS sezon 2
Mysaifu JVM - Java dla PocketPC
Bullshit Jobs jest słabe