środa, maja 31, 2023

Moc promptów

Zrobiłem sobie ostatnio kurs z robienia promptów do ChatGPT (ogólnie do LLMów) i to jest ciekawe, proste u podstaw, ale widać, że dobrze dobrany prompt pozwala na dużo :-)

Dziś użyłem tych sztuczek z kursu do spromptowania ChatGPT ;-)

Wszystko zaczęło się od tego, że Google w GMAILu włączyło mi "Help me write", które jak rozumiem bierze model podobny do Barda z Google i używa go do pisania maili na podstawie tego co wprowadzi user i chyba też treści wcześniejszej korespondencji...

Ja mam sprawę do załatwienia z siecią hoteli. Próbowałem jakiś czas temu, gdy mój bank genialne robił coś ze swoimi systemami, że przez cały weekend nic praktycznie nie działo, kupić za punkty + kasa hotel w Wenecji*. Ale się tak porobiło, że mi zabrali 3 razy po 420 USD, ale dodali ponad 210k punktów ;-)
No i się próbowałem skontaktować z siecią w sprawie tego, że chcę moje pieniądze z powrotem ;-), co też nie było proste, w końcu mail do nich dostałem na FB od ich fanpage'a ;-)
No i zrobili mi zwrot, ale problem jest, że moje 3x420 USD w momencie księgowania transakcji na karci miało jeden kurs**, a jak mi zwrócili miało drugi, mniejszy i jestem w plecy jakieś 400 PLN.

Więc w mailu, który dostałem od tej sieci z info o refundach poprosiłem Barda*** o napisanie maila, w opisie mu się podzieliłem opisem różnic w kursach i podkreśliłem, że wina jest po stronie sieci bo zrobili w końcu autoryzację transakcji (potrójnej) nawet bez rezerwacji podpiętej.

No i Bardowi wyszło tak sobie...

To uznałem, że dam szansę ChatGPT :-)

I mój prompt to coś takiego (tu sam prompt, bez treści maili wcześniejszych i mojej idei treści):


I'm writing e-mail in answer to other e-mail, I will share with you with my original e-mail
delimited in triple backticks, next answer to it, delimited inside triple square brackets,
and next I will share with you with idea for content of my answer which will be delimited by
triple pipes. I want you to produce response e-mail based on my idea
```{first_email}```
[[[{response__to_email}]]]
|||{my_idea_for_email}|||


I powiem wprost, że odpowiedź tak poproszonego ChatGPT z modele GPT-4 jest niezła :-)

Programistycznie poprosiłem o to samo gpt-3.5-turbo używając Pythona i odpowiedź też jest niezła :-)

W pracy jest ciekawa sprawa z adresami cosiów i tak myślałem czy można by było spróbować do takich dziwniejszych użyć ChatGPT... może**** sprawdzę.

Ale taki próbuję użyć prompt:
Your task is to read address from text delimited by triple backticks, if this is proper
address produce JSON object with following fields:
"street", "city", "country", "postal code", "house number", "apartment number", "person",
"company", if it is impossible produce empty JSON object.
```{text}```

Takie dałem mu adresy i takie dostałem wyniki:

AdresJSONCo to
Przemysław Rumik
Calle Buccari, 10, 30132 Sant'Elena, VE, Italy
{
 "street": "Calle Buccari",
 "city": "Sant'Elena",
 "country": "Italy",
 "postal code": "30132",
 "house number": "10",
 "apartment number": "",
 "person": "Przemysław Rumik",
 "company": ""
}
Mój hotel w Wenecji
Przemysław Rumik
Mestwina 45
OSW Kaper
84-141 Jurata
Poland
{
 "street": "Mestwina 45",
 "city": "Jurata",
 "country": "Poland",
 "postal code": "84-141",
 "house number": "",
 "apartment number": "",
 "person": "Przemysław Rumik",
 "company": "OSW Kaper"
}
Ośrodek wczasowy w Juracie
100 GRAND LN APT 405
FOSTER CITY, CA 94404-2265
United States
{
 "street": "100 GRAND LN",
 "city": "FOSTER CITY",
 "country": "United States",
 "postal code": "94404-2265",
 "house number": "",
 "apartment number": "APT 405",
 "person": "",
 "company": ""
}
tu mieszkałem w Dolinie Krzemowej

No i tak sobie mu to wychodzi... 
Wenecję zrobił najlepiej, w Juracie nie zajarzył że Mestwina to nazwa ulicy, w przypadku Foster City nie wiem ;-) bo 100 Grand to nazwa budynku, ale też może nazwa ulicy? 
A i tak tu miał ułatwione bo większość adresów skopiowałem z Amazona z moich adresów ;-)
Chociaż fakt, mój domowy adres zrobił dobrze.

* - ja po prostu lubię Wenecje :-)
** - plus pewnie spready, bo karta jest w PLN, walutą wymiany jest Euro, więc była transakcja z USD do Euro, a później z Euro do PLN, więc pewnie 2 spready.
*** - dla prostoty przyjmijmy, że to jest Bard, a nie inny model od Google.
**** - to jest funkcja czasu (nie mam ;-)) i tego, że ja sam sobie płacę za dostęp do API OpenAI.



Podobne postybeta
Search it later ;-)
Workation ;-)
Zinwigiluj się sam ;-)
Automatyczne tłumaczenie - Automatic translation
Kopia zapasowa ważna ;-)

wtorek, maja 30, 2023

Przygniębienie

Człowiekowi niewle potrzeba by go przygnębić ;-)

Dziś tym czymś było podpisanie ustawy przez (aż mi smutno to pisać) Prezydenta.

Chociaż fakt, przeczytałem parę wypowiedzi polityków PiS i już tak przygnębiony nie jestem, bo za bardzo się cieszą, za bardzo im się to podoba co wg mnie oznacza, że mogą sobie tym sami krzywdę zrobić bo jednak po drugiej stronie nie mają idioty.

A może to kontakt z bardzo nieJava'owym kodem w Java'ie i to jeszcze 8....

Ogólnie jestem przygnębiony. A to pisanie to też taka forma terapii, bo jak to napiszę to już to jest takie jednak mniejsze, bo tak człowiek nabiera dystansu.

To jest w ogóle ciekawe, że powiedzenie, albo napisanie (zależy czego) zmienia spojrzenie na sprawę. Bo jak człowiek mówi, to to musi polecieć przez inne fragmenty mózgu niż jak jest w głowie i inaczej się na to wtedy reaguje. 
Wiadomo, że np. często mamy coś w głowie, ale próba wyrażenia tego słowami pokazuje, że wcale nie mamy ;-)

To widać w przypadku historyjek w kodowaniu, często jedyną rzeczą która jest napisana jest tytuł, ale nie ma już opisu bo "przecież wiadomo" i jak przychodzi co do czego to nic nie wiadomo.
Ale też czasem coś jest skomplikowane i napisanie tego powoduje takie urealnienie i okazuje się, że jest skomplikowane, ale tak jeszcze nieprzesadnie.





Podobne postybeta
Porzucić książkę czy nie? Oto jest pytanie ;-)
I tak żle i tak niedobrze
Polska kapliczka
Chorowanie jest do bani, czyli wspomnienia z L4... które trwa ;-)
Clarke

poniedziałek, maja 29, 2023

LinkedList w Java'ie to taki miś koala...

Jest totalnie bezużyteczna...

Niby ma swoje zalety jak się dodaje coś z przodu lub z tyłu, ale ArrayDeque potrafi to samo, a jest lepsza pod każdym innym względem.

I nie chodzi o to, że LinkedList jako struktura danych jest zła, bo jest super i ma masę zalet, ale tak się składa, że jej implementacja w Java'ie nie ma dziś praktycznie sensu i zastosowania.

No bo tak, jak chodzi o dostępy to jedyne co ma w O(1) to dodaj z przodu i dodaj z tyłu, nie ma dostępu swobodnego do elementów czyli dotarcie do elementu zajmuje O(N), nawet coś co teoretycznie powinno zająć O(1) czyli połączenie 2 LinkedList w Java'owej implementacji zajmuje O(N) (bo po drodze jest budowana tablica z dodawaną listą...).

Jak samemu się implementuje LinkedList to można robić cuda, ożeń to z HashMap i możesz zbudować fajny cache LRU (OK, ale prościej użyć LinkedHashMap ;-)).

Ktoś może powiedzieć, że LinkedList jest fajna z punktu widzenia pamięci.... ale też nie, jej narzut staje się większy od ArrayList już chyba po 4 elementach... narzut na 1 element w Java 17 64 bity w ArrayList to jest 8 bajtów (czyli tyle ile kosztuje referencja w tablicy), w LinkedList to 40 bajtów (1 referencja do elementu, 1 do prev, jedna do next i szczerze nawet nie wiem co to jest pozostałe 16 bajtów).

OK, przewagą nad ArrayList jest to, że dodanie elementu na końcu ZAWSZE* jest O(1), a w ArrayList raz ma jakiś czas zajmuje O(N), ale już zamortyzowany czas dla ArrayList to też O(1) (i chyba z mniejsza stałą).
No dobrze w porównaniu z ArrayList umie też dodawać w O(1) z przodu, ale z zastrzeżeniem, że chodzi o czas zamortyzowany to ArrayDeque też to umie....

Chociaż niby ten narzut pamięciowy jest tak sobie ważny, jak to jest List<Integer> to zajmuje rzeczywiście dużo więcej miejsca, ale jak to są jakieś bardziej złożone obiekty, z których każdy zajmuje dużo miejsca to te 50 bajtów na node można darować... chociaż łatwiej jednak darować te 8 bajtów z ArrayList.

Tak trochę mam wrażenie, że LinkedList z nami została bo trzeba ją było zaimplementować, przydawała się kiedyś jako stos i może kolejka i tyle....

Stąd jak widzę użycie gdzieś LinkedList w Java'ie to dla mnie to jest już code smell ;-)

A co do misia koali... to tutaj polecam ;-)


* - ZAWSZE z pewnymi wyjątkami, jak będzie GC to i tak zajmie więcej ;-)



Podobne postybeta
Po Devoxx&#39;ie
Jak z metody size() w List w Java'ie dostać ujemną liczbę? ;-)
Java 32 bit vs. Java 64 bit
Go dla Java'owca ;-) odcinek 2 "kontenery dwa ;-)"
Referencje w Java'ie

niedziela, maja 28, 2023

Szczęśliwe nieszczęścia ;-)

Miewacie tak, że coś się na początku wydaje gorsze, a w końcu jest lepsze? ;-)

Na studiach przez zbieg różnych dziwnych przypadków załapałem się do grupy na lektoracie z angielskiego na poziomie Upper Intermediate, co jak rozumiem łapie się na B2 ;-)
Trudno mi powiedzieć jaki był mój prawdziwy poziom, czy to było B1, czy może nawet A2.

Ale trafiłem na B2, wszyscy inni chodzili wcześniej na jakiejś kursy, a ja nie...
Więc było trudno, jako jedyny np. musiałem pisać kolokwium na koniec semestru [to za mój wyczyn, czyli dostanie na sprawdzianie 0, 0 i max punktów, 0 za słownictwo, 0 za gramatykę i max punktów (chyba 20) za czytanie ze zrozumieniem].
Moi koledzy z tych prostszych grup w tym czasie uczyli się "I'am", "you are" i tak dalej ;-)

Ale fakt, jakoś tak w tym czasie zacząłem oglądać Buffy po angielsku (co znacząco powiększyło moje słownictwo funeralne ;-)), jak to było na szwedzkiej TV4 to mówili po angielsku, ale pisali po szwedzku ;-), jak na francuskim TV5 to mówili po francusku więc wcześniej czytałem transkrypt po angielsku.
Jakoś też wtedy przeczytałem pierwszą książkę po angielsku ;-) to było Jingo Terry'ego Pratchetta... parę lat musiało minąć zanim do mnie dotarło co znaczy słowo Jingo ;-)

Ale pamiętam jak mnie wkurzało, że ja dla mojego 3.5 musiałem strasznie harować, a koledzy na beginners dostawali 5 niemal za pojawienie się ;-) co się oczywiście przekładało na wysokość stypendium ;-)

Ale tak jak na to patrzę dziś, to wydaje mi się, że ten angielski to była najlepsza możliwa rzecz jaka mi się zdarzyła ;-) teraz zwykle na rozmowach kwalifikacyjnych jeśli nie rozmawiam z nativami to mój angielski jest lepszy ;-) 
I tak jakoś wyszło, że z moich studiów na fizyce technicznej, w specjalizacji optoelektronika lektorat z angielskiego, który był powyżej moich zdolności językowych jest najważniejszą rzeczą której używam w pracy ;-)

A co do mojego obecnego poziomu, to nigdy nie mierzyłem, ale stawiam na C2 ;-)


Podobne postybeta
Języki w szkole
Netflix w służbie nauki - nauki języka ;-)
Studia - nie wiem czy użyłem w pracy kiedykolwiek czegoś ze studiów... poza angielskim ;-)
Blee... czyli ogólne zniechęcenie ;-)
"Zapomniałem napisać, że w piątek (albo sobote, choć chyba był to czwartek)"

sobota, maja 27, 2023

Musicale

Jak to jest, że ostatnimi czasy większość filmów które mi się podobają to musciale?

Tak przez ostatnie pół roku to były głównie musicale.

Chyba najpierw był Pitch Perfect, Pitch Perfect 2 i Pitch Perfect 3.No były genialne :-) i wcale nie chodzi o brunetkę o imieniu Anna ;-)

Później Mamma Mia! i Mamma Mia! Here We Go Again.

A teraz Greas the Rise of Pink Ladies. (OK, trochę chodzi o Jane ;-))

Chociaż fakt, na razie Hamilton mnie jakoś nie porwał ;-) może za bardziej musicalowaty, a za mało filmowy. Za to bym bardoz chętnie obejrzał występ, a jeszcze chętniej film (chociaż jeszcze nie ma, a podobno mieli kręcić) z The Book of Mormon, bo teksty są genialne :-)

[dodane chwilę po opublikowaniu]

Dotarło do mnie, że Pitch Perfect to tak naprawdę nie jest muiscal ;-) tam jest śpiewanie, ale musical to to nie jest ;-)



Podobne postybeta
Wiedźmin mnie pokonał ;-)
Czy &quot;Nowy&quot; Blogger znaczy, że Blogger będzie żyć?
BuffyPedia... wzięła i zniknęła ;-)
Czemu mam żal do Razem
GPT + Python = sprawdzanie czy 5 książka z Bobiverse już jest dostępna ;-)

piątek, maja 26, 2023

Kasowanie trolli ;-)

Podobno wykres szczęścia, czy dobrego samopoczucia względem wieku u ludzi to takie U. 
I drugi koniec tego ucha tłumaczą niektórzy tym, że im ktoś starszy tym bardziej kształtuje swoje środowisko społeczne i eliminuje z życia kontakty z ludźmi, którzy mu psują humor.

Coś w tym jest.

I w Internecie to jest naprawdę łatwe :-) (może za łatwe?).

Bo można blokować, usuwać z listy kontaktów i ograniczać kontakt.

Szczególnie dobrze to stosować w stosunku do ludzi, którzy się do człowieka przyczepili on-line, nigdy się ich na oczy nie widziało, nie miało się żadnej relacji, a męczą.

Sam kiedyś do Google Buzz zrobiłem Buzz Troll Removera ;-) 

Ale np. taki Facebook sam to wbudował :-)

Więc używam :-)

Gorzej jak ktoś używa tego w stosunku do mnie ;-)




Podobne postybeta
Brat ramzesa [żeby nie pisać kryzys... ups napisałem]
Głupi COVID-19
Buzz Troll Remover v0.3.2 zawędrował do galerii rozszerzeń Chrome ;-)
Buzz Troll Remover v0.3 - potęga guzików
Projektowane dla Kalifornii ;-)

czwartek, maja 25, 2023

Stróż biurka ;-)

Robiłem "porządki" i przesiedliłem jednego LEGO robota BD-1 z półki w Kalaksie którą zajmował z R2-D2.

Teraz "robi" za stróża mojego biurka ;-)


Przy okazji widać moje "oszustwo" i "zapasowe" posty które dziś* napisałem ;-)


Przy tym świetle cień całkiem fajnie za nim wygląda ;-)

Jego konstrukcja ma to do siebie, że pisanie na klawiaturze, podnoszenie biurka czy cokolwiek podobnego sprawia, że zaczyna lekko drgać i wygląda "jak żywy"**

* - dziś wg definicji, czyli czasu od wstania do teraz ;p
** - na ile robot i to jeszcze z LEGO może być żywy ;-)




Podobne postybeta
Stand desk w walce z jetlagiem... albo byciem niewyspanym ;-)
"Fizyczny" projekt, jak zacząć?
No i jest problem natury logistyczno-temporalnej....
Smok...
Roboty i Android...

środa, maja 24, 2023

Kontekstowe zapominanie ;-)

Pamięć i głowa są dziwne ;-)

Przed chwilą* miałem przykład.
Oglądałem coś i mi przyszło do głowy skojarzenie, żeby coś sprawdzić, ale jeszcze czytałem to coś innego. Zamknąłem i chciałem przejść do tego skojarzenia, ale nie pamiętałem co to było!!!
Zrobiłem więc CMD-Shift-T czyli otwarłem tą stronę, spojrzałem na nią i od razu mi się przypomniało, że chodziło o zajrzenie na LeetCode ;-)

Jak ktoś ciekawy, to oglądanie tego mnie zainspirowało do pójścia do LeetCode ;-)

Ale to nie jest jednorazowy przypadek, jakiś czas temu miałem świetny (tak mi się wydawało, nie umiem zweryfikować - głównie przez to, że nie pamiętam ;-)) pomysł na wpis na bloga, nawet już prawie wszedłem na Blogger.com by go pisać, ale uznałem, że jednak zapisze sobie w Craft jako pomysł... i przez bardzo długo miałem w Craft tam takie coś:

Znikło gdy po prostu skasowałem tą linię ;-)

Podobno też drzwi mają taki wpływ na ludzi, że przejście przez drzwi robi "reset" pamięci krótkotrwałej.
Co ma sens, bo w pamięci krótkotrwałej trzymamy rzeczy, które są potrzebne w danym kontekście. 
Zmiana strony czy aplikacji to też zmiana kontekstu, więc może o to chodzi? ;-) 
Jakby co tutaj linka do abstraktu papieru o tym zapominaniu (thanks to ChatGPT ;p bo go poprosiłem promptem: "I think I read somewhere that there is strange phenomenon, when people are going through doors they forget about some stuff in short-term memory. Can you point me to proper papers?")

Niby lekiem na takie zapominanie jest zapisywanie sobie jak się ma jakiś pomysł, ale jak widać nie zawsze działa bo czasem komplikacje związane z dotarciem do notatek zmieniają na tyle kontekst, że się zapomina ;-)

Przez to jak mam coś takiego to ostatnio próbuję to sobie powtórzyć parę razy w głowie, licząc, że zapamiętam ;-) [w trakcie pisania tego posta chyba 4 rzeczy dodałem do Craft w taki sposób ;-)]

* - tak to już jest niemal główny temat wpisów ostatnio, tak to wpis pisany "na zapas", dla mnie jest niedziela 9:49 21 maja ;-)



Podobne postybeta
Automatyczne tłumaczenie 2 - Translatica vs. Google Translate ;-)
Potęga lokalności
Słaba pamięć, słaba
Do chudości przez szantaż
Asus EEE Pad Transformer - pierwsze wrażenia

wtorek, maja 23, 2023

Stand desk w walce z jetlagiem... albo byciem niewyspanym ;-)

Trochę mało dziś* spałem.... tak od 6 rano do 10:00.

I niby wszystko było OK, ale tak z 2 godziny (tak koło 14) temu mnie zebrało i mi się zachciało spać, piję Colę (z kofeiną), ale nadal.
I wpadłem na pomysł :-)

Podniosłem sobie biurko do pozycji stand i nagle jest lepiej ;-)

Tzn. nadal mi się chce spać, to się nie zmieniło ;-) ale wiem, że w razie czego nie zasnę ;p

Czyli stand desk jest dobrym sposobem na to jak człowiek jest śpiący ;-)


* - no nie dziś, ale piszę posty "na zapas" bo będę zajęty przez następne kilka dni ;p jak ktoś ciekawy to piszę to w sobotę 20 maja ;-)




Podobne postybeta
1.3 σ w kierunku średniej ;-), czyli wcześniej wstaję
Walka z VacLagiem - start ;-)
Czy się stoi czy się siedzi... Rasbperry Pi z czujnikami ultradźwiękowymi to stwierdzi ;-)
Stróż biurka ;-)
Trudno hackować sprzęt....

poniedziałek, maja 22, 2023

Metapost o pisaniu posta, albo moje próby z Obsidianem

Tak próbuję oswajać Obsidian...

W tym samym czasie próbuję napisać posta na blogu porównującego dwie implementacje List w Java, albo o dwóch implementacjach List w Java'ie. Nie wiem jeszcze dokładnie co to będzie ;-) zaczęło się od code review ;p

No i próbuję używać Obsidian do zbierania notatek.

Tzn. ja normalnie nie mam żadnych notatek, ale próbuję zacząć robić, może mi to wejdzie w krew.
Na bloga też piszę zwykle "na żywca" stąd jest dość nierówno i zwykle dla innych nudno ;-)
Ale, że od jutra przez parę dni będę zajęty to próbuję nadrobić i napisać parę postów "na zapas" i mi wychodzi proces produkcyjny ;-)

Ale wracając do notatek do postu.

Na razie wyglądają tak:


Wcześniej miałem coś takiego:


To było wpisane w samym Bloggerze.

Używam Canvas z Obsidian bo wydaje się odpowiadać mojemu sposobowi myślenia, co prawda po jakimś czasie takie coś staje się nieczytelne, ale w trakcie tworzenia można sobie wszystko uporządkować.

Btw. to jest ciekawe, że ten "dynamiczny" fragment z rysowaniem czegoś niesie informacje.
Pamiętam, że w czasie interview z System Design zwykle kandydaci (ci lepsi ;-)) kończyli niemal z tym samym rysunkiem, ale sam rysunek jako taki nie pozwalał zbytnio zrozumieć o co chodzi.
Ale oglądanie jak jest rysowany i to, że gdy linia łączyła kwadraciki dostawało komentarz "i tutaj A gada do B" sprawiało, że cały ten design stawał się dużo bardziej zrozumiały.
Co pokazuje, że wszystkie Miro i podobne jako miejsca do utrzymywania statycznych rysunków to bzdura ;-) [Chociaż ja ogólnie nie przepadam za Miro ;-)]

Nie wiem co mi z tego materiału wyjdzie, na 100% dowiem się więcej o bebechach JVM ;-) w końcu nawet "napisałem" wraz z ChatGPT JavaAgenta bo liczyłem, że tak mi się uda zmierzyć rozmiar pamięci zajmowanej przez obiekty ;-)




Podobne postybeta
16 GB to zbrodnia...
Żenienie Todoist z Obsidian przy pomocy Pythona ;-)
Metapost o tym co pisać jak nie mam pomysłów o czym pisać....
Paradoks Java'y - domyślny poziom widoczności jest stosowany najrzadziej ;-)
Programowanie jako sztuka oszukiwania ;-)

niedziela, maja 21, 2023

Ile w tym i przyszłym miesiącu z odsetek za obligacje?

Moją główną formą oszczędzania jest kupowanie obligacji skarbu państwa.
Zawsze kupuję 4 letnie.

Przy obecnej inflacji zyski z tych obligacji są dość ładne ;-) OK, może bardziej kwoty z odsetek są ładne, bo trudno powiedzieć czy są większe czy mniejsze niż inflacja ;-)

I czasem chciałbym wiedzieć ile w danym miesiącu i następnym dostanę tych odsetek, albo czy może nastąpi wykup obligacji.

Oczywiście strona do zakupu obligacji i ogólnie zarządzania nimi wygląda jakby była zrobiona w latach 2000, a może i wcześniej ;-)

Przy tym wyglądzie próbuje być bardzo dynamiczna, więc nie ma co próbować wszystkiego czytać z HTMLa bo złośliwie wielu rzeczy tam nie ma, dopiero powstają jak się na coś najedzie ;-)

Walczyłem już z tym kiedyś i mam dzięki temu bookmarki, jeden mi liczy oprocentowanie ważone, drugi generuje CSV z danymi o moich obligacjach.

Dziś* postanowiłem napisać taki, który będzie wypisywał ile w tym i przyszłym miesiącu dostanę :-)

Efekt działania, nie jest może powalający, ale robi to co powinien ;-)
Pokazuje Alert z informacjami :-) [wartości tu podane mogą być prawdziwe, mogą być nieprawdziwe]

Samo monstrum wygląda tak:

var TAX = 0.81;
// sadly this part is only for hacky way of finding what are Ids
function findIdLambda(elem,list,func) {
var id = elem.id;
if (id && func(id)) {
list.push(id);
}
for (var i=0; i<elem.childNodes.length; i++) {
var child = elem.childNodes[i];
findIdLambda(child,list,func);
}
}

function findId(elem,idStart,list) {
findIdLambda(elem,list,x => x.startsWith(idStart));
}

var list = [];
findId(document,"stanRachunku",list);
var id = list.filter(x => x.endsWith("data")).filter(x => x.indexOf("idt")!=-1)[0];
var no = id.split("idt")[1].split("_")[0]*1;
var idxNo = no;

function findQtipId(pattern) {
var list = [];
findIdLambda(document,list,x => x.startsWith(pattern));
return list[0];
}
//end of hacky way for finding proper Ids

const mouseoverEvent = new Event('mouseover');
function amount2number(s) {
var nbrsp=String.fromCharCode(160);
return s.replace(nbrsp,"").replace(',',".").replace(nbrsp+"PLN","");
}
function getPercents(idx) {
var id = findQtipId("qtip-stanRachunku:j_idt"+idxNo+":"+idx+":j_idt");
console.log(id);
var element=document.getElementById(id);
var data=element.innerText.split("%");
var res = [];
for (var i=0; i<data.length; i++) {
var line=data[i];
line=line.trim();
if (line.length==0) continue;
var l=line.split(" ");
res.push(l[l.length-1]);
}
return res;
}
var table=document.getElementById("stanRachunku:j_idt"+idxNo+"_data");
var data=table.childNodes;
var content="id,number,value,actual value,cycle,%,redemption date\n";

function isJanOfNextYear(l) {
return (l[0]==new Date().getFullYear()+1) && (l[1]==1);
}

function toYearMonth(s) {
var l=s.split("-");
l=l.map(x => x*1);
if (isJanOfNextYear(l)) l[1]=13;
return l;
}

var currentYear = new Date().getFullYear();

// 13 month is January of next year
var interests = [0,0,0,0,0,0,0,0,0,0,0,0,0];
var redemptions = [0,0,0,0,0,0,0,0,0,0,0,0,0];

for (var i=0; i<data.length; i++) {
var line = data[i].childNodes;
// ugly hack... but without this it will not be visible, and we would not be able to get percents
line[0].firstChild.dispatchEvent(mouseoverEvent);
var emId=line[0].innerText;
var number=line[1].innerText;
var value=line[3].innerText;
var actual=line[4].innerText;
var redemption=line[5].innerText;
var yearAndMonth = toYearMonth(redemption);
// harcoded that I buy only 4 years bonds

var yearMod = yearAndMonth[1]==13 ? 1 : 0;

var percentYear = currentYear + yearMod-(yearAndMonth[0]-4) ;

var percents=getPercents(i);

var thisYearPercent = percents[percentYear-1];
if (thisYearPercent) {
// hardcoded price of bond
interests[yearAndMonth[1]-1]+=number*100.0*thisYearPercent/100;
}
if (percentYear==4) {
redemptions[yearAndMonth[1]-1]+=number*100.0;
}
var cycle = percents.length;
var percentage = percents[percents.length-1];
var l=[emId,number,amount2number(value),amount2number(actual),cycle,percentage,redemption];
var cl = "";
for (var j=0; j<l.length; j++) cl+=l[j]+",";
cl=cl.substring(0,cl.length-1);
content+=cl+"\n";
}

var interestsAfterTax = interests.map(x => x*TAX).map(x => x.toFixed(2));
interests = interests.map(x => x.toFixed(2));
redemptions = redemptions.map(x => x.toFixed(2));
totals = [];
for (var i=0; i<interests.length; i++) {
totals.push((interestsAfterTax[i]*1+redemptions[i]*1).toFixed(2));
}
var currentMonth = new Date().getMonth();
var nextMonth = currentMonth+1;

var months = ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"];

var cashContent = months[currentMonth%12]+" "+totals[currentMonth]+" PLN (odsetki "+interestsAfterTax[currentMonth]+", wykup "+redemptions[currentMonth]+")\n";
cashContent += months[nextMonth%12]+" "+totals[nextMonth]+" PLN (odsetki "+interestsAfterTax[nextMonth]+", wykup "+redemptions[nextMonth]+")\n";
alert(cashContent);

Jak ktoś zainteresowany to tutaj link wygenerowany przez Bookmarklet Maker'a.

Ile odsetek w tym i przyszłym miesiącu?

Ciekawa sprawa, że część kodu napisał mi Copilot od GitHuba :-)
Np. w przypadku tablic interests i redemptions sam wygenerował tablice z 12 elementami (ja później dodałem 13 na styczeń następnego roku), a zrozumiał do czego służą bo wcześniej były mapami, ale w kodzie pisałem tak jakby to była tablica (więc nie działało), skasowałem {}, wpisałem [ i wtedy zaproponował dokończenie z 12 zerami oddzielonymi przecinkiem, ] i średnik.
W liczeniu kwoty całkowitej też był sprytny, zrobiłem tabelę totals, zacząłem pisać for (var to... i już zaproponował kod do policzenia totali :-) ale fakt, zrobił błąd bo użył interests, a nie interestsAfterTax. 
Podobnie ciekawie robił z map na tablicach. A i tablica miesięcy (z nazwami) to też jego robota ;-)

Ograniczenia:

  • działa tylko dla 4 letnich obligacji, nie próbowałem znaleźć sposobu na ustalenie jaka to jest obligacja.
  • zakłada, że obligacja warta jest 100 PLN
  • żeby policzył dla wszystkich obligacji trzeba wybrać w selektorze by pokazywał 50 (czyli nie wszystkie, a 50 ;-), nie mam więcej więc nie wiem czy później pokazuje się w tabelce możliwość wybrania więcej niż 50 emisji ;-))

* - może technicznie nie dziś ;-) bo post piszę w sobotę 20 maja 2023, żeby mieć post na zapas bo nie wiem czy jutro będę miał czas pisać ;-)




Podobne postybeta
Bookmarklet do robienia CSV z obligacjami i ich oprocentowaniem ;-)
Czasem człowiek musi napisać dekodowanie Base64 w JavaScript ;-)
Ile z obligacji... odsłona 2 ;-)
[Updated] Czytanie Pocketa ;-)
2016 będzie rokiem "nietypowym"

sobota, maja 20, 2023

Pociąg vs samolot - cena

W lipcu jadę do Berlina na koncert Rammstein (później mam jeszcze 2x w Chorzowie ;-)).

Wpadłem na pomysł, że pojadę pociągiem.
Bilety na IC56 i IC57 aka Wawel tam i z powrotem w 1 klasie kosztowały 366.6 + 355.68, czyli 722.28 PLN.

Wg. strony Ryanair bilet z Krakowa do Berlin Brandenburg kosztowałby mnie 94.03 + 289.27, czyli 383.3 PLN... ale fakt Ubery by pewnie drożej wyszły na lotnisko w Krakowie, z lotniska w Berlinie do mojego hotelu (Hotel Indigo Berlin - Ku'Damm) i z powrotem pewnie by więcej kosztowały, niż Uber w Krakowie na dworze PKP i z powrotem.

Jednak mimo wszystko, nadal pociąg nie jest tańszy od samolotu ;-)
Co jest ciut dziwne :-)



Podobne postybeta
W 2023 będę na Rammstein 2.... wróć 3 razy ;-)
Ostatni Rammstein... przynajmniej w 2024 ;-)
9 nocy, 3 miasta, 3 hotele, 2 stolice ;-)
Wierszowy data mining
Uber - jaka za tym musi stać fajna matematyka

piątek, maja 19, 2023

CPU i niedoceniana elektronika

Parę lat temu zdziwiłem się po przeczytaniu, że nie ma nowych zegarków z Android Wear bo po prostu nie ma lepszych CPU dla takich zegarków niż jakiś słaby CPU zbudowany przez Qualcomm. A Qualcomm nie miał jakoś motywacji do robienia lepszych.
W tym czasie Apple Watch miał tak dużo mocy CPU, że samo Apple nie wiedziało co z nią robić.

Kilka miesięcy temu czytałem Chip War: The Fight for the World's Most Critical Technology i tak mi się to połączyło z tym info o tym czemu przez parę lat Android Wear wyglądał jak martwy.

Rosja i Chiny też mają problemy, Rosja z prowadzeniem wojny, a Chiny z przygotowaniami do wojny bo nie mają dostępu do dobrej elektroniki.

W 2020 i 2021 były poważne problemy w przemyśle samochodowym bo było wszystko - silniki, karoserie, ale nie było procesorów.

Okazuje się, że elektronika w postaci procesorów, pamięci i podobne są straszliwie ważne.... ale są tak dostępne w normalnych warunkach, że o nich zapominamy.

Programiści zapominają na 100% ;-) kiedy ostatni raz ktoś pracujący na "normalnych" komputerach zastanawiał się tym czy CPU podoła? ;-) Walimy w nie HashMap'ą, która przecież wymaga jednak policzenia tego hasha i później jeszcze o zgrozo robi modulo, a jeszcze później w razie był konflikt zagląda do drzewa (albo je buduje!!!) i niby HashMap ma O(1) dostęp, czy w najgorszym przypadku dziś ;-) O(logN) (jakby nie daj boże wszystko trafiło do jednego bucketa (OK, do chyba 8 elementów to będzie O(N) ;-)), ale nadal liczenie hasha jest trudne, dużo mnożenia i to przy iterowaniu przez np. String, jeszcze później dzielenie... ale to się dzieje tak szybko, że nawet o tym nie myślimy (chociaż widać różnicę ;-) jak się człowiek bawi w LeetCode to widzi, że użycie tablic z prymitywami jest DUŻO szybsze niż zabawa z Map czy List).

Jeden z popularniejszych teraz edytorów do kodu -Visual Studio Code to aplikacja w Electronie, czyli JavaScript + HTML ;-) (taki oswojony Chrome). 

Przeglądarki robią cuda w CSSie i podobnych.

Nawet o tym nie myślimy, bo chociaż nasze CPU robią strasznie dużo to są tak szybkie, że tego nawet nie widać.

Ale raz na jakiś czas napotykamy problemy ;-) i wtedy jest zdziwienie ;-)




Podobne postybeta
Myślenie krytyczne - co to i po co to?
Kuchenka mikrofalowa
Demokracja contentowa ;-)
Konsumpcjonizm - to co tworzy i toczy zachód
Kalkulator marzeń ;-)

czwartek, maja 18, 2023

Jakieś krótkie te urlopy teraz robią ;-)

Im dalej w las tym mam bardziej wrażenie, że mam mniej urlopu ;-)

Kiedyś, gdy zaczynałem pracę w 2003 roku zmieniły się przepisy i przez to de facto od marca 2003 do 15 września czy jakoś tak 2004 roku miałem możliwość wziąć całe 18 dni urlopu.
We wrześniu 2004 zacząłem pracę w Motoroli i dostałem 20 dni ;-)
W marcu 2005 miałem brakujące 2 lata do 10 lat pracy* i zrobiło się 26 dni.
Przez lata mi wystarczało i prawie każdy rok zaczynałem z jakimś narzutem urlopu.

Ale jak się pojawił COVID i zaczęła praca z domu to jakiś mi zaczęło brakować urlopu ;-)

W tym roku mam 27 dni (1 z zeszłego roku) i mam wykorzystane/zaplanowane już 16 dni i mi brakuje najmniej 5 ;-) bo chciałbym jeszcze raz do Wenecji w listopadzie pojechać i może jeszcze do Londynu, a mam jeszcze Juratę... ;-)

Podoba mi się to co mają w Finlandii :-)
Dostają 5 tygodni urlopu, zwyczajowo 4 tygodnie letnie i 1 zimowy, do tego przed i po letnich wakacjach dostają bonus w wysokości chyba 50% pensji (chyba łącznie), ale i to jest ciekawe, mogą sobie zażyczyć, że oni nie chcą bonusu, a wolą urlop :-) i za cały bonus dostają 2 ekstra tygodnie urlopu, za połowę 1 tydzień ekstra.
7 tygodni urlopu, które na nasze przelicza się na 35 dni to już coś z czym by można było pracować ;-)

Idźmy tutaj w kierunku Finlandii jeśli można ;-)


* - szkoła podstawowa + (gimnazjum) + liceum + studia = 8 lat "pracy"



Podobne postybeta
Taki tam strumień świadomości ;-)
Prakacje ;-)
Weekendy robią znów za krótkie.....
Workation ;-)
Książki mi jakoś nie wchodziły w czasach COVIDa...

środa, maja 17, 2023

23 kg to &quot;okrągła&quot; liczba ;-)

Zastanawialiście się czemu odprawiany bagaż na samolot waży akurat 23 kg? Czemu nie coś bardziej okrągłego jak 25, albo 20?

Bo 23 kg jest okrągłą liczbą, jak tą masę wyrazi się w funtach. 23 kg to 50 funtów :-)

Nie wiem tutaj czy utrzymało się to przez to, że łatwiej było mieć 1 liczbę dla USA + okolice i Europy, czy może z tego, że wagi lotniskowe na początku pokazywały tylko w funtach, a może chodziło o software? 
Chociaż ja stawiam na powód pierwszy ;-)

Albo czemu tak często występuje wszędzie liczba 12? Bo Księżyc potrzebuje mniej więcej 12 razy by minął rok na Ziemi, a że jeszcze 12 się dzieli przez makabrycznie wiele liczb jak 1, 2, 3, 4, 6, 12 to dodatkowy plus. I tak jakoś już zostało.

Za to w instalacjach do fizyki próżni tak się dziwnie składa, że rury i zawory są zwykle o takiej średnicy gdzie calowe średnice i milimietrowe się tak mniej więcej zgadzają ;-)

Jak jakaś liczba się gdzieś czasem pojawi, to prościej ją po prostu utrzymywać dalej.





Podobne postybeta
Powiadomieniami w walce z uzależnienie od WhatsApp i Telegrama ;-)
Ważne książki
Dzień Darwina
2.68 tryliona nanomaszyn....
W przemyśle filmowym muszą pracować idioci...

wtorek, maja 16, 2023

Dobrze być programistą w Polsce ;-)

Pensje mamy zachodnie*, koszty polskie, do tego jeszcze masę przywilejów i praktycznie całkowity brak odpowiedzialności za to co robimy ;-)

Zachodnie pensje nam wychodzą z tego, że praca programisty to jest jedna z niewielu prac które można wykonywać dla kogoś na drugim końcu świata, a jednocześnie jest to praca która jest wiele warta.
To, że można ją wykonywać z drugiego końca świata wynika wprost z tego, że HashMap jest taka sama w Polsce jak i w USA ;-) więc nie ma jakiejś specyfiki lokalnej.
To, że jest wiele warta wynika z tego, że programiści robią dość trudną rzecz i nawet ChatGPT tu nie pomoże (przynajmniej jeszcze :-))
Tej pracy jest też dużo ;-) bo choć HashMap jest w Polsce i w USA taka sama, to już np. system podatkowy nie, więc ktoś to musi oprogramować ;-)

Z przywilejów mamy np. koszty autorskie, jak ktoś pracuje na umowę o pracę to ma prawo do kosztów autorskich, które dla developerów to zwykle koło 80% co przekłada się na jakieś 2k (lub ciut więcej) miesięcznie więcej na rękę.
Jak ktoś nie jest na UoP, a na B2B to niby nie ma tego przywileju, ale może rozważać np. IPBox.
A i pensje niskie nie są. Junior to pewnie w większości firm dziś najmniej 120k rocznie.
Do tego wiele firm daje akcje, bonusy które domyślnie są w okolicach 10% rocznej pensji (i rosną ze stanowiskiem), do tego prywatna opieka medyczna, ubezpieczenie na życie i jakieś multisporty lub podobne.

Brak odpowiedzialności też jest ciekawy. Mamy testerów, którzy sprawdzają to co tworzymy, do tego często jeszcze wcześniej kod jest przeglądany przez innych ludzi w zespole.
Małe więc są szanse by jedna zmianą można było coś popsuć na produkcji. A nawet jak się popsuje to zwykle ten soft nie jest na tyle krytyczny by np. spowodował duże straty finansowe lub zrobił komuś krzywdę.

Nawet prawo pracy się do nas jakoś tak bardziej stosuje**, nikt nas na urlopach nie oszukuje (ba wiele firm daje nam dodatkowe dni urlopu ;-)), na pensjach też nie, nadgodzin zwykle nie robimy.

Stąd mamy pracę która:

  • jest świetnie opłacana,
  • nie wiąże się praktycznie z żadną odpowiedzialnością ;-)
Ale i tak jesteśmy przekonani o tym, że robimy coś ważnego i że nam za mało płacą ;p

Czyli dobrze jest być programistą w Polsce :-)

* - lub niemal zachodnie
** - OK, on-call jest problemem bo tak mniej więcej jakby doszło do rozpatrywania go przed Sądem Pracy to byłby problem dla firmy z uzasadnieniem czemu pracownicy tak często mają dyżury.




Podobne postybeta
Ja długo przygotowywać się do rozmowy? (kwalifikacyjnej w IT ;-))
Pensje w IT są trudne
Czemu uważam, że 500+ jest złe
Pogoda emigracyjna ;-)
Pensje programistów

poniedziałek, maja 15, 2023

Długi weekend z zaskoczenia ;-)

Dobrze tak czasem się zorientować, że jest sobie taki czwartek 8 czerwca gdy jest jakieś święto :-)
A święto w czwartek oznacza, że przecież można wziąć urlop na piątek i będą 4 dni wolnego :-)

I w taki sposób dorobiłem się długiego weekendu :-)




Podobne postybeta
Skazany na urlop ;-)
Kto się zna na obróbce grafiki?
Jakieś święto, czy co?
Wesołego Dnia Darwina - daj pohasać dziś swojej wewnętrznej małpie :-)
Znów mi ukradli godzinę z weekendu ;-)

niedziela, maja 14, 2023

800+

Nasza władza zaproponowała, że zmieni 500+ (głupi program) na 800+ ;-)
Czyli przyznają, że w ciągu 7 lat mieliśmy 60% inflację.

Czyli jeśli patrzeć na procent składany to przez ostanie 7 lat mieliśmy wg władzy inflację na poziomie prawie 7% rocznie ;-)

Mówiąc inaczej, jeśli nic nie pójdzie inaczej to za kolejne 4 lata te 800 PLN będzie warte tyle ile teraz 610 PLN ;-) albo tyle co 381 PLN jak zaczynali rządzić.
W 12 lat im wyjdzie 125% inflacji ;-)

Tak naprawdę wyjdzie więcej, bo 800+ to będzie gaszenie pożaru przy pomocy benzyny...

Czyli za władzy PiS w 7-8 lat mieliśmy 60% inflacji, za poprzedniego reżimu było wg danych GUS 19.7%, czyli średnio im wychodziło mniej niż 2.3% rocznie ;-) (cel inflacyjny NBP to 2.5%)



Podobne postybeta
Wydało się jakim jestem Polakiem ;-)
Moje G1 jest "chore", zamiast 30 godzin, wytrzyma chyba 90 godzin na baterii bez ładowania ;-)
Post drugie - bądź na tak ;-)
"Arystokraci" od siedmiu boleści
Cena benzyny w górę, wydatki na paliwo w dół ;-)

sobota, maja 13, 2023

Olimpiada

No i wychodzi, że w przyszłym roku pojadę do Paryża i będę na ceremonii otwarcia olimpiady i będę miał fajne miejsce ;-)

Już w 2011 czy 2010 myślałem o tym żeby może pojechać do Londynu, ale bardziej strachliwy wtedy byłem i nie pojechałem i nawet myślałem, że w takim przypadku to pewnie już nigdy nie pojadę bo przecież wtedy wyglądało jakby olimpiada w Londynie to miała być ostatnia w Europie przez następne wiele, wiele lat.

Muszę przyznać, że cena biletu jest dość duża (poza ceremonią będę na 2 zawodach w łucznictwie, tenisie stołowym i jakiejś piłce nożnej ;-) z czego łucznictwo jest chyba jedyną rzeczą, którą może zrozumiem ;-)) i wyniesie tak pół ceny nowego MacBooka Pro ;-)

Parę lat temu będąc w Londynie słuchałem podcastu w którym Tim Ferris rozmawiałem z Ramit'em Sethi i tam była mowa o jego książce I Will Teach You to Be Rich i jednym z głównych przesłań tej książki było, że bycie bogatym to nie jest posiadanie bogactwa, a możliwość życia na wysokim poziomie w jakimś tam wycinku życia który jest dla nas ważny.

No i ja wiem, że np. jedzenie nie jest dla mnie ważne, nie jestem foodie ;-)

No i u mnie na liście są takie imprezy ;-) jak się da to próbuję mieć dobre miejsca na Cirque du Soleil, Rammstein, Metalica czy na Olimpiadzie ;-)
Ale np. nie mam zamiaru nigdy płacić za business class w samolocie ;-) ale np. na promie czy statku bym wolał jednak first class.

Samochodu za to nie musze mieć dobrego (teraz nie mam wcale ;-)).

Moje "bogate życie" to w miarę cywilizowane podróże ;-) i szansa na zobaczenie na żywo czegoś co zawsze chciałem zobaczyć :-)



Podobne postybeta
Eventy na żywo nie zawsze są bardziej wow niż w TV ;-)
Jak apokalipsa to nie w Warszawie ;-)
Ostatni Rammstein... przynajmniej w 2024 ;-)
Telefon antywycieczkowy ;-)
Funeral TV

piątek, maja 12, 2023

Programowanie nie jest jak jazda na rowerze ;-)

Od lipca 2022 pracuję jako engineering manager (nawet z II w nazwie ;-)) więc mniej koduję, o wiele więcej piszę w Pythonie skryptów które robią różne dziwne analizy danych, a o wiele mniej w takiej Java'ie, a jeszcze mniej kodu produkcyjnego.

I przyznaję, że są przez to problemy, chcę coś zrobić co zrobiłem 3 lata temu i nie mam tego "na końcach palcy", musze kombinować i sobie przypominać ;-)

Nawet mi po głowie chodzi by zacząć robić swoje własne projekty z różnymi dziwnymi rzeczami w stylu Springa czy Sparka żeby mieć wprawę, bo ja nadal nie wiem czy chcę być tym Engineering Managerem na zawsze, czy jednak będę chciał wrócić do bycia programistą.

Chociaż fakt, więcej się o ludziach dowiaduję :-) jeden z powodów do zmiany pracy to było to, że przez poprzednie 1.5 roku czy 2 lata więcej się nauczyłem robiąc 1:1 z zespołem, niż w takiej technicznej pracy. Teraz mam tak, że mam kontakt dzień w dzień z kilkunastoma osobami z całej Europy i uczę się o wiele więcej o ludziach (bardziej dziwni ludzie są niż komputery ;-)).
Ale brakuje mi też kodowania ;-) i próbuję, ale tu zauważam to, że "zapominam" więc muszę znów zacząć naukę jakbym się do rozmów uczył ;-) i trzeba będzie wrócić do blindfold programming.

Chociaż nie wiem skąd moje zdziwienie... milion lat temu pisałem dużo w Delphi, to był mój główny język programowania, teraz nawet kodu nie umiem czytać w Delphi, to samo z Assemblerem.

Oby mi się to nie stało z Javą i JavaScriptem ;-)




Podobne postybeta
Egipt, Tunezja, Londyn, whatever, czyli chcem na urlop
2 wymiarowa teoria kariery w IT ;-)
Jestem anonimowym programistą....
Kod jako insight w umysł ;-)
Mózg jako komputer

czwartek, maja 11, 2023

Język ma znaczenie w kontaktach z ChatGPT

Tak do mnie wczoraj to dotarło gdy oglądałem keynote z Google I/O.

Spytałem też Barda i potwierdził ;-)

Nie wiem czemu, ale wydawało mi się, że szkolenie modelu to jedno, ale później on to jakoś syntetyzuje. A okazuje się, że nie, że jak jest szkolony na korpusie w różnych językach to później lepiej będzie odpowiadał w języku w którym miał więcej materiałów...

Chociaż nie wiem.

Ale próbowałem od wczoraj uzyskać od ChatGPT z GPT-4 informację jak zmusić Sparka do logowania w JSONie i coś mówił o moście (bo Spark używa Log4J, a nie Log4J2 więc nie umie natywnie w JSONie, ale można użyć bibliotek, które zastąpią Log4J takim "mostem" do Log4J2) ale to nie działało, dopiero jak zadałem pytanie po angielsku to doszliśmy do tego, że jeszcze trzeba zrobić exclude bibliotek Log4J ze Sparka.

Wychodzi na to, że trzeba jednak gadać z ChatGPT po angielsku, z Bardem trzeba (ale żeby Barda używać w Polsce czy chyba też wszystkich krajach UE to trzeba udawać VPNem, że się jest w USA ;-))



Podobne postybeta
Log4J2 i zasada ograniczonego zaufania ;-)
Szybszy = lepszy?
Bard vs ChatGPT ;-)
Informacja źródłowa
Dla Java'y Apple Silicon M1 to jednak nadal x86 ;-)

środa, maja 10, 2023

Taki tam strumień świadomości ;-)

Boli mnie głowa bo chyba po powrocie z Wenecji nabawiłem się czegoś z zatokami... a było nie wracać ;-)

WebEx ssie - każda chwila jego używania boli, to jest po prostu zły soft.

Google I/O - to dziwne, te 10-15 lat temu Google I/O to była dla mnie Gwiazdka. Zawsze coś fajnego było, a teraz oglądam i to takie sobie jest. Tzn. trzeba stad geniuszy, żeby to działało i żeby to zbudować, ale sama prezentacja tego jest taka sobie. Od czasów jak Sundar przejął Google to to jest po prostu kolejna wielka firma.

W Finlandii można sobie "dokupić" urlop ;-) jakoś tak jest, że firmy (nie wiem czy wszystkie) wypłacają przed i po wakacjach jakiś ekstra bonus i można się go zrzec i jeśli się manager zgodzi to można je wymienić na 1 lub 2 dodatkowe tygodnie urlopu. Chciałbym tak :-)

W ogóle fajnie by było móc pracować na 4/5 etatu, a jeszcze lepiej jakby można to było rozliczać w 3 miesiącach ;-) no bo by było 21 dni urlopu, czyli powiedzmy ~5 na 3 miesiące, do tego dodatkowe ~12 dni i jakby to można było wziąć jako 3 tygodnie wolnego? ;-) 

To dziwne ale nadal po pół roku używania czy nawet dłużej iPhone'a 14 Pro Max, wolę Pixela 6 Pro do takiego normalnego używania. 
Ale fakt, Apple Watch Ultra na razie nic nie pobije.

A zatoka mnie nadal boli, drań jeden ;-)



Podobne postybeta
Weekendy robią znów za krótkie.....
Jakieś krótkie te urlopy teraz robią ;-)
Reglamentacja internetu na uchodźstwie ;-)
Pomysł na aplikacje...
Przesuwanie space'ów ;-)

wtorek, maja 09, 2023

XKX to poprawny country code... z tym, że dla obszaru który nie wszyscy uznają za kraj ;-)

W danych coś się wywaliło, że jest country code XKX... to założyłem, że to błąd, bo jaki kraj czy obszar by miał X w nazwie? :-)
Taki Tajwan ma TWN country code.

A tu się okazuje, że XKX to nie błąd to Kosowo :-)

W sensie, że nie wszystkie kraje uznają, ale w ISO są XKX :-) 



Podobne postybeta
Wygląda na to, że Windows nie jest mi pisany ;-)
Głupi nacjonalizm, głupi!
Moc promptów
Ficzer, za który lubię Linuksa ;-)
Zinwigiluj się sam ;-)

poniedziałek, maja 08, 2023

Widzę pewną różnicę ;-)

Tak porównuję niebo z Wenecji z wczoraj:


Z tym z Krakowa z dzisiaj:


I dostrzegam pewną taką różnicę....
Wystąpił tu znaczący degradation of service ;-)

Jak spojrzę na temperatury to też dostrzegalne jest degradation of service ;-)

Pomysł zamieszkania w Wenecji czy ogólnie gdzieś nad Morzem Śródziemnym nie jest takim głupim pomysłem.


Podobne postybeta
Wyrzucanie książek...
Przybywa userów :-)
Prakacje ;-)
Złe słowo - żadne
Sztuczki tropiciela błędów - breakpoint na sterydach ;-)