wtorek, stycznia 30, 2024

Galaretkowo-budyniowy life-hack ;-)

Galaretka tudzież budyń to rzeczy dobry, ale wymagają mieszania....
Stąd nabyłem drogą zakupu magiczne urządzenie, które robi wrrrrr i miesza :-)


W całe 49 sekund mamy galaretkę gotową :-) teraz tylko trzeba chwilę poczekać aż trochę wystygnie, wkładamy do lodówki i za ~12 godzin gotowa ;-)

Przetestowane też z budyniem, też działa :-)


Podobne postybeta
32 bity... wrrrrr....
Elektryczna kanapka....
Przydatne i nieoczywiste "narzędzia" czy rzeczy, które pomagają w podróżach
Jak się topologicznie wprowadzać ;-)
Magia w Java'ie ;-)

środa, stycznia 24, 2024

Tęsknię za Google+ ;-)

Tak do mnie dotarło, że jak Google+ istniało to oglądanie social media było ciekawe, jakieś fajne strony tam można było znaleźć, ciekawe stwierdzenia.

A teraz? Na Twitterze algorytmy aktywnie działają żeby rozpętać wojnę między plemionami (Elon musiał kazać im przekręcić na maxa pokrętło "negative engagement", czyli specjalista od szczepionek będzie dostawał sam bełkot antyszczepionkowców, a antyszczepionkowcy tylko rzeczy o szczepionkach, wyborca Koalicji 15 października widzi praktycznie tylko polityków PiS, pewnie wyborca PiS tylko tych Koalicji 15 października).

Na Facebooku zaś algorytm nie mogąc mi pokazywać reklam i niewiele wiedząc o mnie poza demografią (bo używam Facebook Container) ciągle pokazuje mi jakieś dowcipy, co jakiś czas próbuje wciskać AIowe grafiki z aktorkami i tyle...

Aż człowiek chciałby mieć tyle samozaparcia by to wszystko skasować ;-)

A są jeszcze Instagram - którego NIE ROZUMIEM, Threads - którego nikt chyba już nie używa i TikTok, ale jednak narzędzia CCP nie będę używał ;-) (ja mam taką schizę, że raz na jakiś czas sprawdzam gdzie lecą połączenia z mojego komputera i jak lecą do Chin czy Rosji/Białorusi to próbuję aktywnie kasować to co może te połączenia robić).

Google+ było fajne... 



Podobne postybeta
Chyba czas na cyfrowy detoks ;-)
Szybszy = lepszy?
Czemu po szczepieniu miejsce gdzie nas szczepiono może boleć?
Jebana ignorancja
3 Home w jednym domu ;-)

poniedziałek, stycznia 22, 2024

Jak z metody size() w List w Java'ie dostać ujemną liczbę? ;-)

Chciałem dziś popsuć LinkedList, ale wychodzi na to, że mam za mało pamięci w komputerze ;-)

Popsucie miało wyglądać mniej więcej tak:

var list = new LinkedList<Integer>();
doMagic(list);
System.out.println(list.size()); // return negative number!!!

Gdzie doMagic miało wyglądać jakoś tak:

static void doMagic(LinkedList<Integer> l) {
for (var i=0L; i<Integer.MAX_VALUE+1000L; i++) {
l.add(Integer.valueOf(0));
}
}

No bo jeśli spojrzymy na implementację LinkedList to implementuje ona List, a List ma metodę size() która zwraca int, ale LinkedList nie ma ograniczenia na rozmiar innego niż pamięć, w samej metodzie linkLast(E e), która wołana jest z add(E e) mamy:

void linkLast(E e) {
final Node<E> l = last;
final Node<E> newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}

Co znaczy tyle, że jeśli mamy odpowiednio dużo pamięci to w pewnym momencie przekręcimy licznik ;-)

Czyli jakbyśmy zawołali size() to zwróci liczbę ujemną, ale jeśli policzymy wszystkie elementy kodem:

var count = 0L;
for (var n:list) {
count++;
}

To w count będziemy mieli 2147484647 ;-)
Co ciekawe zawołanie get(int) w takim przypadku wyrzuciłoby IndexOutOfBoundsException pokazując ujemną liczbę ;-)

Chyba znalazłem uzasadnienie dla kupienia Macbooka z M3 Max ;-) Bo chciałbym naprawdę sprawdzić czy to się tak zachowa ;-)

Inna sprawa ile byśmy potrzebowali RAMu żeby móc ten problem osiągnąć ;-) Tak jeden Node to powiedzmy między 48 a 64 bajty.... co daje dolną granicę najmniej 96 GB RAM ;-) ale podejrzewam, że tak naprawdę to by było jakieś 170 GB ;-)
Jeszcze chwilę potrwa nim będziemy mieli takie laptopy ;-) 
Największy Macbook Pro to teraz 128 GB RAM ;-)


[update]

I chyba nie muszę kupować takiej maszyny dużej ;-) bo nadal mogę ustawić rozmiar heapy na 150 GB ;-)

I wtedy gdy robię list.get(10) po dodaniu 2147484647 objektów to dostaję wyjątek:


A program w Activity Managerze ma 105 GB RAM przypisane ;-)

[next update ;-)]

Czyli wypisanie list.size() dało wynik -2147482649, ale już fragment:

var count = 0L;
for (var n:list) {
count++;
}

Nie zadziałał w ogóle, bo już w linii z for poleciał wyjątek ;-), okazuje się, że gdy jest produkowany iterator to wołany jest gdzieś w środku range check i ten wywala wyjątek dla Index: 0 ;-) 
Czyli LinkedList po przekręceniu licznika nie nadaje się nawet do iterowania ;-) ale co ciekawe można kasować elementy z przodu i tyłu aż nam wróci size do pozytywnych int'ów i można iterować ;-)



Podobne postybeta
Ile z obligacji... odsłona 2 ;-)
LinkedList w Java'ie to taki miś koala...
Po Devoxx&#39;ie
Ile w tym i przyszłym miesiącu z odsetek za obligacje?
Go dla Java'owca ;-) odcinek 2 "kontenery dwa ;-)"

czwartek, stycznia 18, 2024

Paskudne Ł ;-)

W ramach rantu.
Lubię webowego Telegrama, ładny jest, ale nie wiedzieć czemu uparł się na moich komputerach mieć hot key pod ALT-Shift-L (tudzież Option-Shift-L) na macOS i przez to co próbuję napisać Ł to mam problem ;-)
Przed chwilą chciałem napisać w czacie Łódź i po Ł zrobiło się:


W ogóle skróty klawiszowe są trudne, aż szkoda, że ta rzecz nie jest synchronizowana między aplikacjami w macOS ;-) bo teraz mam ciut inny zestaw klawiszy na dużym prywatnym Macbooku, ciut inny na małym prywatnym Macbooku, podobny trochę do pierwszego na dużym laptopie z Linuksem, i jeszcze inny na pracowym Macbooku.

Ostatnio zaś chodzi za mnie myśl by sobie zrobić te same skróty które ma IntelliJ w Visual Studio Code ;-) bo jak piszę w Pythonie to zamiast Extract Method czy Extract Variable skrótem klawiszowym robię to ręcznie jakby były lata 90.... ;-)
Chociaż nawet w IJ nie do końca to tak działa jak działo bo mi się pozmieniały gdzieś po drodze skróty...

Do tego jeszcze w Keyboard Maestro mam różne funkcje pod niby tymi samymi klawiszami na różnych macOSach, ale jakoś zawsze się rozjeżdżają.

OK, ale to Ł w Telegramie mi przeszkadza ;-)


Podobne postybeta
Całkowicie testowy post z Androida :-)
Drzewka, ładne drzewka - kilka zdjęć :-)
Android + OCR, to zaczyna działać ;-)
Eksperyment
Zapominalstwo ;-)

środa, stycznia 03, 2024

Jedna lista

OK, to przeprowadziłem sobie wybory z 15 października 2023 symulując, że KO+3D+Lewica byłyby jedną listą i wszyscy ich wyborcy by nadal na tą listę głosowali.

Mielibyśmy wtedy taki Sejm:

Jedna Lista - 265 mandatów,
PiS - 183 mandaty,
Konfederacja - 12 mandatów

W wyborach mieliśmy:

Prawo i Sprawiedliwość - 194 mandaty
Koalicja Obywatelska - 157 mandatów
Trzecia Droga - 65 mandatów
Nowa Lewica - 26 mandatów
Konfederacja - 18 mandatów

Czyli partie "Jednej Listy" mają teraz 248 mandatów.

Te 265 nadal by nie wystarczyły do pokonania weta, ale byłyby bliżej potrzebnych 276 mandatów.

Jeszcze z innych wariantów, gdyby Lewica poszła z KO.

Jedna Lista (KO+Lewica) - 194 mandaty,
PiS - 188 mandatów,
Trzecia Droga - 63 mandaty,
Konfederacja - 15 mandatów.

Jedna Lista jako KO+3D:

Jedna Lista (KO+3D) - 234 mandaty (nie potrzebowaliby nawet Lewicy ;-)),
PiS - 188 mandatów,
Lewica - 25 mandatów,
Konfederacja - 13 mandatów.

No i w końcu Jedna Lista jako 3D+Lewica:

PiS - 187 mandatów,
KO - 151 mandatów,
Jedna Lista (3D+Lewica) - 109 mandatów,
Konfederacja - 13 mandatów.

To sprawdźmy jeszcze co by było gdyby PiS poszedł z Konfederacją....

PiS+Konfederacja vs KO, 3D i Lewica osobno:

Prawica (PiS+Konfederacja) - 226 mandatów (nie mogliby stworzyć rządu bez podebrania posłów),
KO - 146,
3D - 62,
Lewica - 26

Teraz PiS+Konfa vs KO+3D+Lewica:

Jedna Lista (KO+3D+Lewica) - 258 mandatów,
Prawica (PiS+Konfa) - 202 mandaty

No i najgorszy możliwy scenariusz, gdyby PiS+3D+Konfa szły przeciwko KO+Lewica:

Prawica (PiS+3D+Konfa) - 285 mandatów,
Jedna Lista (KO+Lewica) - 178 mandatów.




Podobne postybeta
Możliwe koalicje i czemu powstanie koła Razem może znaczyć brak Razem w rządzie.
A co gdyby głosy z wyborów samorządowych potraktować jako głosy w wyborach do Sejmu? ;-)
Wyniki do Sejmu na podstawie wyników do PE
Jak można przegrać wybory gdy się je wygrywa?
Czemu mam żal do Razem

poniedziałek, stycznia 01, 2024

Książki w grudniu ;-)

To znów nie był mój miesiąc jeśli chodzi o książki. Zacząłem z prequelem Hunger Games, czyli The Ballad of Songbirds and Snakes. Tak jak pisałem jeszcze w podsumowaniu listopada nie byłem pewien czy to przeczytam i nie przeczytałem. Mam jakąś fazę, że cokolwiek gore czy takiego nie do końca optymistycznego mnie męczy....

Przeczytałem za to:

  • Prawda - Terry Pratchett,
  • Muzyka Duszy - Terry Pratchett,
  • Perilous Choices - Scott Jucha, czyli kolejna część cyklu który zaczęły Silver Ships.
W ogóle tak mnie ciągnie by Silver Ships znów zacząć....
Ciągle też czekam na Bobiverse book 5.... mój detektor nadal nie wydetektował ;-)
W tzw. międzyczasie zacząłem czytać Killing Floor, czyli 1 książkę z cyklu Reacher. Serial na Amazon Prime jest przedni, więc spróbowałem książki i na razie dosć dobrze mi wchodzi.

Były też audiobooki i były to taki audiobooki:
  • The Dictator's Handbook
  • The Accidental Superpower
  • Survival of the Richest
Chociaż szczerze nie jestem do końca pewien tej ostatniej... wiem, że jej słuchałem, ale nie pomnę kiedy ;-)



Podobne postybeta
Czytelniczy listopad
Styczniowe książki
Kolejne książki :-)
Marsz, książka i resorówki ;-)
Feeling Good SF :-)