sobota, sierpnia 31, 2024

Książkowy sierpień

Nadal dominują audiobooki, które wchodzą najlepiej gdy się spaceruje, a w tym miesiącu prawie 2 tygodnie spędziłem (czy nadal spędzam ;-)) w Juracie.

Urobek z tego miesiąca to jako książki czytajne:

  • Lyssa’s Run - M. D. Cooper, Aaron James Sutch
  • Lyssa's Flight - M. D. Cooper, Aaron James Sutch
Kontynuuję czytanie The Sentience Wars - Origins, nadal to nie jest ta radosna atmosfera feel good SF jak w Silver Ships, ale też nie jest źle.
Chociaż teraz zrobiłem przerwę bo czytam kolejną (najnowszą) książkę z kontynuacji Silver Ships ;-)

Jako audiobooki:
  • The Founders: The Story of Paypal and the Entrepreneurs Who Shaped Silicon Valley -  Jimmy Soni 
  • Pyramids - Terry Pratchett
  • Valerian and the City of a Thousand Planets - Christie Golden
  • The Four Horsemen. The Conversation That Sparked an Atheist Revolution - Christopher Hitchens, Richard Dawkins, Sam Harris, Daniel Dennett
  • God is Not Great - Christopher Hitchens
  • The Witch's Vacuum Cleaner and Other Stories - Terry Pratchett
  • The Restaurant at the End of the Universe - Douglas Adams
The Founders było dziwne, tzn. im więcej wiem jak działa Silicon Valley w przypadku startupów tym bardziej mnie przeraża i pociąga jednocześnie ;-) tutaj mowa jest o tym jak powstał PayPal, produkt którego używam i który lubię, który stworzyli ludzie których można podziwiać, ale budzą we mnie pewne moralne wątpliwości. W sensie, ja zawsze mam wątpliwości w okolicach tego co robię, nawet jak jestem z czegoś dumny i wiem, że jest dobre to mam wątpliwości, a tu jest opowieść o ludziach, którzy zawsze byli pewni siebie. Jest coś pociągającego w tym ;-)
Pyramids wiadomo Świat Dysku, książka która zawsze mi się miesza ze Small Goods (Pomniejsze Bóstwa), może przez to, że obie mają w sobie pustynię, żółwie i religię? ;-)
Valerian - OK, kiedyś jak to kupowałem to myślałem, że kupiłem komiks, a to był audiobook, który chyba został napisany obok filmu. Film mi się podobał, do tego aktorka grająca 
Laureline jest śliczna więc czemu nie posłuchać książki. Ciekawa była.
The Four Horsemen - chyba to kiedyś czytałem, dość krótkie i największy problem mi sprawiało na początku rozróżnienie głosów Hitchensa i Dennetta.
God is Not Great - jakoś nigdy Hitcha nie czytałem i znałem go tylko z jakichś stwierdzeń z filmików na YT.
Witch's Vacum Cleaner - seria opowiadań Pterry'ego z czasów młodości, na początku mnie nie wciągało, ale później jakoś lepiej poszło. Może chodzi o to, że ja ogólnie nie lubię opowiadań? Ale idea Wali jako tego drugiego, prawdziwego dzikiego zachodu ciekawa ;-)
Adams - zabawne, ale jakoś mimo wszystko Autostopem przez Galaktykę i to mi jakoś nie podchodzi, są zabawne fragmenty, ale nie wiem, może audiobook z x2 nie jest najlepszym sposobem przyswajania tego?




Podobne postybeta
Lipcowe książki :-)
Czytelniczy listopad
Kwietniowe książki
Majowe książki :-)
Książki które zmieniły moje życie

Teraz jest trudniej zacząć z programowaniem niż te 25-30 lat temu

Tak sobie czasem myślę, że teraz dzieciaki mają gorzej z nauką programowania niż to było kiedyś.

W 1992 roku czy jakoś tak gdy miałem pierwszy komputer to to było C64, naturalną rzeczą było programowanie w BASICu. Nie umiał wielu rzeczy zrobić, ale to był naturalny "gateway drug" do programowania. Bo ten BASIC tam był.

Jeszcze chyba lepiej było trochę później w świecie PC, z Turbo Pascalem, który pozwalał na zabawy z grafiką. Chociaż chyba najlepszym momentem było to co nastąpiło ciut później, w okolicach Delphi 6-7 tak w 2001-2002 roku.

Młoda osoba chcąca kodować dostawała narzędzie, które pozwalało pisać aplikacje okienkowe i robić prostą grafikę z całkiem fajnym interfejsem do Windowsa (interfejsem w sensie - sposobem dotykania się z systemem).

Jeszcze później na Windows mieli C#.

Ale teraz? Zaczynasz na Windows, to niby nadal jest C#, ale tak jakoś zagnany w kąt, na macOS? Swifta się ucz?
Do tego jest niby web i HTML+JavaScript.
Do danych? Python.
Do systemowych? Go, C/C++, Rust.

Jest problem z paradoksem wyboru, jest tyle narzędzi, że trudno wybrać, ale de facto nie ma takiego jednego, który obsłuży w miarę dużą część potrzeb. Do tego jeszcze cała procedura budowania softu się skomplikowała.

Wszędzie są w sieci poradniki jak się nauczyć X w Y dni. Ale nie ma takiego jednego wyboru, który pozwoli wejść w świat programowania tak z najmniejszymi problemami.
Od razu dostajesz po łbie "projektami" Jest masa bibliotek, które tak dają dużo, ale też wybranie dobrej biblioteki jest trudne.

Stąd mam wrażenie, że jest coraz trudniej.

Chociaż może to dowodzi tego, że programowanie dojrzewa? ;-)

Ale nawet mnie to dopada ;-) kogoś kto zawodowo programuje od 21 lat, a tak w ogóle to z 30+ (chyba pierwszy kawałek programu na papierze napisałem z 35 lat temu). I mam takie coś, że bym sobie może próbował popisać apki na macOS i mam do wyboru Swifta, Java'ę (bo znam), C++, Python i Go też mają rzeczy do okienek... do tego jest jeszcze web... i sam mam problemy z tym co wybrać i w co zainwestować czas.



Podobne postybeta
Java, JavaScript, Python, C++, C#? co ma przyszłość? 7 lat później ;-)
Jestem anonimowym programistą....
Są ludzie, którzy nie kochają Java'y
Wszystkiemu winne są szybkie komputery ;-)
Plug-in master ;-)

piątek, sierpnia 30, 2024

A może by tak Vigo? ;-)

W ramach ataku melancholii gdy patrzyłem na swoja rękę bez zegarka i widziałem, że nie jestem opalony w miejscu gdzie jest zegarek, dotarło do mnie, że lato się będzie kończyć...

Się mi smutno zrobiło, bo jednak fajnie było tak zacząć w maju od Pragi, później Drezno, Berlin, Wenecja, Dublin, Warszawa, Gdańsk, Jurata, Paryża i znów Jurata.... 

Może rzeczywiście trzeba będzie tak w styczniu i lutym pojechać pomieszkać w Hiszpanii czy innej Portugalii? 

Mam słabość do Vigo w Hiszpanii (w życiu tam nie byłem, w ogóle w Hiszpanii w życiu nie byłem), bo to jest najbardziej na zachód i północ wysunięty kawałek naszej strefy czasowej więc ma czas słoneczny stosunkowo najbliższy do mojego biologicznego ;-) Chociaż w zimie to chyba lepiej najbardziej na zachód, ale i południe?



Podobne postybeta
W obronie zmiany czasu ;-)
Woda, chyba lubię wodę..
Jak apokalipsa to nie w Warszawie ;-)
Ostatni Rammstein... przynajmniej w 2024 ;-)
Rammstein w 2024 roku....

środa, sierpnia 28, 2024

Rube Goldberg machine do reminderów ;-)

Znów zbudowałem potwora ;-)

Jest tak, jestem bardzo chaotyczny, zwykle mi to nie przeszkadza bo mam na tyle dobrą pamięć i ogólny ogar, że w życiu moja chaotyczność mnie wiele nie kosztuje.

Ale bycie managerem ma swoje koszty. Naturalne jest, że zamiast pracować nad 1, 2 czy 3 rzeczami naraz, ale ze schodzeniem do detali bardziej się jest na poziomie, że w koło dzieje się kilkanaście czy kilkadziesiąt rzeczy i trzeba mniej więcej się w nich orientować...
Stąd potrzebuję czegoś do pamiętania o rzeczach do zrobienia, żeby nie przypominać sobie 2 dni później ;-)

Niby mam Todoista... mam nawet Worfklow w Alfredzie, który pozwala mi tworzyć taski w Todoist....

Ale Todoist nie ma powiadomień w normalnym planie i ogólnie jest dość ciężki. Ale Reminders w świecie Apple są całkiem fajne i się ładnie synchronizują między komputerami... no i ładnie się pokazują w macOS w obszarze powiadomień ;-)

I teraz mam kolejne Rube Goldberg machine ;-)

W Alfredzie piszę todo i dalej treść remindera.... mogę mu dodać czas, bo mam tego obsługę ;-)

Teraz jest sobie inny komputer, na którym w crontab jest kawałek Pythona który co 5 minut łączy się do API Todoista i pobiera taski.... jeśli task ma due date... to skrypt "pisze" skrypt dla osascript w którym tworzy reminder z daną treścią i danym due date... uruchamia ten skrypt... i zaznacza w Todoist taska jako Completed ;-)

Najistotniejszy kawałek kodu, ten który tworzy reminder wygląda tak:

def createReminder(text, dueDate):
current_time = dueDate.strftime("%d/%m/%Y %H:%M:%S")
text=unicodedata.normalize('NFC',text)

script = f'''
tell application "Reminders"
make new reminder with properties {{name:"{text}", due date:date "{current_time}"}}
end tell
'''
try:
print("==")
subprocess.run(["osascript", "-e", script])
print("Reminder created!")
except Exception as e:
print(f"Failed to create reminder: {e}")

jak widać, tworzy reminder używając AppleScript ;-)

Czy dałoby się to zrobić prościej?

Oczywiście ;-)

Ale taka budowa ma tą zaletę, że jest bardzo prosta :-) bo sklejam kawałki, które już mam napisane do innych rzeczy ;-)

Teraz po głowie mi chodzi coś co w momencie jak mi się zaczyna spotkanie w Kalendarzu z linkiem do spotkania na WebEx czy innym Zoomie to otwierałoby mi Apple'owe Notes na notatce, która by miała nazwę jak spotkanie z dopisaniem na górze pliku daty i czasu tego spotkania.... 
Taki sposób na zapamiętanie by robić sobie notatki ze spotkania....



Podobne postybeta
GPT + Python = sprawdzanie czy 5 książka z Bobiverse już jest dostępna ;-)
Kiedy skończyć pracę...
5 lat z macOS w domu ;-)
Żenienie Todoist z Obsidian przy pomocy Pythona ;-)
Rube Goldberg machine do panowania nad spotkaniami... częściowego chociaż ;-)

Telegram

Francuzi zatrzymali Twórcę Telegrama....

Telegram jest dziwny, od strony bezpieczeństwa jest taki sobie. Właściwie jego bezpieczeństwo to model security by obsucirty.

Taki Signal (używany przez Signala i WhatsApp) jest otwarty i był weryfikowany przez wiele osób, stąd wiadomo, że odpowiednio używany jest bezpieczny, z Telegramem nie wiadomo.

Protokół Signala to coś znanego czemu można ufać, ten z Telegrama jest.... właściwie nikt nie wie, a nóż rzeczywiście FSB ma możliwość zaglądania do wszystkich wiadomości? Tam szyfrowanie jest chyba nie p2p, a między serwerem i klientem.

Jednak Telegram w odróżnieniu do Signala ma aplikację webową, a w odróżnieniu do WhastAppa ma miłą w użyciu aplikację webową ;-)

No i Telegram ma moją ulubioną naklejkę....


Dobrze mi się kojarzy, a do tego jest po prostu ładna ;-)

Ale może by to i dobrze było jakby Telegram upadł... Twitter i Telegram są obecnie na mojej liście ;-) ale Facebook i Imstagram też ;-)



Podobne postybeta
Powiadomieniami w walce z uzależnienie od WhatsApp i Telegrama ;-)
Eksperyment
USB-C w iPhonie dobra rzecz :-)
Jak fajnie być Czechem ;-)
"Odstawianie" telefonu ;-)

wtorek, sierpnia 27, 2024

Prakacje w Juracie ;-)

Prakacjuję sobie w Juracie.

Chociaż jak zauważyłem bolące zatoki odbierają trochę uroku - ale jest szansa, że to się już poprawia ;-)

Poszedłem już z Juraty do Helu, ~13 km plażą, fajna sprawa :-)

Gwiazdy... to po prostu wygląda genialnie...

Chociaż gwiazdy dowodzą też tego, że życzenia przy spadających gwiazdach nie działają ;-) od najmniej 4-5 lat mam ZAWSZE to samo życzenie... i nic... nadal się ze mną nie umówiła ;-) (chociaż fakt z 4 lata temu ostatni raz jej to proponowałem ;-))

Ale trzeba przyznać, że leżenie w nocy na plaży i gapienie się w gwiazdy jest genialne.




Podobne postybeta
Prakacje ;-)
Maszyna do życzeń
Wścibskość ludzka nie zna granic, czyli jak ludzie prześladują węgiel ;-)
Guma do żucia i samoloty
Czy to już pracoholizm? ;-)

sobota, sierpnia 10, 2024

LLMowa ściana ;-)

Powoli nadchodzi ten moment, że zaczynam widzieć problemy z LLMami ;-) Tzn. jakby doszły w moim użyciu do ściany.

Tak, ponieważ LLM to niemal skompresowany Internet to są świetnie w:
  • odpowiadaniu na pytania dotyczące dobrze opisanych problemów - np. można używać LLMa do sprawdzania swojego zrozumienia problemów technicznych,
  • odpowiadania na pytania w stylu "jak zresetować słuchawki X", albo "w jakiej temperaturze i przy jakich obrotach prać spodnie Y",
  • odpowiadania na pytania o filmy czy gry,
  • proponowania kodu rozwiązującego pewne często spotykane problemy - załaduj dane do Pandas, spłaszcz JSONa
Ale szczególnie w tym ostatnim użyciu docierają do ściany, bo zwykle ich rozwiązania nie są perfekcyjne i coś trzeba zmienić, ale mają wtedy po 200-300 linii kodu i zmienianie czegoś takiego nie jest proste ;-)
Czyli LLM spłaszcza krzywą uczenia, ale tak naprawdę dostarczone rozwiązanie jest trudne do opanowania. Jak to jest jakiś dodatek to spoko, ale jak to jest część clue rozwiązania problemu to jest problem.

Żeby nie było, LLMy są pomocne bo w dobre dni jest tak jakby się miało stado minionków, które robią to co się chce, dostarczając odpowiedzi na pytania i robiąc "robotę głupiego" i możemy się zająć poważniejszymi sprawami, ale to daje też czasem takie uczucie fałszywego poczucia kontroli i szybkości i jak się natrafia na miejsce nie do przeskoczenia to jest ostre hamowanie z wyższej prędkości ;-)



Podobne postybeta
AI nie zabierze nam pracy - przynajmniej teraz ;-)
Statystyki przeglądarek, ktoś ma na pewno niemal doskonałe ;-)
Mroczne Materie - polecam, gorąco polecam :-)
overload vs varargs
GPT + Python = sprawdzanie czy 5 książka z Bobiverse już jest dostępna ;-)

środa, sierpnia 07, 2024

Nowy pracowy laptop uświadomił mi jak wolny jest mój prywatny laptop ;-)

Mam nowego pracowego latopa... ma M3 Pro.

No i kurcze widać różnicę w porównaniu do mojego prywatnego Macbooka Pro z 2018 roku z 32 GB RAM.

Już wcześniej, w poprzedniej firmie miałem M2 przez chwilę, ale wtedy nie odczuwałem tak tej różnicy.

Teraz jest tak, że tam wszystko działa super szybko, a tutaj na moim MBP zaczynam widzieć opóźnienia... jeszcze 2 dni temu ich nie było ;-) nie dostrzegałem ich, a teraz już są....

Poczekajmy na MBP z 2024, ale jest niezerowa szansa, że się skuszę.... 

Mój pracowy ma tylko 18 GB (nie śmiać się, jako manager takiego dostałem...), prywatnie bym celował w 128 albo 96 GB ;-)

Ktoś może zadać rozsądne pytanie "po kiego grzyba Ci 128 GB RAM?", moja odpowiedź jest prosta ;-) mój obecny laptop jest decent po prawie 6 latach służby :-), kolejny też powinien najmniej przez 6 lat być dobry ;-)

Inna sprawa, że na 128 GB Chrome by spokojnie umiał 95% tej pamięci zająć ;p



Podobne postybeta
Dziwna konkurencja
Macbook - chyba chcę (prywatnie)
Nowa firmowa Macówka :-)
Mój Macbook ma 4 lata
Ani linijki....

niedziela, sierpnia 04, 2024

Gdzie są naklejki????

W ciągu ostatnich 2.5-3 miesięcy byłem na kilku fajnych imprezach:
  • 5 koncertach Rammstein,
  • koncercie Metallica'i,
  • Otwarciu Olimpiady w Paryżu (i na 3 imprezach)
Kupiłem trochę marchandise i zauważyłem znaczący brak w 1 kategorii..

Nie ma naklejek!!!! Takich na laptopy i inne cosie.

Moje 2 laptopy na dziś wyglądają tak:

I naklejki z olimpijskimi kółkami, z paryską maskotką, albo taki śliczny napis Metallica czy większe logo Rammstein by były na miejscu.
2 naklejki Rammstein jakie mam dostałem jak mi przychodziły inne zamówienia ;-)

Nawet na Twitterze zapytałem Olimpiadę czemu nie mają naklejek, ale mnie zignorowali ;-)


Podobne postybeta
Gupie lampki, lampeczki i diody...
Serduszko zostało zdobyte ;-)
Eventy na żywo nie zawsze są bardziej wow niż w TV ;-)
Fotografowanie
Rammstein 2024 x4?... a jedna x5 ;-)

Głupi macOS, głupi WebDAV, głupi ChatGPT ;-)

Będzie rant, rant po macOS, WebDAV i po ChatGPT ;-)

Wstęp ;-)

W pracy mam DUŻO plików JSON, tak z ~200 GB na dysku. Używam sztuczek takich, że mam np. skrypt który kompresuje je do GZIP, a mój Python który to czyta "umi" czytać JSONa z pliku tekstowego i takiego GZIPniętego.

Ale fajnie by było móc działać z tymi plikami bez takiej zabawy, bo np. zaglądanie do takiego GZIPed pliku jest trudniejsze, bo open plik.gz i dopiero open plik....

Idealnie jakby dla macOS była możliwość zaznaczenia folderu jako takiego, który powinien być kompresowany.

Windows to wspierał lata temu (nie wiem czy nadal), i macOS podobno też... ale już tego nie ma.

Więc chciałbym mieć swój system plików który by to wspierał.

Próbowałem atakować problem z FUSE (Filesystem in User Space), ale różne dziwne rzeczy się tam działy...

Dziś w nocy miałem takie coś... a co jakby tak naprawdę mieć np. SMB albo WebDAV które by działały lokalnie i kompresowały pliki u siebie, ale było to widoczne w systemie plików?

Tak będzie wolne, ale pozwoli na zabawę...

Okazuje się, że macOS ma nawet mount_webdav...

To poszedłem do ChatGPT i poprosiłem o serwer WebDAV... po długich bojach i ręcznych zmianach mam...

I taki klient jakim jest ForkLift 4 potrafi się doń podłączyć i tworzyć pliki.

Ale mount_webdav co prawda mountuje system plików, może czytać pliki, może tworzyć katalogi... ale jak próbuję skopiować tam plik czy utworzyć plik to robi PUT z content-length 0... plik się tworzy, ale macOS wtedy płacze i nie do końca tłumaczy czemu.... "nie do końca" to taki eufemizm na "nie tłumaczy" ;-)

robi (dla file7.txt):

PROPFIND /file7.txt (2 razy go robi)
dostaje 404 bo pliku nie ma jeszcze

PUT /file7.txt z 0 content length
dostaje 201

ja mam plik o długości 0

PROPFIND /._file7.txt
dostaje 404 bo nei mam takiego czegoś

LOCK /file7.txt
tu dostaje 501, miałem kawałek który to implementował, ale nie wydaje się by coś robił, no i LOCK nie jest obowiązkowy jak rozumiem

PROPFIND /file7.txt
dostaje 200 z opisem pliku w WebDAVowym, z rozmiarem w tym xml ustawionym na 0 bo taki jest rozmiar tego pliku....

wtedy już odpuszcza jak się wydaje i robi PROPFIND /

a w cmd line dostaję Interrupted system call.

No i teraz rantuję:

  • macOS za to, że choler wie czemu mu to nie chce działać,
  • WebDAV za to, że jest tak wyspecyfikowany, że większość rzeczy by można było opisać jako "DOBRZE BY BYŁO GDYBY" ;-)
  • ChatGPT za to, że pisanie z nim jest trudne, tzn. ten pierwszy zryw i później proste poprawienie są często bardzo super, ale później obsługa corner case'ów i podobne są trudne, ogólnie dostajemy kilka set linii kodu i się trzeba w tym jakoś odnaleźć...
 Koniec rantu, na razie ;-)



Podobne postybeta
PROPFIND, czyli jak przechytrzyć HttpURLConnection
Coś jest nie tak z komputerami
Robimy z telefonu/tabletu z Androidem serwer WebDAV ;-)
GZIPem w plika z pomocą ChatGPT ;-)
Taki tam rant po Gradle i Dockerze ;-)