niedziela, kwietnia 30, 2023

Wyrzuć codziennie jedną rzecz - reedycja ;-)

Parę lat temu wpadłem na "sprzątanie" Kaizen ;-) polegało to na tym by raz dziennie wybrać jedną rzecz do wyrzucenia.
I tak ostatnio przechodząc w mieszkaniu dopadło mnie, że znów mam całą masę rzeczy, co do których nie wiem skąd się wzięły, do czego służą i po co je mam.
Wymieniłem kiedyś halogenki w łazience z takich żarowych na LEDowe... ale nie wyrzuciłem tych żarowych, w końcu to całkiem dobre halogenki są.
Kupiłem w trakcie COVIDa parę bandan, których już później i tak nie można było używać ;-) i nadal gdzieś leżą, chociaż ich nie mam zamiaru używać :-)

Trzeba będzie chyba znów podjąć akcję "wyrzuć codziennie jedną rzecz" :-)



Podobne postybeta
Usuń jedną aplikacje dziennie
Sprzątanie kaizen ;-)
A takie tam ;-)
Paragon - zostawić czy wyrzucić?
3 Home w jednym domu ;-)

sobota, kwietnia 29, 2023

Oni tak na poważnie w Windows?

Od wielu wielu lat mój jedyny kontakt z Windows to odpalenie raz na jakiś czas XBox'a i Parallels na macOS.

I nigdy nie zwracałem uwagi na menu start, które uruchamiam po to by wpisać Update i pójść do apki do updatów.

Ale zawsze tam jest coś takiego:


Jestem prawie pewien, ze nie mam zainstalowanego Microsoft 365, Hulu (nawet w Polsce nie działa), nie wiem co jest z Myszką Miki, nie kojarzę tej pani z lewego dolnego rogu, nie wiem co to jest Vudu, a to Play to też dziwne bo kojarzy mi się przez logo z XBoxem...

Po co oni mi to wyświetląją? :-)

Oni tak na poważnie, czy może mam coś źle ustawione?




Podobne postybeta
Multisystemowość ;-)
Amazon Prime Video na XBOX One w Polsce - how to ;-)
Ficzer, za który lubię Linuksa ;-)
"Odstawianie" telefonu ;-)
Rule w Outlook = ZUO

Feeling Good SF :-)

  • The Martian, Project Hail Mary stworzone przez Andy'ego Weira,
  • Bobiverse (4 książki już) stworzony przez Dennis'a E. Taylor'a
  • The Silver Ships (20) i Pyreans (4) stworzone przez S. H. Jucha.
To są książki które mnie wprawiają w dobry nastrój :-)
Dobrzy zawsze zwyciężają, nauka im w tym pomaga, ludzie są zawsze rozsądni i w końcu wszystko się dobrze kończy :-)

Dlatego też lubię wiele książek Arthur'a C. Clarke'a, bo jeśli nie liczyć wpadek jak Koniec Dzieciństwa to też jego książki były takie bardzo pozytywne (może jeszcze poza końcówką 2001 Odysei Kosmicznej, ale na szczęście się poprawił w 2010).
Jak ktoś knuje, to zawsze w końcu przegrywa.

Nie mają może dylematów moralnych The Expanse, ale za to są feeling good SF :-) i za to je lubię :-)



Podobne postybeta
Marsz, książka i resorówki ;-)
Książkowy marzec :-)
Porzucić książkę czy nie? Oto jest pytanie ;-)
Jak oszczędzić na biletach w krakowskim MPK? ;-)
Styczniowe książki

piątek, kwietnia 28, 2023

ChatGPT "potrafi" rysować mapy

W ramach robienia rzeczy dziwnych zadałem ChatGPT takie pytanie:

"jaką polecasz wycieczkę po Wenecji, rozpoczęcie na St'Elena w okolicach hotelu Indigo, celem jest odwiedzenie jak największej ilości miejsc w których mieszkali naukowcy, dokonano jakichś odkryć, albo te miejsca są inaczej związane z nauką"

Dał odpowiedź, ale poprosiłem dalej:

"narysuj mapkę w svg"

Znów coś dziwnego powiedział, to dookreśliłem i jeszcze raz i jeszcze raz, i w końcu napisałem:a możesz 

"w GeoJson?"

I wygenerował ;-)

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[12.364166, 45.428440],
[12.328660, 45.426658],
[12.325609, 45.432188],
[12.333033, 45.435691],
[12.340111, 45.434486],
[12.337953, 45.437545],
[12.344018, 45.440801],
[12.353629, 45.439708]
]
},
"properties": {
"name": "Trasa wycieczki"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.364166, 45.428440]
},
"properties": {
"name": "Hotel Indigo"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.328660, 45.426658]
},
"properties": {
"name": "Il Redentore"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.325609, 45.432188]
},
"properties": {
"name": "Scuola Grande di San Rocco"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.333033, 45.435691]
},
"properties": {
"name": "Pałac Dożów & Bazylika Św. Marka"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.340111, 45.434486]
},
"properties": {
"name": "Biblioteca Nazionale Marciana"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.337953, 45.437545]
},
"properties": {
"name": "Teatro La Fenice"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.344018, 45.440801]
},
"properties": {
"name": "Ospedale Civile"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [12.353629, 45.439708]
},
"properties": {
"name": "Dom Marco Polo"
}
}
]
}

Co po zmienieniu w obrazek wygląda tak (po wrzuceniu do https://geojson.io):


I aż tak bardzo nie powariował ;-)
Ale chyba żadnego obiektu nie trafił w 100%, zawsze jest tak w promieniu myślę 500 metrów.




Podobne postybeta
GeoJSON jest fajny ;-)
Nexus 7 i geokodowanie... Coś tu chyba nie działa
VRML
Pociąg vs samolot - cena
Czy nazwa miasta się wyśle? ;-)

czwartek, kwietnia 27, 2023

Linki, czemu nikt nie używa linków?

Gdzieś w pewnym momencie nastąpiła jakaś zmiana i linki przestały być ważne.

Linki to super wynalazek, coś co pozwala wskazać innym coś.
Ale coraz mniej rzeczy ich mam wrażenie używa.

Np. taki WebEx, nie da się w nim zrobić linku do message'a, w Slacku to jako tako działa, ale też nie za dobrze.

Ale jest chociaż web... jest web, nie?

No i okazuje się, że nie. Sam pracowałem swego czasu nad aplikacją, która działa tak, że to co działa nam w przeglądarce to taki cienki klient dla grubego klienta po stronie serwera ;-)
Czyli serwer trzyma info o tym na jakiej jesteś stronie i linki nie ma żadnego znaczenia, jak otworzysz ten sam link drugi raz to zobaczysz to samo, ale jak przejdziesz gdzieś do innej części aplikacji i wrócisz do tabki od której zacząłeś i zrobisz refresh strony to trafisz na stronę z drugiej tabki....
Żeby był tam link trzeba było dodać specjalny kod i developer musiał wyraźnie wskazać, że chce mieć tu i tu entrypoint.
W świecie Single Page Applications niedziałające linki to też dość częsta rzecz.

To jest dziwne, bo linki są genialne, ale jakoś tak niekochane... 



Podobne postybeta
Outlook zły
Robimy krzywdę GWT ;-) czyli przekazujemy wartość z serwera do klienta, bez RPC ;-)
PPK mnie ściga ;-) (Pokemonowe Programy Kapitałowe ;-))
Post pierwszy - czy wiesz o czym wie, lub może wiedzieć Twój telefon? ;-)
Taki tam strumień świadomości ;-)

środa, kwietnia 26, 2023

Demoniczny LeetCode ;-)

Mój profil na LeetCode wygląda trochę niepokojąco ;-)


To głównie przez ilość tasków, które zrobiłem ;-) jakaś ta liczba taka dość demoniczna ;-)

Trzeba będzie spróbować zrobić jakieś zadanie do pójścia na 667 ;-)

W latach 90 gdy procesory wchodziły w prędkości takie w MHz to dziwnie taktowanie było 667, chociaż powinno być 666 ;-)



Podobne postybeta
Blog prostszy od LeetCode ;-)
Weekend i będzie krótki tydzień.
Urlopowe względność...
Gdy się da kupuj ebooki, które można pobrać jako MOBI, ale i EPUB :-)
Workflow dla Alfreda do dodawania tasków z projektami i labelkami do Todoista :-)

Autoboxing/Unboxing nie lubi sie z var - nadal ;-)

Znów miałem problem z autoboxingiem i znowu przez var ;-)
Aż zaczynam się zastanawiać czy tak go bardzo używać jak go używam....

Rozwiązywałem zadanie na LeetCode i miałem taki mniej więcej kod:

private PriorityQueue<Integer> pq;
[...]
var val = pq.poll();
while (!pq.isEmpty() && val==pq.peek()) pq.poll();

No i oczywiście działało, do momentu gdy w PriorityQueue miałem Integery mniejsze lub równe 127 i większe lub równe -128... bo wtedy Java używa tricku z tym, że wszystkie stworzone dla tych liczb przez autoboxing wskazują na te same obiekty, znaczy wszystkie 7 wskazują na ten sam dokładnie obiekt i porównanie == działa.
Oczywiście ja byłem święcie przekonany, że tu był unboxing i gdybym nie użył val, a


int val = pq.poll();


wszystko by działało.

Bez tego program przestawał działać dla większych przykładów, naprawiłem go przy pomocy zmiany linii z while na:

while (!pq.isEmpty() && val>=pq.peek()) pq.poll();


(czyli zamiana == na >=) i nie mogłem zrozumieć czemu teraz działa.... dopiero po jakimś czasie do mnie dotarło, że działa bo >= nie jest możliwy dla obiektów, więc Java musiała zrobić unboxing....
Po tym już umiałem poprawić swój program tak by działał prawidłowo ;-)




Podobne postybeta
var bywa niebezpieczne :-)
Nieoczywiste oczywistości ;-) podstępny autoboxing ;-)
Człowiek się uczy całe życie - źle rozumiałem cache'owanie Integerów :-)
Który kod (nie kot! ;-)) lepszy?
Ile to jest 1+1 w Java'ie?

Branche i Scrum to taki security blanket dla programistów

Ludzie lubią przewidywalność, albo nawet nie tyle przewidywalność, a poczucie bezpieczeństwa i przewidywalności, czy też mienia kontrol nad czymś.

To poczucie nie musi być oparte o rzeczywistość, musi być po prostu odczuwane. Często wystarcza po prostu kocyk.

W programowaniu jest conajmniej kilka takich kocyków.

Branche - wiadomo, że branche mają tendencję do prowadzenia do merge conflictów, co nie zmienia faktu, że jak rozmawiasz z developerami to często słychać stwierdzenie "czuję się bezpieczniej używając branchy". Branche dają poczucie stabilności, kontroli, tego że tutaj w tym nad czym pracuję nic się nie zmieni poza moją kontrolą.

Scrum - a dokładniej Sprinty. Daje jakieś ramy, jakieś rusztowanie. Wiadomo kiedy będą spotkania (no chyba, że ja mam na to wpływ, bo jak mogę to staram się robić zawsze w tym samym czasie, ale nie ustawiam powtarzalnych meetingów, tylko każdy tworzę ręcznie ;-)), wiadomo ile jeszcze czasu mamy i jest to poczucie przewidywalności, kontroli nad tym co się dzieje, chaos na nas nie patrzy i nie macha nam radośnie z otchłani, zamiast patrzeć na cały backlog można spojrzeć na ten jeden kawałek i skupić się nad tym kawałkiem.

Ludzie mają problem z niepewnością, która jest tak naprawdę jedyną pewną rzeczą w życiu ;-)

Ale overload ma swoje problemy, u mnie może oznaczać zrzucanie wszystkiego co nie jest stabilne, albo bezwzględnie potrzebne. Powoduje dyskomfort taki, że nie wiadomo co z tym robić? Odrzucić. Podobnie z czymś co nie pokazuje progressu.
Chociaż to ma też zalety ;-) bo to jest całkiem skuteczny sposób filtrowania. Pozwala na odsuwanie decyzji, które nie są krytyczne, albo nie brnąć w coś co nie rokuje.

Są najmniej dwa rodzaje decyzji, decyzje odwracalne i nieodwracalne.
W kodowaniu te odwracalne możemy sobie podejmować kiedy i jak nam się podoba, te nieodwracalne są gorsze, bo trudniej się z nich wycofać.
Na szczęście często decyzje nieodwracalne są takie tylko z pozoru, wybór np. silnika do bazy danych, czy rodzaju bazy danych (czy relacyjna czy NoSQL) można odsunąć wprowadzając abstrakcje która ukrywa mechanizmy pod prostym API (prostym w sensie basic, nie prostym w sensie easy).




Podobne postybeta
O tym czemu branche są złe...
O używaniu 3rd party API
SCRUM i ogólnie Agile to często taka zakamuflowana forma premature optimization
Lubię mieć wybór, ale nie lubię wybierać ;-)
Kariera IT, jak iść w górę i jak iść w bok ;-)

wtorek, kwietnia 25, 2023

Bałagan na podłodze = bałagan w głowie? ;-)

Nie wiem czy to jest prawdziwy związek, ale zauważyłem taki związek, że jak mam dużo na głowie to mam bałagan w domu.
I tak od jakichś 5 tygodni (z których 3 spędziłem poza domem) ciągle nie mam porządku i ciągle leżą zakupy na podłodze i nie są schowane.

Zawsze mnie fascynowała możliwość tego, że może istnieją jakieś proxy, które pozwalają na np. stwierdzenie czyjegoś stanu wewnętrznego gdy się na tego kogoś patrzy, albo czyta, albo patrzy na pomieszczenie które urządził.
I wiem, że one istnieją, chociaż nie muszą być uniwersalne.

Ta z porządkiem czy jego brakiem, może działać w obie, a nawet w trzy strony ;-)
Może być tak, że bałagan w domu powoduje zamotanie w głowie, może być tak, że zamotanie w głowie objawia się bałaganem i w końcu, że i zamotanie i bałagan mają to samo źródło ;-)

Nawet dziś przez chwilę chciałem posprzątać, ale żeby to zrobić to musiałbym wyrzucić inne rzeczy, które zajmują szafkę którą przeznaczyłem na schowanie tych cosiów z podłogi... i mi się odechciało ;-)

Chociaż jedno wiem, walka o uporządkowanie czegoś zaczyna się od najmniejszych rzeczy. Stąd wyrzuciłem parę opakowań, które mi się pałętały po meblach kuchennych ;-)

A tak całkowicie poza związkiem, Spark ssie, nie lubi Java'y powyżej 8, niby jest coś co działa 11, ale tak sobie, a wszystko przez to, że używa jak się wydaje zakazanych pakietów...



Podobne postybeta
Za dużo książek? ;-)
Majel vs. Siri
A może by tak zacząć zamykać przeglądarkę? ;-)
Exif jest zły - część 2 :-)
Terminator Genisys

poniedziałek, kwietnia 24, 2023

Przydatne i nieoczywiste "narzędzia" czy rzeczy, które pomagają w podróżach

Przydatne narzędzia jakie odkryłem w ciagu paru ostatnich lat...

Scyzoryk, a dokładniej Victorinox Swiss Champ.
Bardzo przydatny w podróżach :-) najczęściej używam z niego nożyczek (bardzo dobrze się nim otwiera torebki z budyniem ;-)) i co dziwne "śrubokrętu" który używałem już kilkukrotnie do odpowietrzania kaloryferów ;-)


Linijki (najlepiej przezroczyste) do skanowania. Jeśli Twoja firma wymaga zeskanowania paragonu to zawsze jest problem z wyprostowaniem draństwa, jeśli to chcesz zrobić przy pomocy telefonu.

Ale przyciśnięcie boków paragonu przezroczystymi linijkami rozwiązuje problem :-)

Telefon z Androidem jako repeater sygnału WiFi. Przydatne gdy w hotelu czy podobnym miejscu zasięg WiFi jest dobry np. przy drzwiach, ale już nie taki dobry dalej ;-)
Wystarczy wziąć telefon z Androidem, który jest podłączony do WiFi i włączyć hotspot :-) od razu w całym pokoju mamy lepszy internet :-)

MINIX NEO P3 100W Turbo 4, czyli 4 portowy zasilacz, który jest w stanie ładować laptopa do 100 W, albo w tym samym czasie laptopa z 45 W, iPada z drugiego portu 30 W i jeszcze 2x7.5 W dla innych cosiów ;-)

Podręczna 60 m kula do wykrywania gdzie uderzy piorun ;-), wg What's If wystarczy taką kulę ze sobą nosić i jak zaczyna być burzowo to położyć ją na okolicy i wszędzie gdzie będzie dotykała to jest szansa, że trafi w to miejsce piorun.




Podobne postybeta
Uniwersalny zasilacz ;-)
Błysnęło, huknęło i zepsuło telewizje :-(
Paragon - zostawić czy wyrzucić?
Czy kosmita zobaczy rusztowania?
Jechałem Teslą 3 :-)

niedziela, kwietnia 23, 2023

Chillout na 80%

Parę lat temu uświadomiłem ludzi w pewnej firmie, że ich ośrodek mógłby się utrzymać chyba 2.5 roku z wszystkimi osobami w tym oddziale za to co dostała szycha na szczycie firmy w akcjach na 4 lata ;-)
To sprawiło, że przez moment większość ludzi zastanawiała się czy warto się tak męczyć, że skoro są tak mało warci dla firmy to może nie warto aż tak pchać do przodu?
Chociaż to przechodzi, wiem po sobie ;-)

W Finlandii budowali elektrownię atomową, zajęło im to chyba 14 lat dłużej niż planowali i 3 razy więcej kosztowało.
Podobnie lotnisko w Berlinie, budżet przekroczony kilkukrotnie, czas też, a do tego lotnisko nie do końca nadawało się do użycia.
W Krakowie Krakowską remontowano przez chyba 2 lata dłużej (ale było warto :-))

A teraz pytanie ile osób pracujących przy tych projektach zaniedbało swoje zdrowie, swoje rodziny, swoje życie? Ile osób zeszło z tego świata z powodu zawału wywołanego przez stres wynikły z tego wszystkiego?

Warto było?
Każda z tych rzeczy przynosi pewne zyski społeczne, ekonomiczne, umożliwia zbudowanie czegoś większego i ważniejszego.
Ale każda z tych rzeczy została dowieziona. Tylko, że później.

Pytanie czy ten zysk dla wszystkich (czy dużej grupy ludzi) był wart tych kilku żyć, które zostały stracone?
Możliwe, chociaż to nie jest miła myśl.

Ale te rzeczy miały sens. Były mniej lub bardziej potrzebne. Dodają jakąś wartość do świata i dodają coś co pomaga ludziom.

Ale bądźmy szczerze jest cała masa projektów, które sensu nie mają ;-) Które może przynoszą jakieś tam zyski, ale przynoszą też masę strat.
Taki np. Facebook, czy jeszcze lepiej Tik-Tok, a platformy do gier hazardowych? ;-)

Może więc jeśli Twoje zadanie nie prowadzi wprost do ochrony życia ludzi, warto trochę odpuścić i tak pracować na powiedzmy 80%. Konsekwentnie, zawsze, nie obijając się, ale na 80%?
Zawsze, nawet jak masz zły dzień jesteś w stanie dać te 80%.
110, czy 130 dasz tylko w dobre dni, a i tak często duża część pary pójdzie w gwizdek. No i takie tempo jest nie do utrzymania.

Mój najszczęśliwszy rok pracy zawierał w sobie fragment gdy jako team nie mieliśmy nic konkretnego do roboty i rzucano na nas dziwne rzeczy. To było niemiłe, ale z drugiej strony dobrze spałem, poznawałem ludzi i dużo się uczyłem. Nikt się nie obijał, ale nie było też szalonego tempa pracy.
Fakt, muszę tu przyznać, pod koniec roku przyszło szalone tempo i szalone deadline'y i to też było świetne ;-)

Przez ostatnie parę miesięcy miałem na sobie robotę paru osób ;-), teraz nagle jest masa ludzi którzy robią robotę i momentami mam takie ataki "i co ja biedny będę robił?" i gdzieś tam z tyłu przebija mi się taki mały głosik "swoją robotę? Tylko takim tempem na 80%, że wszystko dowieziesz, ale bez szalonych terminów?".
Jeszcze mu musze uwierzyć ;-)

A w ramach poszukiwania tego wewnętrznego głosiku udam się na początku maja do Wenecji ;-)




Podobne postybeta
4 dniowy tydzień pracy - idea piękna... ale obawiam się, że tylko zwiększy rozwarstwienie
Coca-Cola Zero i pomidory = najbardziej "odchudzająca dieta" na świecie ;-)
Plug-in master ;-)
"Nowy" java.net.http.HttpClient jest cool :-)
Rycerz na białym koniu? ;-)

sobota, kwietnia 22, 2023

Blog prostszy od LeetCode ;-)

Tak stwierdzam, że ostatnie prawie 2 miesiące pisania na bloga dzień w dzień dowodzą tego, że pisanie na bloga jest prostsze niż robienie zadań w LeetCode dzień w dzień ;-)

W tamtym roku udało mi się dostać badge za 3 miesiące pod rząd w LeetCode:


Co znaczy tyle, że przez maj, czerwiec i lipiec udawało mi się dzień w dzień robić zadanie na LeetCode z tych, które mieli jako wyzwania na dany dzień.
Muszę jednak przyznać, że bywały sytuacje gdy wykorzystywałem to, że już kiedyś napisałem to zadanie i nie rozwiązywałem go ponownie, a po prostu uruchamiałem kod "z poprzedniego razu", możliwe też, że kilka razy zaglądałem do dyskusji i kradłem pomysły na rozwiązanie czyjeś.

Na blogu piszę sam ;-) i przyznaję, że jest to dużo łatwiejsze ;-)

Fakt, w LeetCode jest niezależny sędzia i trzeba spełnić pewne wymagania czasowe dla rozwiązania, na blogu nie ma sędziego, piszę co mi ślina na język przyniesie, albo raczej co mi palce na klawiaturę przyniosą ;-)




Podobne postybeta
Demoniczny LeetCode ;-)
Majel vs. Siri
Czas wrócić do blindfold programming
Prawie nowa praca ;-)
Czerwiec - podsumowanie czytelnicze ;-)

piątek, kwietnia 21, 2023

A o tym żeby za często nie było tak, że drzewa przesłaniają las

Czasem warto się cofnąć w rozumowaniu ;-)
Ostatnio zabiliśmy jeden z serwisów w pracy, w sensie uznaliśmy, że nie trzeba go budować.
On miał sens najpierw, szczególnie że były pewne wymagania czy może nie wymagania, a wnioski co do tego jak będzie wszystko używane, później one się zmieniły, ale idea systemu została.... chociaż można go było zastąpić biblioteką ;-)

Inny przykład, wziąłem urlop na początek maja. 
Jak zwykle sprawdziłem Wenecję i mój hotel ma wolne pokoje od 1 maja do 7... więc trochę szkoda weekendu bez wyjazdu, więc była myśl "a może jechać pociągiem"?
No to szukam pociągu i są, ale nie ma sypialnych wagonów wolnych... ale np. 6 czy 5 jest, to może skrócić ewentualny pobyt w Wenecji?
Dopiero po jakimś czasie do mnie dotarło, że przecież pociąg był pomysłem na "dłuższy" urlop (w sensie lepsze wykorzystanie wolnego), jak nie spełnia tego wymagania to go można samolotem zastąpić ;-)

Dobrze mieć taki check, do sprawdzenia czy właściwie rozwiązujemy ten problem, który chcieliśmy rozwiązać. Czy zamiast na problemie głównym nie spędzamy czasu na problemie pobocznym?

Tutaj dobrze mieć jakieś ograniczenia czasowe, albo w zasobach, bo wtedy nagle łatwiej odrzucać problemy które są "zbędne" i samo ograniczenie powoduje, że się wchodzi w tryb tego sprawdzania.

Ten check pozwala sprawdzić czy drzewa nam czasem nie przesłaniają lasu ;-)
Za często mamy tendencje do przebywania na poziomie operacyjnym lub taktycznym i zapominania odpowiednio o poziomie taktycznym i strategicznym ;-)

Za długo można spędzić czasu np. nad fragmentem kodu, który nie działa jak chcemy, czasem warto się zastanowić czy go w ogóle potrzebujemy do rozwiązania głównego problemu.

Dla mnie osobiście podejmowanie decyzji jest zawsze najprostsze i najbardziej oczywiste gdy jest zdrowa presja czasu ;-)



Podobne postybeta
iCloud jest podły....
Czemu strony only for IE są złe.
Pixel 6 po ~2 miesiącach.... prawie nieodróżnialny od Pixela 4 XL ;-)
Lubię mieć wybór, ale nie lubię wybierać ;-)
Chromebook w praniu, czyli tam i z powrotem, Kraków - Londyn - Kraków w 30 godzin

czwartek, kwietnia 20, 2023

Jakie słuchawki z tłumieniem szumów wybrać?

Mam odpowiedź na pytanie "jakie są najlepsze słuchawki z tłumieniem szumów".

Odpowiedź brzmi - to zależy ;-)

W przypadku słuchawek dousznych używam Pixel Buds i AirPods Pro 2.

Pixel Buds są świetne, szczególnie dobrze nadają się do słuchania muzyki i rozmów telefonicznych. Jakoś lepiej mi do tych dwóch rzeczy służą od takich AirPods Pro.

Tłumienie mają jednak takie sobie. Muzyka wg mnie brzmi w nich lepiej niż w AirPods Pro, ale bardziej słychać szumy. 

Interfejs też jest bardziej skomplikowany, bo działają w oparciu o stukanie ;-) i trzeba pamiętać co które oznacza, np. rozłączenie się to 2 stuki.

Dodatkowy zarzut to to, że nie do końca lubią siedzieć w uszach.

Można je ładować tak USB-C jak i na Qi-Charger.

AirPods Pro 2 są też świetne. 
Mają najlepsze tłumienie szumów. Spokojnie można słuchać podcastu idąc obok drogi gdzie szybko jeżdżą samochody. Na zwykłych słuchawkach bez tłumienia nic byśmy nie słyszeli, a tutaj niedość, że słyszymy doskonale podcast to jeszcze nie słychać ryku przejeżdżających aut.

AirPods Pro mają jednak problemy z telefonem. Moi rozmówcy wolą jak używam z iPhonem 14 Pixel Buds niż AirPods Pro. Podobno lepiej słychać mój głos.

W przypadku słuchawek nausznych używam Sony WH-1000XM5 i AirPods Max.

Do ładowania trzeba używać Lightning, albo Qi-Charger (chociaż też taka do Apple Watch działa) 

Sony WH-1000XM5 są świetne do domu. Są tak lekkie, że ich nie czuć, bardzo fajnie też brzmią.

Jednak w pociągu czy samolocie nie dają aż tak rady, może to przez to że są plastikowe i lekkie i może przez to część dźwięków się przebija? Próbowałem porównywać wrażenia z Sony i z AirPods Max i jednak Sony odbierałem jako gorsze, spokojnie można ich było używać i było lepiej niż bez nich, ale bardziej przebijały się sygnały z zewnątrz.

Testowałem w samolocie lecąc do Helsinek i z powrotem i w Fińskim pociągu, oraz przez jakiś czas w Pendolino w Polsce.

Do ładowania używa się USB-C.

AirPods Max są cięższe niż Sony, ale świetne w tłumieniu hałasu w samolocie i w pociągu :-)

Przeleciałem w nich przynajmniej 2 razy Atlantyk lecąc do USA i z powrotem, wielokrotnie używałem w Pendolino i takich "zwyklejszych" pośpiesznych pociągach i są świetne do oglądania filmów.

Do muzyki też są dobre, acz ja wolę jednak brzmienie Sony WH-1000XM5 :-)

Wystarczy użyć tego "flow" i wszystko będzie jasne ;-)



Ale jakbym miał kupić 1 to w przypadku dousznych bym chyba wybrał AirPods Pro, chociaż to by utrudniało rozmowy telefoniczne, w przypadku nausznych wybrałbym jednak Sony WH-1000XM5 chociaż kocham swoje AirPods Max to jednak ten Lightning czyni je trudnymi do używania.

Aha, wszystkich tych słuchawek używałem tak z Androidem na telefonach (głównie Pixel 6 Pro), jak i na iOS, iPadOS i macOS i wszędzie działały bez żadnych problemów. Chociaż AirPods Pro i Max z tego co rozumiem potrzebują iOS/iPadOS lub macOS by móc sobie aktualizować firmware.



Podobne postybeta
AirPods Pro po 5 miesiącach
AirPods Pro nie lubią się z hulajnogami ;-)
AirPods Pro rządzą
Łatwiej kupić AirPods Pro jako komplet niż jedną słuchawkę...
On-call i sąsiedzi którzy robią remont się nie łączą zbyt dobrze :-)

środa, kwietnia 19, 2023

Lepszy soundtrack dla rzeczywistości ;-)

Parę lat temu przez przypadek odkryłem jak nadać znanemu miejscu w mieście nowego charakteru ;-)
Jak sprawić by coś co widzimy codziennie idąc stało się takie ciut niezwykłe ;-)

Trzeba po prostu mieć w uszach słuchawki i słuchać jakiejś majestatycznej muzyki ;-)
To nie może być coś "normalnego", musi być coś bardziej takiego specjalnego.

Pierwszy raz to zauważyłem gdy wracałem kiedyś z pracy, szedłem w okolicach ronda Mogilskiego i "na słuchawkach" miałem Alegrie z Cirque du Soleil, a później coś z Kooza... Rondo Mogilskie nabrało wtedy o wiele ciekawszego charakteru ;-)

Podobnie było w Wenecji... tak wiem, Wenecja jest niezwykła sama z siebie, ale po jakimś czasie człowiek ślepnie na tą niezwykłość. Wtedy pomogła mi muzyka z Dooma ;-) BFG Division albo At Doom's Gate dodają ciekawego smaku placowi św. Marka tak w okolicach 23 ;-)



Podobne postybeta
Quidam - Cirque du Soleil
Zdjęciofilm 2 :-)
Programowanie z uśmiechem?
Moje "odkrycia" 2014 roku :-)
Woda, chyba lubię wodę..

wtorek, kwietnia 18, 2023

Kupię sobie jednak Copilota

Tak ostatnimi czasy odkrywam uroki Copilota i aż mi szkoda, że go nie mogę podpiąć pod firmowy kod, bo to by było przyjemne :-)

Pisanie z nim to naprawdę taki autocomplete z turbo ;-)

Fajnie się zapina tak do IJ jak i do Visual Studio Code i jak na razie używałem go z Java'ą i Pythonem i jest nieźle :-)
Nie idealnie, ale nieźle. Często "rozumie" z poprzedniego kodu to co chcemy zrobić i trzeba mniej pisać, jak widzi, że zapisuję sobie dane z jakiejś struktury do CSV to proponuje to dla kolejnej. 
Proponuje nawet UnitTesty ;-) zna też kontekst nie tylko z treści pliku, ale cały "projekt" czy katalog widzi, więc dziś jak pisałem skrypt w Pythonie do generowania skryptów najpierw dla Octave, a później Basha do uruchomienia wszystkiego to jak załapał o co mi chodzi to zaczął sam proponować kolejne linijki skryptu, który to skrypt jest pisany Pythonem ;-) [w sensie Python pisze te dla Octave i basha, który to będzie wykonywał na wielu CPU jednocześnie[

Brakuje mi teraz tego co podobno ma Copilot X, czyli możliwości napisania tak jak w ChatGPT krótkiego opisu kodu, żeby go wygenerował, chociaż tu czasem może działać oszukiwanie przez napisanie deklaracji metody ;-)
Z takim pewnym toolem do wpisania opisu kodu byłoby jeszcze lepiej, bo często pisanie to robienie 204 raz iteracji tego samego problemu i taki Copilot tutaj pomaga bo trzeba się skupić nad samym problemem i różnicami, a nie czymś co się pisze tak z automatu. 

Chociaż warto być szybkim w czytaniu kodu ;-) bo jednak jak wkleja kilka linijek kodu to trzeba umieć stwierdzić co one zrobią ;-) i czy to jest akurat to czego chcemy ;-)

Stąd jak mi się skończy trial to sobie kupię ;-)



Podobne postybeta
Toole do CI są dziwne ;-)
Copilot za bardzo pomaga i czasem trzeba go wyłączyć ;-)
Piszemy dzienniczek z Copilotem ;-)
Copilot chyba pomaga ;-)
ChatGPT - do czego i do czego nie ;-)

poniedziałek, kwietnia 17, 2023

W tworzeniu softu droga od tego jak jest do tego jak ma być jest ważniejsza od tego jak ma być

Zauważyłem wiele razy, że często w projektach informatycznych (ale nie tylko ;-)) jest tak, że ludzie mówią jak ma być (czasem nawet wiedzą jak ma być ;-)), czasem jeszcze wiedzą jak jest (choć to już nie tak często), ale jakoś w ogóle nie myślą o tym co będzie po drodze. 

Nie patrzą na problem jak na proces, który będzie trwać przez jakiś czas, w którym są różne zależności, które są może poza kontrolą, po prostu chcą tej ostatecznej idealnej wersji.

Będąc w Waszyngtonie odwiedziłem Smithsonian National Air and Space Museum i tam jest taka plansza pokazująca kroki w programie lotu na Księżyc.

Widać tam, że od momentu jak już wiedzieli w NASA, że lecą na Księżyc bo Kennedy wskazał ten cel, a nawet już wcześniej, cały program był nastawiony na lot na Księżyc.
Poszczególne misje już w programie Gemini miały na celu testowanie rozwiązań, które miały być użyte w programie Apollo.

Podobnie w rozwiązaniach software'owych trzeba o tym myśleć, a często się nie myśli.
Dla wielu devów ważny jest ficzer, czy ticket nad którym pracują i nie patrzą jak on się wpisuje w całokształt systemu.
Znów wielu architektów z lekkim obrzydzeniem patrzy na materializację idei ;-) i chce rozwiązań doskonałych i nie patrzy na co się dzieje po drodze.

Np. jedna z podstawowych zasad to to by nie budować czegoś na przyszłość, albo nie budować czegoś co nie będzie używane przez jakiś czas bo będzie czekało na inny komponent.
Wiele razy widziałem zrzucanie ficzera na następny kwartał bo "X nie dostarcza funkcjonalności", chociaż wystarczyło ją samemu napisać... nie była to rzecz krytyczna. Ale napisanie jej nie pasowało do wizji.
Jeden z większych błędów w jednym z projektów nad którym pracowałem wynikał z tego, że jeden z teamów dostał informację, że nie wolno im napisać pewnego komponentu UI i muszą czekać, aż zostanie dostarczony przez autorów frameworku, w międzyczasie zaś UX musiał hackować przy pomocy komponentów które istniały z ich ograniczeniami... a później genialnie ktoś inny wpadł na pomysł, że ponieważ UI jest złożony to trzeba wprowadzić specjalny framework do budowania interfejsu aplikacji przez kilka zespołów... nigdy to dobrze nie działało, zmniejszyło wydajność wszystkich zespołów... a wszystko przez to, że w idealnym świecie osób zarządzających projektem to framework miał dostarczyć funkcjonalności... nie dostarczył więc w końcu sproduktyzowano hacka ;-)

Nie pomyślano o tym co robić w międzyczasie, w różnych product boardach i roadmapach coś było przewidziane kiedyś w przyszłości i do tego momentu należało czekać.

W innym projekcie widziałem zdziwienie developmentu, że można ruszyć na PROD bez jednego z komponentów, bo od niemal początku planowany był awaryjny workaround, który miał mieć możliwość przejęcia funkcji tego serwisu jakby serwis nie zdążył... 
Co najlepsze dostali to jako bibliotekę, ale uznali, że sami sobie to napiszą i napisali nie dostrzegając, że sposób generowania nowych IDików jest stabilny.

A tworzenie softu to jest zawsze proces :-) od początku trzeba budować wszystko tak by można było podmieniać klocki i zaczynać od trywialnej implementacji, która pozwoli uruchomić całą resztę układanki. Nawet jak w którymś momencie będzie implementacja, która coś hardcode'uje. 
Co zabawne czasem takie tymczasowe rusztowania mogą zostać na zawsze w produkcji, co dowodzi tego, że bardziej fancy rozwiązania wcale nie były potrzebne ;-)



Podobne postybeta
Kosmiczne klocki :-)
2 wymiarowa teoria kariery w IT ;-)
Wkurzają mnie obłudni i źli hipokryci mizogini.
Cukierki, radosny chaos i takie tam, czyli Przemkowe rojenia ;-)
Czemu filmowe AI jest prawie zawsze tak bardzo tępe?

niedziela, kwietnia 16, 2023

Testowanie termometrów ;-)

Kupiłem sobie 4 takie elektroniczne termometry, które mierzą jeszcze wilgotność.
Problem w tym, że to Xiaomi czy coś w ten deseń i zawsze jest pytanie czy one w ogóle coś mierzą...

Stąd zostały dziś ustawione obok siebie i wyniki są zbieżne choć raz na jakiś czas się różnią ;p



Co ważne nie zawsze ten sam odstaje, a różnice w wynikach są małe.

Sam pomiar wilgotności został zestawiony z pomiarem dokonywanym przesz oczyszczacz powietrza i są zgodne ;-)

Pomiar temperatury ciut gorzej, został porównany z 2 termometrami i jest tak mniej więcej w połowie.

W taki sposób termometry zostały dopuszczone do użytku ;-)




Podobne postybeta
2.5 stopnia robi różnicę? ;-)
Użytkowniki nie chcą współpracować ;-)
Wyłudzacze ;-)
Airly + Python + Oczyszczacz Powietrza = lepsze oddychanie ;-)
Wyprorokowałem ;-) - okulary 3D :-)

sobota, kwietnia 15, 2023

Balkon to zuo ;-)

Naprzeciwko mojego mieszkania jest w drugiej klatce mieszkanie, które jest chyba wynajmowane.

Z miesiąc temu była tam wielka działalność w ramach sprzątania, momentami 3 osoby sprzątały, ale tak ciekawie, że w danym momencie ktoś sobie odpoczywał i nic nie robił.

Teraz jedynym śladem jest leżący na balkonie materac... Podkreślam to było z miesiąc temu, ja zdążyłem w tym czasie spędzić 2 tygodnie w Juracie, parę dni w Finlandii i jeszcze tydzień w domu.

Piętro niżej na balkonie jest składowisko różnych rupieci, to samo obok.

W moim kawałku są jak się wydaje całe 3 balkony, które są używane do czegoś innego niż bycia składowiskiem ;-), albo jak u mnie do trzymania roweru i odbierania światła.

Tak z obserwacji w miastach balkony zwykle są takimi składowiskami, albo nie są używane.... po co się je więc buduje? Tzn. ja rozumiem, każdy m2 balkonu czy loggi to dodatkowa kasa dla developera ;-) więc w moim budynku mamy de facto 2 elewacje ;-) pierwsza "wewnętrzna" to tam gdzie są ściany bloku, a druga jest jakieś 1.5-2 bardziej na zewnątrz i zamyka loggie, stąd mój blok udaje taki bunkier w ciut lepszym stylu ;-)




Podobne postybeta
Nieprzytomny
Drony listonosze...
12 lat ;-)
Trawa.... a dokładniej jej dym jest błeee
Ha! Widziałem ISS :-)

piątek, kwietnia 14, 2023

USB-C + lightening = awesome plug ;-)

USB-C jest wielkie, niestety Apple przez wiele lat trzymał się i nadal trzyma lightning'u.

Moje urządzenia używają USB-C i właśnie lighteningu.... niby można zawsze wozić ze sobą kabelki obu rodzajów, ale problemem jest to, że nie zawsze zgadza się ilość gniazdek na kabelki, a nawet na zasilacze.

Stąd dobre są przejściówki z USB-C na lightening.

Jednak przejściówki maja tendencję do gubienia, stąd postanowiłem wszystko to pożenić ;-)

Wszystko zaczyna się od 3 komponentów ;-)

  • przejściówki,
  • kabla,
  • gumki
co widać na zdjęciu poniżej:


Teraz używamy gumki do przywiązania jej do przejściówki:


I przejściówki z gumką do kabla:


I teraz wystarczy przypiąć przejściówkę i mamy lightening, albo ją zdjąć i mamy USB-C:


Tyle na dziś ;-)





Podobne postybeta
Uniwersalny zasilacz ;-)
Laptop - not disturb mode ;-)
USB-C w iPhonie dobra rzecz :-)
iPhone 15 Pro Max
Trudne USB...

czwartek, kwietnia 13, 2023

Wyzwalająca moc CMD-Q ;-)

OK dziś po około milionie lat (9 latach) używania macOS (wcześniej OSX) zacząłem świadomie używać CMD-Q i mój laptop przyspieszył ;p
Spróbuję CMD-Q poużywać na moim firmowym laptopie, może też przyspieszy? ;-)

Chociaż może nawet nic nie przyspieszyło, ale jak przełączam aplikacje to widzę dużo krótszą listę i może przez to mam wrażenie, że wszystko jest takie szybsze? :-)

W przypadków komputerów ja zwykle nic nie zamykam, a macOS tu ma też to, że użycie X w okienku zwykle nie zabija aplikacji... i przez to zwykle mam otwartą całą masę apek.
2 tygodnie temu potrzebowałem KDiff3? To nadal gdzieś tam z tyłu działa. To samo Excel (czy w domu Numbers albo OpenOffice.org) albo SourceTree.

Ciekawe jak długo wytrzymam ;-)

A, jest jeszcze taki fajny programik Quitter for Mac, w którym można włączyć automatyzowanie zamykania apek, które się otworzyło i nie używa przez jakiś tam czas ;-)
U mnie na liście są Firefox, Opera i parę innych, ale i tak się tego dużo zbiera i wtedy CMD-Q pomaga.



Podobne postybeta
Windows....
Migracja
Plastikowa supermoc
Utrata keystore szansą na odwyk od Facebook? ;-) - chyba jednak nie ;-)
Dalsze śledzenie geolokalizacji Google'a :-)

środa, kwietnia 12, 2023

Trochę dziś przesadziłem ;-)

Chyba dziś lekko przesadziłem ;-) zacząłem pracę tak koło 8:40, a skończyłem o 18:30...

W ciągu poprzednich 3 tygodni tak powoli acz skutecznie zacząłem wcześniej wstawać, bo:

  • prakacje spędziłem w ośrodku wczasowym ;-) i śniadanie było między 8 a 10, a że mało było gości to jaki taki wybór był tak do 9,
  • zmienili złośliwie czas,
  • poprzedni tydzień spędziłem w Finlandii gdzie mają jeszcze godzinę wcześniej niż my ;-)
Na skutek tego 8:30, czy 8:00 jako godziny wstania nie są takie nierealne jak bywały ;-) [moja uczciwa godzina wstawania to 9:30 ;-)]
No a jak wcześniej wstaję to i wcześniej zaczynam pracować... 

Ale kto to widział żeby w normalny dzień pracować 10 godzin blisko? Ale tak, praca z domu tak na mnie wpływa, w biurze miałbym sygnały w postaci wychodzących ludzi, do tego i tak spędziłbym masę czasu w kuchni i podobnych miejscach.

I tutaj nie narzekam na pracę, bardziej na mój osobisty problem, że gdzieś mam popsuty ten kawałek który by chronił mój czas ;-) bo przecież tak naprawdę, naprawdę nic by się nie stało jakbym zaczął później czy skończył wcześniej.




Podobne postybeta
Programowanie pomaga :-)
Wündermind
Dlaczego jeszcze nie kupiłem samochodu? ;-)
Do the right thing, Wait to get fired - to jednak ma sens
Poszlaki o GDrive... Jak ludzie je znajdują????

A co jeśli jesteśmy jedyni?

Lubię SF, czytam teraz książki S.H. Jucha'y i tam się aż roi od obcych. 

Obcy w filmach czy książkach są zwykle super mądrzy, albo chociaż super rozwinięci.

Niby mamy równanie Drake'a, które "pozwala" oszacować liczbę możliwych inteligentnych cywilizacji, i często wyniki są bardzo duże.

Ale jest też paradoks Fermiego... Teoria wielkiego filtra, jest też broń jądrowa i globalne ocieplenie. Czyli w skrócie może nikogo nie spotkaliśmy z obcych bo okazali się być jak mamuty i wyginęli i my na to też mamy szanse?

No ale co jeśli jesteśmy sami? Albo chociaż jesteśmy w miejscu, że nie ma nikogo bardziej zaawansowanego technologicznie niż my?

Z jednej strony przygnębiające, z drugiej czy to nie jest wyzwanie? 

No bo jeśli jesteśmy jedyni, albo pierwsi, czy jedni z pierwszych to wypadałoby osiągnąć poziom Asgardu z Gwiezdnych Wrót, albo Vulcanów ze StarTrek'a.
Jeśli jesteśmy szczytem stworzenia to kurcze, daleko nam do doskonałości ;-)

Taka dziwna wersja zakładu Pascala (chociaż ta chyba nie ma błędu ;-)), no bo jeśli jesteśmy pierwsi to wypada dążyć do bycia doskonałym no bo wypada ;-) (tak tautologia ;-)), a jeśli nie jesteśmy to chcemy należeć do klubu zaawansowanych cywilizacji ;-) więc chyba też trzeba dążyć do doskonałości ;-) [ale nie że chcemy zostać cywilizacją kulistą ;-)]

Takie poręczne narzędzie do sprawdzania czy idziemy w dobrym kierunku jako ludzkość możemy stosować, czy jakbyśmy spotkali cywilizację która by robiła X to uznalibyśmy ich za zaawansowanych bardziej czy mniej niż my? I jeśli jest odpowiedź mniej to może trzeba to poprawić? ;-)

No głupio by było wyginąć jeśli jesteśmy jedyni, czy pierwsi. Bo w takim przypadku to nam przypada bycie bogami dla tych następnych ;-) i jak wyginiemy to kogo oni będą mieli?




Podobne postybeta
Mamy lepiej :-)
Bycie człowiekiem jest dziwne.
Czerwiec - podsumowanie czytelnicze ;-)
Łatwo pisać, trudniej robić ;-)
I znów nie rozumiem....

wtorek, kwietnia 11, 2023

Blog to jednak nie jest dobre źródło notatek ;-)

Cała sprawa z tagowaniem przy użyciu ML zaczęła się od pomysłu czy bardziej pytania czy mogę wykorzystać bloga jako źródło "notatek", które posłużyłyby za początek zbioru moich notatek.

Dziś poczyniłem eksperymenty i napisałem (wraz z Copilotem ;-)) toola do konwertowania postów z HTML do Markdown'a. Robiłem to wg tagów i jak na razie kończy się na tym, że dodałem nowy tag ;-) sztuczki tropiciela błędów i jak na razie z czystym sumieniem tylko zawartość postów z tego tagu wrzuciłem do Obsidiana (tzn. są tam też inne, ale w katalogu dla kandydatów ;-))

Przy okazji biblioteka html2markdown dla Pythona jest taka sobie i w końcu część wpisów muszę ręcznie edytować, głównie chodzi o kod źródłowy.

Mam jeszcze nadzieję, że coś przydatnego znajdzie się w dziwne narzędzia i może w Java, ale ogólnie forma bloga nie jest najlepszą metodą na notowanie ;-)

Czyli eksperyment wykonana, lecz niestety nieudany ;p



Podobne postybeta
Dalsze testowanie tagowania MLem ;-)
Pomysł na projekt MLowy ;-)
Nieudany eksperyment ze stworzeniem Blogger Backup'a :-)
Zegarek trudny
Hack Day i zapomniana buła

poniedziałek, kwietnia 10, 2023

Książki mi jakoś nie wchodziły w czasach COVIDa...

Od paru lat notuję książki, które przeczytałem i kiedy to było.

Liczę tylko książki inne niż beletrystyka.

No i widzę, że COVID sprawił, że mniej czytam i to coraz bardziej... chociaż jest chyba odbicie ;p

Bo wyniki z lat kiedy prowadziłem book log wyglądają tak: 


Co ciekawe 2019 rok uznaję za najlepszy w moim życiu ;-) inne lata nie były złe, ale 2019 mi się na razie najbardziej podobał. 2017 też nie był zły ;-) (no ale 2018 też nie...)

Teraz pytanie czy byłem bardziej szczęśliwy bo więcej czytałem, czy czytałem więcej bo byłem bardziej szczęśliwy? ;-)

Chociaż fakt, to są jak podkreślam tylko książki nie będące beletrystyką... (chociaż w 2021 roku zaliczyłem Brave New World i Zen i sztuka obsługi motocykla.... ale może to przez to, że to były książki które kilka razy zaczynałem i zaliczyłem przez to do bardziej ambitnych ;p)

W tym roku np. przeczytałem już 14 książek napisanych przez S. H. Jucha (13 z serii Silver Ships i teraz czytam drugą z Pyraens żeby móc wrócić do Silver Ships), więc to nie jest tak, że ja wcale nie czytałem w 2022 czy w tym roku.

W tamtym roku też trochę takich książek czytałem, ale jednak mniej. 

Jest jeszcze pytanie czy naprawdę wszystkie książki notuję, ale zrobiłem cross reference do danych z Goodreads i się potwierdza.

Jeśli popatrzeć na lata gdy mam daty kiedy przeczytałem książkę to wygląda, że kwiecień jest miesiącem gdy najwięcej czytam ;-)


a przynajmniej najwięcej książek kończę a kwietniu ;-)

OK, trzeba wrócić do czytania, teraz nawet jest szansa, że w nowym układzie w firmie będę miał czas/siły na to ;-)



Podobne postybeta
Feeling Good SF :-)
Spalmy wszystkie książki!
1096 dni...
Wierszowy data mining
Książki w grudniu ;-)

niedziela, kwietnia 09, 2023

Skarpetki zamiast kapci ;-)

Ciekawą rzecz zauważyłem w Finlandii :-)

Niektórzy używają grubych skarpetek jak w Polsce używa się kapci :-)

Pierwszego dnia zauważyłem, że jedna z osób w biurze chodziła w skarpetkach, ale później, że tez druga.. najpierw myślałem, że to może wynik tego, że po prostu kapcie/chapcie/pantofle czy buty zostawili przy biurku.
Ale drugiego dnia było podobnie.
Ciekawa sprawa ludzie, którzy byli z Finlandii mieli często właśnie grube skarpetki na nogach ;-)
Ale obcokrajowcy, którzy mieszkają w Finlandii mieli buty, czy sandały (nazwijmy je dla prostoty kapciami)
Jak szliśmy na obiad do kantyny na dole to wyglądało, że skarpetkowcy zdejmują te skarpetki i zakładają buty....

Później jeszcze w pociągu widziałem jak jeden ze współpasażerów jechał bez butów w takich grubszych skarpetkach, ale przed Helsinkami (czy bardziej Tikkurilan/Dickursby) zdjął te skarpetki, schował do torby i założył buty ;-)

Taka obserwacja z obcego kraju ;-)



Podobne postybeta
Matematyczne podstawy zakupu skarpetek ;-)
Jak upolować satelitę? :-)
Dziwne skojarzenia
Sztuka ;-)
Edukator ;-)

sobota, kwietnia 08, 2023

Java 8 nie lubi UTF-8 ;-)

Zepsułem sobie nową wersją toola do podobnych postów listę tagów w postach, i po tym wyglądała tak:


Jak widać pojawiło się wiele dziwnych nazw, które powstały przez zmianę polskich znaczków w jakieś dziwne cosie...

Stało się to dopiero po tym gdy program został uruchomiony na moim Raspberry Pi...

Jak rozumiem, choć nadal nie jestem pewien czy to główny powód ;-) jest to spowodowane tym, że Java 8 lubi UTF-16, a nie UTF-8 i coś się jej pozajączkowało.

Dodałem do cmd line uruchamiającego program -Dfile.encoding=UTF-8 i wydaje się, że to pomogło...

Chociaż i tak teraz programik uruchamia się co 10 minut, a wykonanie trwa dłużej ;-) więc chyba najwyższy czas przenieść apkę na ZimaBoard, niedość, że jest tam szybszy CPU (Celeron w końcu jakiś ;-)) to jeszcze do tego jest tam nowsza Java i mógłbym też programik zmienić na nowszą Java'ę.

Co mnie dziwi ja gdzieś po drodze używam plików do przechowywania danych pomiędzy krokami pracy programu i mimo wszystko nie było takich problemów wcześniej.
Może gdzieś ustawiałem, że to jest UTF-8?




Podobne postybeta
Jowisz, mglawica i Księżyc
Szukanie czemu mi nie działa program na Java 17, a czemu działa na Java 8 ;-)
Mysaifu JVM - Java dla PocketPC
LibreOffice - takie sobie
Java 8 + lambdy = wolno ;-)

overload vs varargs

Tak sobie modyfikowałem dziś kod i użyłem varargs zamiast overload i zacząłem się zastanawiać które jest bardziej koszerne ;-)
W moim przypadku chodziło o przekazanie nazw paru plików, które jeśli są mogą zostać użyte do załadowania danych związanych z liczeniem nowych tagów, a jak ich nie ma to można je po prostu zignorować.

Zdarzało mi się używać obu technik.

Tak dla przypomnienia overload to posiadanie kilku metod czy konstruktorów z różnymi parametrami, np. coś takiego:

void test();
void test(int a);
void test(int a, int b);
void test(int a, int b, int c);

A varargs to coś takiego:

void test(int... args);

Użycie tego kodu jest zawsze podobne i można swobodnie napisać takie coś:

t.test();
t.test(1);
t.test(1,2);
t.test(1,2,3);

Zakładając, ze w t mamy implementację klasy z metodami z wyżej.

Co ciekawe nawet w bytecode nie ma zbytniej różnicy.

Wychodzi mi na to, że oba sposoby są koszerne, ale wiele zależy od miejsca i sposobu użycia.

Varargs są "ładniejsze" bo mniej jest metod, ale trochę cierpi na tym discoverability kodu bo zamiast zobaczyć metody z nazwami parametrów zobaczymy tylko 1 z varargsem, z drugiej strony nie zaśmieca to przestrzeni nazw więc też może zmniejszyć krzywą uczenia się danego API.

Sam mam zwykle tendencję do używania overload gdy chodzi o konstruktory i gdy wydaje mi się, że obie wersje metody będą tak samo często używane, a varargs zwykle gdy mam w kodzie masę użyć bez tego dodatkowego parametru i teraz coś muszę dodać ;-)
Tak np. gdy pisałem coś co pobierało dane z DynamoDB to miałem metodę get, która w końcu w rzadkich przypadkach musiała mieć przekazany bardziej dokładny parametr, który pomagał deserializować JSONa i ponieważ większość użyć w kodzie była bez tego to dodałem vararga ;-) chociaż jak tak myślę to raczej było to przez to, że łatwiej mi było zrobić test na długość tego varargs (i nulla...) i zawołać inną metodę w treści kodu niż mieć 2 implementacje bez tego ifa.

Właśnie, varargs ma wadę bo jak się to to pisze to człowiek nie pamięta czy w razie braku to przychodzi null, czy tablica długości 0? :-)
Przychodzi tablica długości 0, ale tak naprawdę trzeba też sprawdzić tego null'a bo zawołanie z null też jest legalne ;-)


Podobne postybeta
Rant śmietnikowy ;-)
Refleksje i serializacja w Java'ie - podstawy i obalanie mitów ;-)
finalize() - do czego służy, a do czego nie i z czym to się je.
Jak z metody size() w List w Java'ie dostać ujemną liczbę? ;-)
&quot;Ochidna&quot; Echidna ;-) czyli jak się mają prace nad RDrive.

piątek, kwietnia 07, 2023

100 lot :-)

Z mojego loga wyszło, że dziś, a właściwie to już wczoraj był mój 100 lot samolotem ;-)
Jeśli dobrze liczę to był to lot z Helsinek do Frankfurtu, który był też w 55 rocznicę rozpoczęcia lotów Lufthansy na tej trasie ;-)

Po 101 lotach już ;-) mogę stwierdzić, że jednak latanie samolotem to nie jest moje ulubione zajęcie, ani ulubiona przeze mnie forma transportu, za duży jestem na klasę ekonomiczną, za biedny (albo za mało ważny w firmach) na klasę biznes ;-)

Najbardziej chyba lubię ze wszystkich samolotów Boeinga 787, i chyba po nim 747, z Airbusów A340-600? Nie lubię A380, nienawidzę B777 od KLM ;-)
Te dawne DeHavilland DHC-8 nie są złe, chociaż mają śmigła ;-)

Lubiłem Virgin America, lubię mimo wszystko United na międzykontynentalnych, lubię KLM (jak to nie jest B777), Lufthansa jest taka sobie.

Najwięcej razy leciałem B737 (bo to ulubiony samolot Ryanair, ale inni go też mają) i jego wariantami, później A320 i jego warianty.
Z szerokokadłubowych jednak A380, później B787, B777, B747, A340 i A330.

Z tych 101 lotów sam płaciłem za 29 ;-) za resztę płaciły firmy ;-)



Podobne postybeta
Jednak lubię United ;-)
Autobus ze skrzydłami...
Taki trochę niezwykły lot Queen of the Skies.
Transport publiczny - moje top i bottom 5 (na dziś :-))
Checklista wyjazdowa

czwartek, kwietnia 06, 2023

Pociąg pociągowi nierówny ;-)

Będąc w Finlandii miałem przyjemność jechać ich pociągami w ichnim InterCity w "Ekstra-klass".
Chwilę wcześniej bo w ostatnią niedzielę jechałem w Polsce Pendolino w 1 klasie.
Trzeba przyznać, że Pendolino wychodzi taniej, to za 641 km płaci się góra 344 PLN czyli ~54 grosze za km, w InterCity w Finlandii za ~176 km zapłaciłem 31.60 Euro, czyli tak pi razy oko jakieś 148 PLN, czyli ~84 grosze za km.
W Pendolino jest poczęstunek i dwa napoje, tutaj jest jakiś barek gdzie sobie można coś do picia zrobić i są jakieś chipsy i podobne, ale nie korzystałem.
Tam średnia prędkość pociągu na trasie Tempere-Helisnki to ~125 km/h, w Polsce na trasie Kraków-Gdynia Główna wychodzi jakieś ~108 km/h.
Ale trzeba przyznać, że w tych wagonach Ekstra-klass jest jakoś tak przyjemniej ;-)


Stoliczki są dużo większe ;-)
Wykończenie jest też ładniejsze, a toaleta nie przypomina takiej na lotniskowcu ;-) (znaczy, że wszystko ze stali)

No i punktualność... jadąc te 2-3 tygodnie temu z Krakowa do Gdyni pociąg spóźnił mi się o ~15 minut więc musiałem biec by móc wsiąść do pociągu do Juraty.
Tutaj pociąg miał przyjechać o 9:51, przyjechał, miał wyjechać o 10:00, wyjechał. Ale fakt u celu był 2 minuty później ;-)


Podobne postybeta
Podróżujemy ;-)
Czas spierdalać...
Tajemnica PKP....
Komputer na korbę ;-)
Urodziny ;-)

środa, kwietnia 05, 2023

Muminkowy Lenin ;p

Okazuje się, że w Tampere jest jedyne na świecie muzeum Muminków ;-)
Niestety działa w większość dni do 17, więc nie obejrzałem, ale mam za to zdjęcie muminka ;-)

Oraz ciasteczka o kształcie Muminków ;-)
Ale podejrzanie mało odwołań do Muminków tu jest. Te ciasteczka i później to muzeum to jedyne.
A maja tu nawet Nokia Arena… (niedaleko jak wioska o nazwie Nokia ;-)), a jednak Muminki biją Nokię w popularności ;-)
Chociaż poza muzeum Muminków, jest tu jeszcze Muzeum Szpiegów ;-) i Muzeum Lenina ;-) które jest chyba o tyle ważne, że w 1905 albo 1906 to tutaj Lenin miał zadeklarować niepodległość dla Finlandii, chociaż on raczej myślał podobno o autonomii. 
Ale bądźmy szczerzy jak dobrze pójdzie za 500 lat o Leninie będą pamiętać nieliczni, a o Muminkach jednak może nadal będzie głośno ;-)


Podobne postybeta
Urodziny ;-)
Autocenzura
Mam w koncu sieć :-)
T-Mobile, weźcie się odczepcie...
50:50... czyli geolokalizacja działa, ale tak sobie ;-)

wtorek, kwietnia 04, 2023

O wojsku

Nie wiem jak u Was, ale przyznam, że wojna w Ukrainie zmieniła mój stosunek do wojska.

Już od paru lat byłem bardziej otwarty na ideę armii jako takiej, tzn. nadal uważam ją za szaloną rzecz, ale Si vis pacem, para bellum i rzeczywiście jak inni nie chcą nie mieć armii to Ty też musisz ją mieć.

Ale mimo tego nadal armia wydawała mi się zabawna, np. w tym roku jadąc na Hel widziałem grupę dzieciaków z jakiejś szkoły wojskowej i kiedyś bym mógł w głowie się trochę z nich podśmiewać, teraz już nie.  

Chociaż nadal jestem przeciwnikiem poboru i zwolennikiem armii zawodowej, bo trudno mi uwierzyć by powiedzmy tygodniowy kurs co roku sprawiał, że ludzie po zasadniczej służbie wojskowej byliby wiele warci.

Ale jakaś forma takiego bycia w aktywnej rezerwie, czy jako to nazwać by była dobra.

Wiem, że jeszcze te 15 lat temu w branży IT jak przychodził kandydat z historią np. na misjach w Bośni to było to jakoś tak dziwnie interpretowane. W takich Stanach weterani są kochani przez masę firm. W mojej poprzedniej firmie CEO to ex oficer z atomowej łodzi podwodnej.

Tu w Finlandii każdy facet był w wojsku, a jak nie chciał do wojska to w czymś bardziej cywilnym i może tego nie czuć na codzień, ale chyba mają jako kraj ciut poważniejsze podejście do tych spraw ;-)




Podobne postybeta
Pogoda emigracyjna ;-)
Konwerter, Nexus One i Bayes ;-) czyli co mi głowę zawracało w ciągu ostatnich paru dni ;-)
Granica
"Cud"
Na przekór

poniedziałek, kwietnia 03, 2023

Zbiegi okoliczności

Leciałem dziś z Krakowa do Helsinek, przez Frankfurt.
Pierwszym zbiegiem okoliczności jest to, że ten sam samolot który przywiózł mnie do Frankfurtu zawiózł mnie z Frankfurtu do Helsinek.
Drugi, w tym samym samolocie leciał kolega z Niemiec (ale siedział 10 rzędów przede mną więc go nie dogoniłem...)
Trzeci, gdy wysiadłem z pociągu w Helsinkach poszedłem do windy i jakoś człowiek biegł... Więc przytrzymałem mu drzwi... To był mój obecny jeszcze manager.
Czwarty zbieg okoliczności, spotkaliśmy tego z którym leciałem w samolocie i miał miejsce obok mnie w pociągu ;-)
Piąty.. wróćmy w czasie, byłem w USA jak wyboru wygrał Trump, jestem w Finlandii gdy przegrała partia fajnej pani premier...

Dużo tych zabiegów okoliczności ;-)

posted from Bloggeroid



Podobne postybeta
23278.59 km and counting
100 lot :-)
A gdyby tak...
Zgryz laptopowy ;-)
Słaba pamięć, słaba

niedziela, kwietnia 02, 2023

Foczka #2 ;-)

Prawie równo rok temu w Juracie widziałem szczeniaczka foki :-)

W tym roku chodziłem i wypatrywałem czy się jakiś nowy nie pojawi.... i nie pojawił się w Juracie.

Ale czekając na pociąg do Krakowa poszedłem do portu i jak szedłem przy wodzie to jakiś pan do mnie podszedł ubrany w kubraczek WWF czy kogoś podobnego i poprosił żebym nie szedł dalej, bo foczka jest i jak chce to mogę z tego miejsca obejrzeć, albo pójść na około w drugie miejsce :-)

I była :-)




Zdjęcia mi się wrzuciły w odwrotnej kolejności niż były robione ;-) ale ważne, że widać, że sobie przeszła z jednego miejsca w drugie :-)

Wg pani która później przyszła zmienić tych wolontariuszy którzy pilnowali (straszny wiatr był, twardzi, że wytrzymali) ten maluch strasznie chudy jest, więc wezmą "odłowią", dokarmią i poleczą :-)

A to są wolontariusze, jedynym materialnym cosiem, który dostają to podobno darmowe wejście do fokarium na Helu ;-)

Pani mi jeszcze powiedziała, że mają podobnego, ale grubszego ;-) malucha w samochodzie, bo zabrali go z Wyspy Sobieszewskiej :-)

I była foczka :-) 



Podobne postybeta
Kto sieje wiatr
Bliskie spotkanie jeleniego stopnia ;-)
Prakacje ;-)
Krzyżowcy
Myślenie = Szybka jazda