Sunday, April 25, 2021

PL: Lodówka z systemem no frost "dla każdego"

Opis lodówek w internecie jest zdominowany przez reklamy i nie przekazuje informacji. Ma nas zachęcić do zakupu modelu konkretnego producenta bez wyjaśnienia dlaczego akurat tak.

Poniżej spróbuję przekazać istotne (uproszczone) informacje na temat działania lodówek (w tym z systemem "no frost") w sposób przystępny.

Jak działa lodówka

Wyobraź sobie dezodorant w sprayu. Zawartość wylatując ochładza się. To efekt rozprężania gazu.

W lodówce mamy pompę powietrza* która wyciąga powietrze ze środka (rozciąga je - ochładzając) i wciska do "kaloryfera" na zewnątrz lodówki (podgrzewając je). Dzięki temu powietrze w lodówce jest chłodne a ciepło wyciągamy poza lodówkę.

* W lodówce używa się innych substancji niż woda (sprawdzają się one lepiej). Są to freon, R500A, R134A, R600A i inne.

Jak działa "no frost"

Mroźnym rankiem nad ziemią pojawia się mgła. Jeśli jest zimno zamarza na roślinach tworząc piękny biały widok - wszystko jest pokryte kryształkami lodu - to szron.

Jeśli ochłodzimy powietrze to nie ma w nim miejsca na parę wodną, która się skrapla w postaci wody (stąd mgła). Jeśli ta woda zamarznie to otrzymamy szron. Jeśli szron pojawi się w zamrażalce to będzie trzeba ją rozmrozić, czyli ogrzać, usunąć powstały lód i zamrozić ponownie. Nie-rozmrożona oblodzona zamrażarka przechowuje lód a nie nasze produkty.

Jak więc uniknąć pojawiania się szronu wewnątrz lodówki? Powietrze z lodówki możemy ochłodzić na zewnątrz a dopiero wtedy wtłoczyć do lodówki. Woda skropli się na zewnątrz.

Co zrobić z wodą z systemu no frost?

Efektem ubocznym jest zimna woda na zewnątrz lodówki. Można ją wykorzystać do schłodzenia "kaloryfera" dzięki czemu zimna woda odparuje a nasza lodówka będzie działać bardziej efektywnie.

Wady systemu "no frost"

Ochłodziliśmy powietrze w lodówce (i zamrażalniku).
Uniknęliśmy skraplania się wewnątrz wody (i pojawiania się lodu).
Niestety w lodówce wysuszyliśmy powietrze (stąd woda).

Możemy nawilżać powietrze. Wtedy pojawią się jednak grzyby.

Inną opcją jest akceptacja takiego stanu. Nasze produkty będą jednak wysychać - dlatego należy je przechowywać w szczelnie zamkniętych woreczkach foliowych.

Jeszcze inną opcją jest stworzenie oddzielnej komory w której wilgotność jest większa (znajduje się ona bliżej systemu "no frost"). Efektem ubocznym jest niższa temperatura - ale może by to sprzedać klientom jako coś super? Nazwać to "komorą zero" ponieważ temperatura tam jest bliska zera stopni Celsjusza? Niektórzy producenci prześcigają się w kolejnych "usprawnieniach" takich jak oświetlanie tej komory ultrafioletem, naturalnym światłem którego kolor zmienia się w zależności od pory dnia, śpiewanie piosenek owocom czy też oferując luksusowy masaż na Hawajach.

Bonus 1: Wysokość a temperatura

Ciepłe powietrze jest lżejsze od zimnego - dlatego im wyżej tym chłodniej i szczyty gór są pokryte śniegiem :) W lodówce też to obserwujemy - chociaż w mniejszym stopniu.

Jeśli nasza zamrażarka jest na dole to ciepło wędruje w górę do lodówki.

Wewnątrz lodówki na dole jest chłodniej, u góry cieplej. Warto o tym pamiętać i przechowywać różne produkty na różnej wysokości. Różnica temperatury nie będzie duża ale ma znaczenie. Zamrażalnik będzie zazwyczaj oddzielną komorą (dodatkowa izolacja).

A co jeśli mamy zamrażalnik u góry? Ciepłe powietrze wędruje do zamrażalki ochładzając się i ponownie podróżując w dół - dzięki temu cała lodówka ma mniej więcej stałą temperaturę. Zamrażalnik może znajdować się w tej samej komorze co lodówka i być jedynie nieznacznie oddzielony. Nic nie stoi jednak na przeszkodzie aby to była oddzielna komora.

Bonus 2: Lodówka w zabudowie czy wolnostojąca?

Jeśli ktoś chce lodówkę w zabudowie - ceni sobie wygląd. Lodówka ma być częścią mebli. Taki naiwniak jest skłonny zapłacić więcej więc taki sprzęt może być droższy.
Dodatkowo produkcja może być tańsza - zewnętrzna część lodówki musi być przystosowana do montażu (większy koszt) ale nie musi wyglądać ładnie (więc taniej).

Osobiście jestem zwolennikiem lodówek wolnostojących:

  • Nie trzeba dokładnie mierzyć wymiarów urządzenia
  • Tańsze
  • Wygląda wystarczająco ładnie
  • Jest funkcjonalnie
  • Musimy wypoziomować jedynie urządzenie a nie szafę + urządzenie
  • Montaż w zabudowie zazwyczaj wymaga uszkodzenia mebli (wkręty)
  • Wystawienie lodówki w zabudowie to wystawienie całej szafy - wolnostojące urządzenie jest bardziej praktyczne

Bonus 3: Moja opinia o usprawnieniach w lodówkach

  • 👍Wykrywanie niedomkniętych drzwi - jest super, ponieważ niedomknięcie drzwi powoduje oszronienie, zwiększone zużycie energii i samej lodówki
    • Niezbędna funkcja każdej lodówki
  • 👍Oświetlenie LED
    • Zdecydowanie zaleta
      • Wydziela mniej ciepła niż tradycyjna żarówka (nie ogrzewa lodówki)
      • Zużywa mniej energii niż tradycyjna żarówka (taniej)
      • Można użyć wielu diod świecących i oświetlić całość lodówki - żarówka zazwyczaj świeci z jednego miejsca
  • ❔No frost
    • Raczej za ale to nie takie proste...
      • Potencjalnie większa efektywność
      • Kolejna rzecz, która może ulec uszkodzeniu
      • Nie musimy rozmrażać zamrażalnika
      • Mniej miejsca na produkty
      • Suche powietrze w lodówce
  • ❔💲Kamera w lodówce pozwala na sprawdzenie jej zawartości bez otwierania a każde otwarcie to niepotrzebne ogrzanie lodówki/zamrażalnika (więc większy koszt i zużycie)
    • Przydatna funkcja ale przy pewnych założeniach:
      • Że nie przepłacamy
      • Że nasza lodówka nie jest wypchana po brzegi
  • ❔💲"Smart" sprawdzanie i kontrola temperatury z telefonu
    • Sporo za, sporo przeciw... to skomplikowane
      • "Smart" = niebezpiecznie, urządzenie podłączone do internetu :(
      • Możemy sprawdzić stan lodówki będąc na wakacjach :)
      • Możemy przestawić lodówkę w tryb eco będąc na wakacjach :)
  • ❔💲"Smart" ostrzeganie o wysokiej temperaturze w lodówce
    • Ani za, ani przeciw
      • Fajne - ostrzeże nas przed awarią lodówki... a co jeśli system ostrzegania padnie?
      • Czy nie mamy ostrzegania o niedomkniętych drzwiach?
  • ❔"Komora zero" to ściema - która może mieć sens, ponieważ mamy oddzielną komorę która nie jest lodówką ani zamrażalnikiem
    • Ani za, ani przeciw
  • ❔Oświetlenie UV - wybije bakterie (przynajmniej takie, które nie są odporne na takie promieniowanie) ale negatywnie wpłynie na produkty
    • Ani za, ani przeciw
  • ❔Sterownik analogowy/cyfrowy
    • Ani za, ani przeciw 
      • obydwa spełniają swoją funkcję tak samo dobrze
  • ❔Kostkarka, dystrybutor wody, itp.
    • Ani za ani przeciw
      • Kolejny bajer, który może ulec uszkodzeniu...
      • ...ale lód zawsze pod ręką ;)
  • ❔Zmiana kierunku otwierania drzwi
    • Ani za, ani przeciw
      • Robimy to tylko raz - później nie ma potrzeby zmiany... można równie dobrze kupić lodówkę "prawo" albo "lewo"... gdyby producenci w to poszli
  • ❔Oddzielne termostaty, agregaty, ...
    • Ani za, ani przeciw
      • Jak jedno padnie to całość do wymiany
      • Fajnie mieć oddzielne urządzenia (większa możliwość kontroli) ale czy na prawdę z tego skorzystamy?
  • ❔Szybkie zamrażanie, szybkie chłodzenie, itp.
    • Zależy
      • Jeśli zdarza ci się przyjechać raz w miesiącu po upolowaniu dzika z mięsem - jak najbardziej tak
      • W przeciwnym razie ustawiasz i nie ruszasz... więc po co przepłacać?
  • 👎💲Wbudowany ekran
    • Raczej przeciw ale ma to sens
      • Kolejny bajer, który może ulec uszkodzeniu
      • A może lepiej przykleić tablet na lodówkę?
      • I jeszcze tablicę (zaleta: notatki zostają nawet przy braku zasilania)
  • 👎 Oświetlenie "naturalne" RGB symulujące pogodę lub coś podobnego - nijak się ma do rzeczywistości - nasze warzywa są zazwyczaj produkowane w krótkim czasie po długim nieprzerwanym naświetlaniu... poza tym w lodówce chcemy warzywa i owoce przechowywać a nie hodować
    • Jestem raczej przeciwny

Podsumowanie

Mam nadzieję, że wyjaśniłem działanie lodówki jak i systemu "no frost" a jednocześnie mój opis nie odbiega za bardzo od prawdy :)

W moim przypadku wybór padł na jakiegoś samsunga - żona chciała tę markę. Dla mnie to bez znaczenia - chciałem urządzenie do zabudowy, z "no frost". Rozważałem kilkanaście modeli różnych producentów. Zakładałem, że po kilku latach urządzenie będzie do wymiany.

Saturday, April 24, 2021

Compression under linux

 I tried to re-compress some files. Goals:

  • Best possible compression
    • But also good and fast
    • Also check decompression time
  • Use all CPU threads
  • Use much of the memory
  • Use relatively fast drive 

Hardware used for tests:

  • AMD Ryzen 3700x (8 cores, 16 threads)
  • 96GB RAM (DDR4)
  • M.2 SSD with about 2GiB/s read and write speed

 Test file: some .tar.gz archive with android sources: 46 GiB. Test was partially successful - I failed to use proper commands and gather all information.

Hints for next attempt:

  • Source file must be owned by another user and read-only
  • Need to use `time` command at least
  • Need to monitor CPU load and temperature throughout the measurement
    • Ryzen can increase clock speed if it is cool (and I have used a very poor cooler from another older CPU only because it looks nice and is small having similar TDP)
  • Need to monitor disk buffers
    • Ideally whole file is kept in the memory or is not buffered at all
    • Ideally compression buffers won't push file out of the buffer

Initial results:

Tool Output size
(GB)
Time Output size (B) Load Command
LRZip 10 142m01s 10'731'879'579 138m15s
real 138m15s
user 1801m37s
sys 4m1s
lrzip -Uz -L 9 src.tar
zpaq 12 215m16s 12'114'694'539 215m16s
user 198336
sys 948s
cpu 1542%
zpaq a src.tar.zpaq src.tar -m5
7z 13 36m32s 13'838'803'720


7z a -mx=9 -mmt=14 src.tar.7z src.tar
lbzip2 20
20'891'605'828


lbzip2 -9 src.tar

 

So far LRZip is the best - what was expected. However 7z is next on the list. Zpaq is not second - in fact this method is used by 7z. Lbzip2 is the words - but fastest.

Results:

  • Use 7z most cases
  • For archiving purpose - use lrzip
  • Gzip with lowest compression to be used for any text files (ex. logs)

Next attempt:

  • Use different tools and settings:
    • 7z (try different settings)
    • gzip lowest and highest
    • bzip2 lowest and highest
    • zpaq
    • zpac
    • lrzip
    • xz
    • paq81
    • kgb
    • lzma
    • pax
    • cpio
    • ar
  • Monitor CPU

Tuesday, April 20, 2021

Messy JavaScript

I have landed in a project where much code was written by people no longer here. And this really sux. But let's describe the story.

History

Some long time ago some company hired a CTO. A very strong technical person - however technical skills are not everything. Communication issues increased and at some point in time CTO left.

After no technical leader R&D started to degrade. Some people were quite skilled and had broad horizons. Some were not. Company degraded. Money were wasted.

Company was bought by an investor. Investor is someone who gives you money but wants to get more back from you. This rarely leads to something good - quite often company is shred into pieces and sold part by part. Whatever remains will die.

Code quality

Initial designer(s) were skilled and had ideas about their creation. Followers had no idea. Currently code works only thanks to glue and stick tape.
There are no tests. Code is not testable, not mockable and not reusable. Not maintainable.
There is a lot of documentation - spread on multiple places, always outdated, often not accessible, often unreadable.
Processes. Some nice sheets and pictures. Long meetings to praise abstract things. Nothing relates in any way to reality.
Security. There is some on the paper. In reality the only thing that protects us is the closed source and a lot of luck we had so far.

My place in this mess

I was hired as a senior full stack developer. Given much more responsibility. Money not following the market. Quickly it revealed to be just a replacement of more expensive German developers with cheap Polish developers working for a bowl of rice.
Things are falling apart. Investor is pushing a lot. New features are developed, technical debt is large and keeps growing. I'm trying to decrease the technical debt and improve maintainability at least.
In the future I'm very likely to switch the job... This is the first time I'm considering job switch so quickly - not yet even a year passed since I was hired.