Niedoszły reverse engineering owsianki proteinowej

Czasem jest tak, że polubię jakiś produkt. Tak było z owsianką proteinową Vitanella dostępną w Biedronce. 65g suchego produktu, sprzedawanego w plastikowym kubeczku za 2,99 zł, który wystarczy zalać gorącą wodą i za chwilę mamy porcję owsianki. Owsianka kojarzyła mi się zawsze z jedzeniem dla dzieci, a w domu zupy mleczne itp. raczej nie były popularne. Ten produkt jednak mi przypasował – lekkie syte jedzenie, idealne np. przed bieganiem. Zacząłem kupować[1].

Po pewnym czasie stwierdziłem, że 2,99 zł to może nie majątek, ale ciekawe ile kosztowałoby mnie wyprodukowanie takiej owsianki samodzielnie. Tym bardziej, że dostępna owsianka miała jeszcze dwie wady. Po pierwsze, jak smak malinowy mi pasuje, tak czekoladowy zdecydowanie nie, a innych smaków AFAIK brak. Gdybym robił samodzielnie, mógłbym łatwo modyfikować i robić inne smaki.

Po drugie, niezupełnie pasuje mi plastikowy kubeczek, który owszem, można wykorzystać do roślin, lub łatwo oddzielić plastik i papier i stosownie posortować śmieci, ale… po co je w ogóle generować? Równie dobrze mógłbym użyć ceramicznego kubka w domu, a następnie go umyć, nie generując plastikowych odpadów.

Składniki są podane na opakowaniu, udział procentowy RWS białka, węglowodanów, tłuszczu – również. Udział procentowy składowych w 100g danego składnika łatwo znaleźć. Układ równań i… gotowe. Przynajmniej taki był plan. Okazało się bowiem, że producent wprost podaje (zaczął podawać? zawsze było i nie zauważyłem? – nie wiem) udział procentowy składników na opakowaniu. Cytując:

Składniki: 49,9% płatki owsiane, 20,5% koncentrat białek mlecznych, 17% mleko w proszku odtłuszczone, cukier puder trzcinowy (cukier trzcinowy, tapioka), 4% kawałki liofizowanych malin, aromaty.

Z ciekawego wyzwania i tytułowego reverse engineeringu pozostało ustalenie ceny składników i proste przeliczenie w arkuszu kalkulacyjnym. Wpis zamieszczę, bo ciekawie jest zobaczyć ceny po latach. Nie chodziło mi o najniższe możliwe ceny, bardziej po prostu o oszacowanie, ile będzie kosztowało przygotowanie tego w domu, ale w maksymalnie zbliżonym wariancie. Za ceny przyjąłem ceny z internetowego sklepu Piotr i Paweł (łatwo wyszukać, spory wybór). W przypadku produktów, których tam nie znalazłem i których totalnie nie kojarzę ze sklepów stacjonarnych, przyjąłem ceny z Allegro, z dostawą (paczkomat lub coś podobnego), bo tak pewnie bym kupował. Tabelka poniżej:

składnik masa [g]cena [zł]udział [%]masa w porcji [g]ilość porcji w opak.koszt w porcji [zł]
płatki owsiane5002,9949,9032,4415,420,19
WPC70032,4020,5013,3352,530,62
mleko w pr. Odtł.2509,8817,0011,0522,620,44
cukier puder trzcin5005,398,605,5989,450,06
maliny lio.5025,704,002,6019,231,34
suman.d76,3610065n.d2,64

Samodzielne przygotowanie kosztuje jak widać 2,362,64 zł. Ku mojemu zaskoczeniu głównym kosztem nie okazało się WPC, tylko maliny. I to po zmianie malin z opakowania 30 g na 50 g – w tym pierwszym wariancie wychodziło IIRC 1,8 zł/porcja . Licząc jeszcze inaczej – gdyby kupić 1 kg płatków, na składniki wydamy ok. 80 zł i będziemy w stanie przygotować niecałe 20 porcji (ograniczą nas maliny), co da ok. 4 zł/porcja. Zdecydowanie taniej kupić gotowca.

Sytuacja rzecz jasna może się zmienić, jeśli zrezygnujemy z malin na rzecz innego składnika. Ale o tym następnym razem…

[1] Dla jasności – wpis nie jest pisany na zlecenie i nie otrzymuję za niego wynagrodzenia. Po prostu mi zasmakowało. 🙂

UPDATE: Czy można zrobić błąd w prostych obliczeniach w arkuszu? Ano można. Wystarczy pomylić wiersze w formule… Zaktualizowana wersja tabeli.

Blogi żyją

Pierwotnie ten wpis miał być komentarzem do wpisu o agonii blogów, jednak z racji rozmiaru i uporządkowania ew. dyskusji stwierdziłem, że bardziej pasuje jako samodzielny wpis.

Zamykanie kolejnych polskich platform blogowych nie jest koniec blogosfery. To zaledwie koniec platform blogowych jako takich. IMO je spotyka los podobny do shared hostingu, odkąd pojawiły się VPSy. Platformy tracą sens, bo:

  • i własny hosting, i domeny drastycznie potaniały,
  • platformy nakładają ograniczenia i/lub kosztują relatywnie dużo,
  • pojawiły się międzyplatformowe narzędzia do dzielenia się komentarzami dot. wpisów na blogach – FB, Disqus, itp.

Tego wszystkiego kiedyś nie było. Porównując z telefonami – nadal z nich korzystamy, ale kto ostatnio korzystał z telefonu stacjonarnego (i w dodatku nie VoIP), o budkach telefonicznych nie wspominając?

Wiele blogów ma się jednak dobrze. Niektóre mają się wręcz świetnie. Z polskiego podwórka na myśl przychodzą mi tu – tak od ręki zaufanatrzeciastrona.pl, sekurak.pl, niebezpiecznik.pl, majsterkowo.pl, jakoszczedzacpieniadze.pl czy subiektywnieofinansach.pl. Od strony technicznej te portale(?) to są blogi. I myślę, że zasięgiem biją na głowę najlepsze blogi sprzed lat dziesięciu lub więcej. A może i całe platformy…

Prawdą jest, że bariera wejścia w blogowanie wzrosła, jeśli porównać ją z innymi formami komunikacji, ale tak naprawdę jest łatwiej, niż kiedyś. Narzędzia są bardziej dopracowane, takiego WordPressa można postawić z tutoriala z wiedzą nie większą, niż potrzebna kiedyś do modyfikacji szablonu. To samo zjawisko dotyczy innych rodzajów twórczości – amatorskie zespoły muzyczne mają często dziś do dyspozycji rozwiązania, które kiedyś były dostępne wyłącznie profesjonalistom. Bardziej mam tu na myśli obróbkę dźwięku, niż instrumenty. Łatwiej jest stworzyć zdatną do wydania muzykę i ją wydać, niż kiedyś.

Zgadzam się, że konkurencja innych platform powoduje, że może nie być sensu pisać własnego bloga lub trudniej będzie się wybić. Jeśli nie będzie dobry, to nie będzie czytany, bo przegra konkurencję z innymi formami. To trochę jak z filmami – spróbujcie dziś obejrzeć jakieś arcydzieło sprzed 60 lub więcej lat. Albo serial sprzed 30-40 lat. To nie są złe filmy! Ale w bezpośrednim starciu ze współczesnymi, czy nawet nowszymi produkcjami na większą skalę nie mają szans. Treści do konsumpcji jest coraz więcej, doba ma nadal 24h, długość życia aż tak nie wzrosła. Trzeba wybierać, a warunki selekcji są coraz ostrzejsze.

Zresztą blogi same wspomagały Facebooka w dominacji rynku. Wielu blogerów założyło fanpage bloga, licząc na promocję, ale tak naprawdę dostarczali tylko dodatkowej treści FB i powodowali, że zaglądanie gdzie indziej miało jeszcze mniej sensu. Zresztą miałem o tym notkę – Facebook przejął rolę wielu serwisów, nie tylko blogów.

Nie upatrywałbym problemu blogosfery w próbach monetyzacji. Tak, też widziałem blogi, które poszły w komercję i straciły przy tym cały urok, ale – patrząc z perspektywy – wygląda mi to bardziej na odcinanie kuponów od czegoś, co było fajne, ale do czego straciło się serce i można albo zakończyć, albo zarobić przy okazji parę złotych. Sam bawiłem się w różne formy zarabiania na blogu, a nawet miałem o tym notkę. IMO nie dało się na blogu bezpośrednio zarabiać. Nawet biorąc poprawkę na specyficzną tematykę i potencjalnie większą niechęć odbiorców do wyświetlanych reklam uważam, że to wszystko na orzeszki. Mi nie udało się nigdy osiągnąć z reklam itp. form osiągnąć pułapu pozwalającego na opłacenie abonamentu za dostęp do internetu. Takie sobie kiedyś kryterium sukcesu wybrałem. 😉 Więc nawet rząd wielkości większe dochody to są orzeszki, jeśli mówimy o pracy na jakąś nieułamkową część etatu.
Podkreślam jednak – chodzi o zarobek bezpośredni. Jak zerkniecie na blogi z jednego z pierwszych akapitów, to jak najbardziej pomagają one autorom zarabiać pieniądze. Ale nie na samych blogach. Mądrze na to mówią budowa marki. W praktyce chodzi o jakąś tam rozpoznawalność.

Jeśli mnie ktoś zapyta, czy warto pisać bloga, bez wahania odpowiem, że tak, ale wyłącznie na własnej platformie i z własną domeną. W przeciwieństwie do dowolnej platformy współdzielonej to jedyna powszechnie dostępna forma publikacji, nad którą mamy pełną kontrolę i która daje pełną niezależność. Możemy – i inni ludzie – łatwo wyszukać stare wpisy, podlinkować do nich i… ktoś to przeczyta (spróbujcie tego na FB…). Możemy bez problemu przenieść się z całą zawartością w inne miejsce i właściciel platformy nie będzie nam dyktował, czy możemy to zrobić, w jakiej formie, zakresie i kiedy. FB jest równie wieczny, jak nk.pl. 😉
A zabawa z bebechami okołoblogowymi jest IMO podobną okazją do nauki, jak niegdyś zabawa z tworzeniem szablonów blogów.

Wtyczki do WordPressa

Przesiadka na WordPressa była dobrym posunięciem, jednak ku mojemu zdziwieniu goły WordPress nie ma możliwości zrobienia – przynajmniej w prosty, cywilizowany sposób – wielu podstawowych rzeczy. Musiałem doinstalować pewne wtyczki, a po bliższym zapoznaniu się z tematem okazało się, że trafiają się tam naprawdę rewelacyjne narzędzia.

Wtyczki podzieliłem – bardzo subiektywnie – na dwie grupy – trzeba mieć oraz warto mieć. Zwykle będą to najniezbędniejsze narzędzia do podstawowych funkcjonalności, zdrowego SEO oraz narzędzia do optymalizacji bloga, zwł. czasu ładowania strony. Pora na grupę pierwszą, czyli pluginy IMO niezbędne:

BackWPup
Niezależnie od tego, czy masz własny serwer, korzystasz z hostingu który „robi backupy” czy kupujesz gotowca, warto mieć własną kopię zapasową. BackWPup robi robotę, ma sporo opcji konfiguracyjnych co backupować i gdzie przesyłać backup (tu akurat średnio jestem przekonany, lepiej zaciągać backup, niż go wysyłać z backupowanej maszyny). Potrafi działać cyklicznie, bez ingerencji, umie zrobić pełną kopię, wraz ze zdjęciami. Przypadł mi do gustu, więc nie testowałem alternatyw.

Advanced noCaptcha & invisible Captcha
Że spam na blogu może się zdarzyć – wiadomo. Miałem włączoną moderację, więc nic się nie prześlizgnęło, ale spamu wpadała cała masa. W przeciwieństwie do mniej popularnych platform blogowych, blogi oparte o WordPress są narażone na automatyczne znajdowanie przez boty, a wtedy… przychodzi nawet po kilka spamów dziennie. Moderowanie szybko mi się znudziło, różnego rodzaju rozwiązania antyspamowe mnie nie do końca przekonywały, postawiłem na standardowe rozwiązanie od Google. Ujęło mnie tym, że potrafi zabezpieczyć nie tylko formularz komentarzy, ale także logowanie, co znacznie utrudnia atak brute force (chociaż nie powstrzyma zdesperowanego atakującego, są rozwiązania do łamania CAPTCHA od Google). Prosta, standardowa konfiguracja, do wyboru różne warianty captcha, w tym wersja niewidoczna. Spam niemal zniknął, pojedyncze sztuki w miesiącu to raczej robota ludzi.

Download External Images In Posts
Znalazłem go poszukując sposobu na zaimportowanie obrazków podczas migracji z Blox i w sumie zrobił mi dzień. Działa w ten sposób, że pobiera zdalne obrazki i zapisuje je lokalnie, następnie serwuje z naszego serwera. Dzięki temu blog ładuje się szybciej (brak odwołań do wielu domen), mamy pełną kontrolę nad treścią i gwarancję jej niezmienności. Warto tu przypomnieć, że należy podawać źródło, skąd pochodzi dany obrazek na naszym blogu. Jeśli mamy ten plugin to odwiedzający nie może nawet „po prostu” zajrzeć w źródło, żeby to sprawdzić. Drobną wadą jest to, że nasz blog zajmuje nieco więcej miejsca – w końcu wszystkie zasoby są przechowywane u nas, ale przy dzisiejszych pojemnościach i cenach hostingu nie powinien być to żaden problem.

Najważniejsze wtyczki za nami, pora na mniej istotne.

Insert Headers and Footers
Potrzebowałem dodać statystyki Matomo (dawniej Piwik) i… okazało się, że w gołym WordPressie nie bardzo można to zrobić. Oczywiście do wszystkiego są dedykowane pluginy, ale jeśli ktoś – podobnie jak ja – przywykł do tego, że sam robi odpowiednie wklejki w stopce, to jest to plugin w sam raz dla niego. Nie szukałem alternatyw.

Cache Enabler
Z tym pluginem jest śmieszna historia. Tak naprawdę nie chodziło mi o cache czy różnego rodzaju funkcje optymalizacyjne (to już miałem zrobione, czy to natywnie w serwerze WWW, czy ręcznie), tylko o funkcję ukrytą pod nazwą create an additional cached version for WebP image support. Okazało się, że jest to – a przynajmniej był – najprostszy sposób, by zmusić WordPressa do serwowania grafik w formacie WebP przeglądarkom, które ten format umieją.

EWWW Image Optimizer
Narzędzie do optymalizacji grafik przechowywanych lokalnie. Mocno konfigurowalne, klikalne, potrafi bezstratnie (oraz stratnie, jeśli ktoś woli i wybierze taką opcję) optymalizować rozmiar zdjęć, dzięki czemu blog zajmuje mniej miejsca i wczytuje się szybciej. Potrafi też dokonywać przeskalowania grafik, dzięki czemu wysyłana jest nie tylko zoptymalizowana, ale najbliższa danemu rozmiarowi ekranu wersja. Domyślnie korzysta z zainstalowanych dodatkowych programów, więc nie jestem przekonany, czy będzie działał na shared hostingach. Jeśli ktoś ma swój VPS – polecam.

Google XML Sitemaps
Goły WordPress posiadał szczątkową sitemapę, albo wręcz jej nie posiadał. Plugin załatwia sprawę generowania sitemapy, która ułatwia poprawne zaindeksowanie treści. Jest sporo alternatyw w różnych wtyczkach do SEO, ten plugin spodobał mi się, bo nie jest kombajnem, robi tylko sitemapę.

Subscribe to Comments Reloaded
Chciałem dać czytelnikom często spotykaną na innych blogach i często przeze mnie wykorzystywaną możliwość subskrypcji komentarzy do danego wpisu, stąd jego obecność. Zachwalana funkcjonalność nie spotkała się z szerszym zainteresowaniem, ale samo rozwiązanie wydaje się działać OK. Na niedziałanie nikt się nie skarżył, alternatyw nie szukałem.

Tyle o pluginach, jeśli znasz inne ciekawe, podziel się nimi w komentarzach. Jeśli potrzebujesz pomocy z konfiguracją WordPressa – zapraszam do działu kontakt.