tag:blogger.com,1999:blog-85017608906611965512024-02-20T17:36:44.908+01:00Rafał "R@V" Prasał - Blog<p>Blog o wszystkim i niczym. Może odnajdziesz tu coś dla siebie, a może nie?</p>
<p>Blog about everything and nothing. Maybe You will find here something for yourself or maybe not?</p>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-8501760890661196551.post-5324847626491847192012-09-20T19:10:00.001+02:002013-07-25T14:35:41.815+02:00Aniołek na szczęśliwe życie: Czy kiedykolwiek zostanie rozpakowany?Kiedyś od pewnej bliskiej mi osoby otrzymałem taką figurkę, Aniołka na szczęśliwe życie. Nie pamiętam okazji jaka temu przyświecam, bo raz, że to było dawno, a dwa, że okoliczności temu towarzyszące dla mnie do najmilszych nie należały i nie będę ukrywał, że zmieniły mnie. Postanowiłem go rozpakować wtedy, gdy w końcu zacznę prowadzić szczęśliwe życie.<br />
<br />
W każdym razie jest sobie ów Aniołek nadal zapakowany w opakowaniu pokrytym choć przezroczystym, to pokrytym tak grubą warstwą kurzu, że ledwo można ów napis na trzymanej przez niego tabliczce. Można śmiało powiedzieć, że czeka na lepsze czasy, które jednak nie nadchodzą.<br />
<br />
W zasadzie to od czasu mojego ostatniego wpisu wiele się zmieniło. Skończyłem studia, obroniłem się, nie pracuję już w podrzędnej trójmiejskiej firemce za jeszcze podrzędniejszą kasę, lecz w korporacji, za kasę bardziej niż przyzwoitą dla wielu wręcz niedostępną. Nawet ostatni zakupiłem samochód (14letni podrdzewiały Lanos w cenie roweru). Moi znajomi uważają mnie za osobę, która osiągnęła sukces, która jak to określono wręcz przebiła sufit. Nie wiem jednak, czy zdają sobie sprawę jaki był rzeczywisty koszt moich osiągnięć, tudzież ile osób włącznie z moimi rodzicami mi pomogło, żebym był tu gdzie jestem, tak jak jestem.<br />
<br />
Ów koszt był można powiedzieć bardzo wysoki. Totalne wyobcowanie, odsunięcie wszystkiego poza studiami, pracą na dalszy tor, na który nie wiem czy jakaś zwrotnica będzie w stanie mnie zaprowadzić. Nie tego przecież chciałem od samego początku i nie tak miało się toczyć moje życie, ale "that's life" jak to śpiewał Frank Sinatra.<br />
<br />
Bardziej niż kiedykolwiek uderza mnie samotność, szczególnie teraz, gdy nie mogę pójść do pracy ze względu na L4. Tiaa praca, czyni jednak wolnym, ma ten kto to wymyślił był według mnie geniuszem, aczkolwiek ze względu na kontekst... mniejsza z tym.<br />
<br />
Praca sprawia mi dużo satysfakcji, ale jest też jedynym co mam od bardzo długiego już czasu. Jest to jednak za mało przynajmniej w mojej ocenie, żeby rozpakować owego Aniołka. Nawet w dłuższej perspektywie wydaje się to niemożliwe, przynajmniej dla mnie...<br />
<br />
<br />
<br />
<br />
<br />R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-20977977321512480062012-04-26T15:10:00.002+02:002012-04-26T15:10:52.594+02:00libSVMWrapper now on SourceForge.net<br />
EN:<br /><br />
I decided to put project LibSVMWrapper on sourceforge. This way after a few months of problems with broken server and not having a lot of time to fix it, project came back to the internet. You may find it on <a href="http://sourceforge.net/projects/libsvmwrapper">http://sourceforge.net/projects/libsvmwrapper</a><br />
<br />
It is the last version (3.1.5) that I was able to recover thanks to Ori Cohen. I hope that it works and that it won't make any trouble for persons, who would like to use it.<br />
<br />
In the upcoming weeks I plan to update libsvm.dll to version 3.12 and put in place some additional features making choosing learning process parameters better, what was suggested by Ori Cohen.<br />
<br />
PL: <br />
<br />
Zdecydowałem się umieścić projekt libSVMWrapper na sourceforge'u.
Tym samym po kilku miesiącach borykania się z padniętym serwerem oraz
notorycznym brakiem czasu, aby go naprawić, projekt wrócił do sieci.
Znajduje się teraz pod adresem <a href="http://sourceforge.net/projects/libsvmwrapper">http://sourceforge.net/projects/libsvmwrapper</a><br />
<br />
Udostępniona
wersja (3.1.5) jest ostatnią, jaką udało mi się odnaleźć dzięki Ori
Cohen'owi. Mam nadzieję, że działa ;D i, że nie będzie sprawiać
problemów osobom, które chciałyby z niej skorzystać.<br />
<br />
W
najbliższym czasie planuję wykonać update libsvm.dll do wersji 3.12 oraz
wprowadzić kilka drobnych dodatków umożliwiających lepszy dobór
parametrów uczenia zasugerowanych przez Ori Cohen.<br />
<br />
<br />
Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-6739324136250317252011-09-14T17:05:00.011+02:002011-09-14T18:30:33.074+02:00Zakupy allegro u FHU Polcom (Szczecin): szkoda nerwów<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhntNcy-dLEofzhzXn5-6Yh6NV8QX9vyPVpeF3iSPRd0hIDQKBXamigBo3ew4bpCZAX3BHWN0l9fbTawKD4HYdazy_lOHqsEEF-ZXlNtc1gY__AofqnIujWaDJxjqmI1MDc5GXZ6ZVhZ0A/s1600/fhu+polcom+kant.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 122px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhntNcy-dLEofzhzXn5-6Yh6NV8QX9vyPVpeF3iSPRd0hIDQKBXamigBo3ew4bpCZAX3BHWN0l9fbTawKD4HYdazy_lOHqsEEF-ZXlNtc1gY__AofqnIujWaDJxjqmI1MDc5GXZ6ZVhZ0A/s200/fhu+polcom+kant.jpg" alt="" id="BLOGGER_PHOTO_ID_5652246556341542562" border="0" /></a>Jako, że od czasu do czasu kupuję różne rzeczy na allegro to nie trafiłem wcześniej na takie zachowanie ze strony sprzedającego. Otóż jako, że kompletowałem kolejny zestaw PC (mniejsza po co) to zmuszony byłem do zakupu dość starych aktualnie pamięci DDR1. Pomyślałem, że czemu by nie kupić 2xDUAL 1G. Idealną ofertą zdawała się oferta <b>FHU POLCOM Sylwia Polender</b>, <b>ul. 1-go Maja 35F, </b><b>71-627 Szczecin</b>, na której to zaoferowano pamięci firmy <span style="font-weight: bold;">KINGST</span><span style="font-weight: bold;">ON</span>, który w zupełności spełniałby moje wszelkie wymagania.<br /><br />"Kup teraz", szybki przelew, informacja o adresie do wysyłki i czekamy na maila zwrotnego. jako, że był to weekend świąteczny (okolice 15.08), to pieniądze z konta wyszły dopiero 16.08. Wtedy też dostałem maila zwrotnego, że cytuję "Ok". Po czym wysłałem zapytanie "kiedy dotrze do mnie przesyłka?". Niestety na ów mail odpowiedzi nie otrzymałem. Wybrałem opcję kurier, a towar wysyłają do pięciu dni od wpłaty na konto, to myślę sobie, super, za 10dni w sumie, powinienem to już mieć (25-26.08). I tak sobie spokojnie czekam, aż przychodzi poniedziałek (29.08) i wysyłam do nich monit z pytaniem, "co się takiego stało, że do mnie to nie dotarło?". oczywiście telefonu nikt nie raczył odebrać, bo przecież nie po to się go podaje, żeby ktoś mógł zadzwonić. Odpowiedź otrzymałem już w czwartek (1.09) czyli jakieś 3 dni później, że przepraszają, zmieniali dostawcę i, że teraz to na początku przyszłego tygodnia będzie to już u mnie. No cóż, trzeba poczekać. I tak przychodzi poniedziałek (12.09) i ja wysyłam kolejny monit, że niestety tym razem rezygnuję z usług i proszę o jak najszybszy zwrot pieniędzy, bo przecież kupiłbym tą pamięć u innego sprzedawcy już ze 3 jak nie 4 razy jak nie 5. Odpowiedź jest już dnia następnego, że kurier, że przepraszają, że jutro będzie.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32IolYQgCZUnR4OxDR1LjJgwtqZSUCEqcVzBI6X4BY6pY5seT62_BStSMg6cddvrPUnD_mZp2iuf4ublA8cLYufQHdgXC-qqg3A4DV7-IA-CG5Neknzd20-F6innEZ59OmJmqHYvVf54/s1600/fhu+polcom+kant+przesy%25C5%2582ka.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 112px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32IolYQgCZUnR4OxDR1LjJgwtqZSUCEqcVzBI6X4BY6pY5seT62_BStSMg6cddvrPUnD_mZp2iuf4ublA8cLYufQHdgXC-qqg3A4DV7-IA-CG5Neknzd20-F6innEZ59OmJmqHYvVf54/s200/fhu+polcom+kant+przesy%25C5%2582ka.jpg" alt="" id="BLOGGER_PHOTO_ID_5652248868054305922" border="0" /></a>Przyjechał kurier, odebrałem przesyłkę, pokwitowałem i, no właśnie... Okazało się, że w paczce są 2 kości zamiast 4. Dodatkowo są to kości innych producentów niż przedstawiony na ich aukcji KINGSTON. Wkurw.<br /><br /><br />Wykręcam numer a tam męski głos, bez ogródek, bez cienia skruchy mówi mi, że innych pamięci nie mają, że jak mi się nie podoba to proszę odesłać te pamięci a oni zwrócą mi kasę (po 30 dniach). Mówię, że chyba coś tu nie tak, skoro 30 dni mam czekać na moje pieniądze, a dodatkowo oraz, że niestety na nic poza negatywem liczyć z mojej strony nie mogą to się koleś rozłączył.<br /><br />Wkurw Total i taki skok ciśnienia, że od kilku godzin nawet 2 aspiryny nie są w stanie zbić mojego bólu głowy...<br /><br />Innymi słowy. Jeśli miałbyś drogi czytelniku kupować cokolwiek w tej firmie, to szkoda Twoich nerwów, nie warto. Ja u nich na pewno już nic nie kupię.<br /><br />Dodatkowo uważam, że w dobrym tonie i praktyce byłoby zwrócenie również kwoty przesyłek (oni do mnie i ja do nich) oraz doliczenie do tych kwot stosownych odsetek np. ustawowych za bezprawne przetrzymywanie moich pieniędzy od 15.08.2011, bo przecież w to, że mieli ten towar, że kontrahent ich oszukał to ja i nikt chyba nie uwierzy.<br /><br />C. D. N.<br /><br />Rafał "R@V" PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-20587318183126142752011-08-21T12:54:00.005+02:002012-04-26T15:13:40.638+02:00Chałupniczy NASJakiś już czas temu przekonałem się na własnej skórze, że jeśli chcemy wygodnie przemieszczać się pomiędzy stanowiskami sieci lokalnej, czy też po prostu systemami operacyjnymi, to najlepszą metodą przechowywania danych będzie lokalny serwer plików (NAS). Nie chciałem jednak inwestować, gdyż nie urkywając trochę różnorakiego sprzętu posiadałem już w moich zasobach, ale o tym później. Zdecydowałem, że koniecznie będę miał na moim serwerze Linuxa i dostarczony wraz z nim RAID5 (mdadm) oraz, że całość będzie szyfrowana TrueCryptem (2 algorytmy w XTS). Sam system ładowny miał być z pendrive tak, żeby niepotrzebnie nie tracić miejsca na moich dyskach.
<br />
<br />
Zebrałem taki sprzęt (orientacyjne ceny):
<br />
<ol>
<li>MS-7168 VER:1C (105), </li>
<li>Athlon64 3000+ (25), </li>
<li>RAM 4x512MB (200)
</li>
<li>Chieftec 550W (220), </li>
<li>4 x 1TB Seagate (880), </li>
<li>Sandisk 8GB (50), </li>
<li>CoolerMaster 330K (140), </li>
<li>CoolerMaster Vortex 752(75)</li>
</ol>
Wychodzi na to, że pomijając dyski, koszt tego sprzętu wyniósł 800PLN. Owszem, nie jest to mało, ale jest to przynajmniej dwukrotnie mniej aniżeli zakup Gotowego NASa, który obsługiwałby RAID5. Poza tym, w tym przypadku nic nie stoi na przeszkodzie, żeby np. dorzucić jeszcze 4 dyski i zrobić kolejnego RAID5, ale tym razem np z dyskami 2TB w przyszłości. Dodatkowo na NASach, spotyka się szyfrowanie, ale nie jest nim TrueCrypt, a to jego właśnie chciałem w połączeniu z EXT4 i sambą użyć. Jako system operacyjny wybrałem Mageia 1 (64bit), gdyż w sumie to dystrybucję tą znam najlepiej i uniknę dzięki temu niepotrzebnych komplikacji podczas instalacji.
<br />
<br />
Prędkości:
<br />
<ol>
<li>Zapis(100Mbit): 6.55GB z 10.1 MB/s</li>
<li>Odczyt(100Mbit): 6.55GB z 12 MB/s</li>
</ol>
Sieciówka jest 1Gbit. ale już widać, że prędkości zapisu 10MB/s się raczej nie przeskoczy, ale odczyt, to kto wie w końcu RAID5 zmniejsza prędkość zapisu a odczyt przyspiesza ;).
<br />
<br />
Jeśli, ktoś zatem nie potrzebuje super drogiego i zarazem szybkiego urządzenia NAS oraz chce mieć pełną swobodę działania, to polecam moje rozwiązanie ;)
<br />
<br />
Jak już udało mi się krosa na 1GE zrobić (brązowe zamienia się z niebieskimi to zrobiłem też testy dla tej prędkości
<br />
<ol>
<li>Zapis(1GE): 6.55GB z 15.5 MB/s
</li>
<li>Odczyt(1GE): 6.55GB z 24MB/s
</li>
</ol>
Nie jest super szybko, ale spokojnie daje radę ;)R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-12480824023050644202011-04-06T14:15:00.004+02:002012-04-26T09:04:05.571+02:00libSVMWrapper a wrapper for libsvm.dll<h2>
What is it?</h2>
libSVMWrapper is a .NET wrapper for libsvm.dll and is provided to you under <span style="font-weight: bold;">LGPL license version 3</span>.<br />
This library should work with 32bit version of libsvm.dll.<br />
If you do not find any functionality or find a problem with a wrapper, let me know or add/repair it and then let me know.<br />
I will incorporate it in this library and place your name in acknowledgments. <br />
If you find this wrapper usefull and want to give your gratitude to me, let me know ;).<br />
<h2>
Advantages</h2>
<ul>
<li>Does not use any <b>unsafe</b> code. </li>
<li>Includes method TrainAuto, which searches for best parameter in grids which is similar to used in OpenCV.MachineLearning</li>
<li>Usage is very similar to libsvm itself, so migration from it to .NET should be very easy.</li>
<li>Ease of use. See DOCS</li>
</ul>
<h2>
Documents</h2>
Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector machines, 2001. Software available at <a href="http://www.csie.ntu.edu.tw/%7Ecjlin/libsvm">http://www.csie.ntu.edu.tw/~cjlin/libsvm</a> <br />
<a href="mailto:rafal.prasal@gmail.com">Rafał <b>"R@V"</b> Prasał </a>: a wrapper for libsvm.dll <a href="http://sourceforge.net/projects/libsvmwrapper/">http://sourceforge.net/projects/libsvmwrapper/</a><br />
SVN: <a href="http://svn.code.sf.net/p/libsvmwrapper/code/trunk">http://svn.code.sf.net/p/libsvmwrapper/code/trunk</a><br />
<br />
<a href="http://rav.radiosar.pl/libSVMWrapper/Docs"></a>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-86962998932683846132010-10-02T15:52:00.000+02:002010-10-02T15:53:32.911+02:00HTC Wildfire - Przygoda trwaJakiś czas temu zakupiłem sobie ów telefonik o czym wspominałem w poprzednim wpisie. Obiecałem również, że jak się z nim zaznajomię nieco bardziej to napiszę coś więcej. Oto i coś więcej.<br /><br />Jeśli ktoś zamierza zakupić sobie ów telefonik powinien pomyśleć o folii na ekran i ogumieniu na resztę obudowy. Nie jest to duży wydatek ale za to ile radości w tym, że na obudowie i ekranie nie będzie żadnej ryski. Nie wiem jak Ty czytelniku korzystasz z telefonu, ale u mnie czasem ląduje on w kieszeni wraz z kluczami, monetami i innymi elementami, które mogłyby i pewnie by go nawet porysowały. Folia na ekranie została dość mocno porysowana, ale w końcu od tego ona jest. Ponad to ogumienie obudowy całkiem nieźle zamortyzowało upadek telefonu z biurka (90cm) i nie dopuściło do porysowania wyświetlacza. Także dodatkowe 40-50pln uratowało mi telefon.<br /><br />Telefon, to nie tylko ekran i obudowa, ale i aplikacje. W przypadku tego modelu baza ich jest mocno ograniczona, choćby ze względu na ekran. Jednakże, że tak powiem nie ma się co łamać, bo sprawa wcale tak źle nie wygląda jakby mogło się na pierwszy rzut oka wydawać. Co prawda na razie nie są dostępne płatne aplikacje, ale... że tak się wyrażę, przeżyć bez nich się da. I tak w pierwszym rzucie doinstalowałem Allegro, APNDroid, Facebook, Arity (kalkulator graficzny), Audio Player (odtwarza FLAC, OGG), Barcode Scanner, Battery Status, Bluetooth File Transfer, Bubble (poziomica), Compass, ConnectBot (terminal SSH), Gadu-Gadu, gStrings (stroik gitarowy), IP Calculator, NetCounter (zliczacz ruchu sieciowego), Shazam (aplikacja rozpoznająca utwory), Simple Notes, Speedometer (pokazuje statystykę z jazdy), Transportoid (rozkłady jazdy komunikacji miejskiej), Wifi Analyzer, Złap Taxi (spis korporacji taksówkowych). Niemało tego, prawda?<br /><br />Części aplikacji potrzebowałem jako narzędzie do pracy np. IP calculator i Wifi Analyzer, które to umożliwiają przeliczanie adresów IP oraz sprawdzenie jakie to sieci WIFI na jakich kanałach i o jakiej mocy działają w okolicy. Bardzo przydają się zatem, gdy chcemy skonfigurować router bezprzewodowy, coby działał pełną parą a nie krztusił się ze względu na obecne obok zakłócenia. Ponad to dzięki drugiej z wymienionych przeze mnie aplikacji można sprawdzić czy zasięg WIFI jest odpowiedni a zatem szybko uzyskać wniosek, że trzeba podnieść moc jej nadawania w routerze.<br /><br />Dwie aplikacje są nad wyraz pomocne APNDroid i NetCounter, gdyż dzięki nim będziemy oszczędzać pieniążki. Mianowicie Telefon lubi być podłączony do internetu. Cały czas aktualizuje pogodę, statusy na Facebooku, sprawdza pocztę a ponad to umożliwia pisanie na Gadu-Gadu. W związku z tym, zużywa transfer. Nie jest to specjalnie dużo jakieś 50-100MB na miesiąc, ale zawsze coś. Jeżeli transfer ów będzie odbywał się poza pakietem to niestety przyjdzie nam zapłacić jak za zboże. Dlatego też pierwsza aplikacja pilnuje tego, żeby transfery nie były dostępne w ogóle, natomiast druga, ostrzeże nas, gdy przekroczymy jeden ze zdefiniowanych przez nas limitów. Ja ustawiłem sobie limit tygodniowy na 100MB oraz limit miesięczny na 450MB, gdyż w sumie nie chciałbym zużyć całego transferu w tydzień jak również nie chciałbym, żeby podłączanie i rozłączanie się telefonu od sieci nabiło mi rachunek. Wydaje się to być całkiem sensownym rozwiązaniem.<br /><br />Jeśli chodzi o gry, to niestety wiele tytułów odpada. Ekran jest po prostu za mały, aby w nie grać, bo palcami sobie dużą jego część najzwyczajniej w świecie przesłania. Jednakże tu również nie ma co się łamać, bo są tytuły, które kiedyś przyciągały jak magnesy. Mówię tutaj o Ivandroid (PacMan), Missle Shield (Missle Command), Paciffic Wings (1940) czyli o hitach sprzed lat. Owszem te tytuły nie są ostatnimi krzykami mowy, ale jak na coś, co pomaga zabić czas w wolnej chwili to spokojnie wystarczy.<br /><br />Jeśli chodzi o odtwarzanie muzyki to zdecydowanie polecam AudioPlayer, który jest doskonałym zamiennikiem dla wbudowanego odtwarzacza, któremu niestety brakuje odtwarzania FLAC czy też OGG. O ile FLAC na telefonie to lekka przesada o tyle OGG już nie. W końcu to format znacznie lepszy niż MP3, ale niestety nieco zapomniany przez przemysł, może jakby był płatny to więcej osób by się nim zainteresowało? nikt tego nie wie.<br /><br />Internet przy pomocy tego telefonu to zupełnie inna działka. Jeśli ktoś, kto go zakupi nie będzie miał konta na Gmailu, Facebooku, Tweeterze i pewnie jeszcze kilku innych serwisach to będzie wykorzystywał ten smartfon w ułamku procenta. W innym przypadku natomiast telefon będzie sam aktualizował listę kontaków w oparciu o te konta, ich statusy, daty urodzin oraz będzie synchronizował kalendarz, pocztę i co tam tylko jeszcze będziemy sobie życzyli. Naprawdę od tych wszystkich funkcji można dostać zawrotu głowy, ale to przecież nie wszystko. Najlepsze jest to, że dostępem do tych wszystkich kont można sterować z jednego miejsca i przez to oszczędzimy sporo czasu, gdyż pozostałe aplikacje z tego dostępu po prostu mogą skorzystać.<br /><br />Mógłbym jeszcze wiele napisać o tym, co mi się w telefonie podoba, bo ów model podoba mi się strasznie, ale napiszę o tym co mi się nie podoba, będzie po prostu szybciej. Otóż, to czego mi w nim brakuje to sensownego słownika. Dlaczego o tym piszę, bo jednak co chwila muszę korygować słowo, które telefon sam sobie wybrał na te, które to ja chcę w tekście umieścić. Ponad to Aparat potrafi strzelić fotkę i ją przebić kolorem różowym. Da się jednak to dość łatwo skorygować, więc nie ma tak naprawdę o co się spinać, ale jednak. Ponad to hmm. W zasadzie nie ma nic ponad to, bo to wszystkie wady, choć można dołożyć do tego niemożność pogrania w mariosa ;(. ale przecież nie ma się co łamać, bo przecież są inne, dużo bardziej grywalne tytuły ;).<br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-66170775952437130552010-07-30T10:01:00.009+02:002010-07-30T12:03:12.387+02:00HTC Wildfire początek przygodyW ostatnim czasie padł mój cegłofon SPV M3100 i w związku właśnie z tym wydarzeniem musiałem rozejrzeć się za nowym telefonikiem. Rozważałem różne opcje, ale postanowiłem odrzucić wszystko, co nie pochodzi od HTC. Nie był to łatwy wybór, choć o ile Windows Phone 6.5 było mi znane za sprawą M3100 o tyle z Androidem nigdy się nie spotkałem. Ważna również była cena oraz możliwości i nowinki jakie w nim są ulokowane :].<br /><br />Początkowo myślałem HTC HD1, ale kupowanie używanego, bez gwarancji, sprzed przynajmniej dwóch lat sprzętu, w cenie ~900 pln, nie było jakąś specjalną okazją, choć taki początkowo był mój wybór. Tak, taki ten mój wybór był do czasu aż kolega Yogee nie rzucił podczas rozmowy enigmatycznym modelem HTC Wildfire, który w ofercie sieci PLAY schodził i nadal schodzi jak ciepłe bułeczki. Jakby się temu nie przyglądać, to jednak jest to "świeżynka" w cenie znacznie poniżej "standardu" dla nowych modeli HTC z Androidem. Przejrzałem chyba wszystkie strony o nim i powiem szczerze, że z wpisów na nich to na dwoje babka wróżyła. Jedni pisali, że telefon jest słaby, inni, że niekoniecznie i tak w kółko. Zawrotu głowy można było od tego dostać. W końcu męska decyzja zapadła, bierzemy :).<br /><br />Polowanie na telefon trwało jakiś tydzień i udało mi się na Allegro ustrzelić go w cenie jaka była mi bliższa do zaakceptowania niż ta w salonie PLAY. Zakupiłem, zapłaciłem, skontaktowałem się ze sprzedawcą i towar otrzymałem. O dziwo Poczta Polska, której nie darzę za dużym szacunkiem stanęła na wysokości zadania i towar dotarł do mnie w stanie nienaruszonym. Do tego w tempie jakiego nie powstydziłaby się żadna firma kurierska. Mianowicie wysłany w sobotę do odbioru był już w poniedziałek. Co prawda koszt przesyłki przerósł nieco moje oczekiwania, ale w końcu to Poczta Polska i przesyłka "szklana" z oznaczeniem jej wartości i do tego w weekend, więc nie ma o co kruszyć kopii.<br /><br />A teraz do rzeczy. Telefony przyzwyczaiły mnie do tego, że są dużymi "cegłami" a tu proszę. Telefonik smukły, leciutki i co by o nim nie powiedzieć to dobrze wykonany produkt HTC. Ludziki narzekali na wyświetlacz, że za słaby, że nic się nie da na nim zobaczyć, że za duży(3.2") jak na oferowaną rozdzielczość(240x320). Według mojej oceny, to takie gadanie można spokojnie między bajki włożyć, bo tej pikselozy, po prostu nie widać. Yogee próbował zrobić zdjęcie tym pikselom, ale mu się nie udało ;].<br /><br />Strona użytkowa telefonu, niestety pozostawia odrobinę do życzenia. Na początek, brak osobnych przycisków do wykonywania czy też odrzucania rozmów. Ponad to klawiatura ekranowa, co by o niej nie powiedzieć to jednak jest wąska zarówno w trybie gdy telefon jest w pionie jak i gdy leży na boku. Poza tym ekran jak również przyciski są zbyt reaktywne a może to tylko te moje niewymiarowe palce ;P. Awaryjny rysik byłby dobrym rozwiązaniem, ale tu niestety nikt nie pomyślał, choć powiem szczerze, że ciężko byłoby go gdzieś upchnąć. Poza tym telefon wydaje się być w porządku.<br /><br />Jeśli natomiast chodzi o oprogramowanie, to jednak to dostarczone w standardzie, nie wystarczy. Podstawową aplikacją, której brakuje jest `APNdroid`, która wyłączając dostęp do internetu przez sieć komórkową, co znacząco zredukuje koszty, bo powiem szczerze, że dużo rzeczy trzyma w gmailu, z którym potrafi się synchronizować, co kilka minut. Poza tym, ilość oprogramowania w markecie wręcz przytłacza. Nawet, gdy dostęp jest jedynie do wersji na QVGA oraz tylko do tych bezpłatnych wersji to jest tego mnóstwo i w sumie to nie wiadomo, co wybrać ;).<br /><br />Ogólnie telefon zrobił na mnie bardzo pozytywne wrażenie, ale jeszcze wiele przede mną, bo w sumie to dopiero początek zabawy.<br /><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-92112813558714971292010-07-04T09:58:00.003+02:002010-07-04T10:00:07.821+02:00Holding on...<span><span class="txt_1">Time after time, feels like I'm fading away<br />Stopped on a dime, staring into space<br />And clarity comes, and clarity goes<br />But for all these epiphanies, I'm still lost<br />Holding the roses...<br /><br /></span></span><div style="text-align: right;"><span><span class="txt_1">Mary Beth Maziarz - </span></span><span><span class="txt_1">Hold on</span></span><br /><br /></div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-1415708881460671312010-06-20T16:58:00.002+02:002010-06-20T17:00:56.986+02:00Nothing is more fatal...Nothing is more fatal to the progress of the human mind than to presume that our views of science are ultimate, that our triumphs are complete, that there are no mysteries in nature, and that there are no new worlds to conquer.<br /><br /><div style="text-align: right;"><span style="font-size:100%;">Sir Humphry Davy</span></div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-61771726282906895262010-05-22T12:34:00.005+02:002010-05-22T13:02:01.603+02:00Windows Mobile 6.5 vs Internet i MMSJak to zwykle bywa, po wymianie oprogramowania w aparacie tekefonicznym z którego korzystam straciłem możliwość wysyłania MMS'ów. Okazało się, że przywrócenie tej funkcjonalności nie należy do rzeczy prostych. Zwłaszcza, gdy okazało się, że owe oprogramowanie nie ma Playa na liście operatorów i co więcej system komórki nie akceptuje smsów z konfiguracją. Musiałem, więc wszystkich zmian dokonać ręcznie. Nie było to wcale takie proste, gdyż wymagało zmian nie w jednym a w dwóch miejscach, które co prawda wydają się dość intuicyjne, ale są pomimo tego mało wygodne. Niestety windows na PC przyswyczaił mnie do istnienia różnych kreatorów a tu najzwyczajniej w świecie kreator nie bangla. Ale do rzeczy.<br /><br />Konfigurujemy połączenie "Play Internet" <span style="font-weight: bold;">( Start/ Settings/ Connections/ Connections)<br />APN: </span>internet<span style="font-weight: bold;"><br /></span><br />Ustawiamy je jako podstawowe w dziale <span style="font-weight: bold;">Advanced / Selected Networks</span><br /><br />W przypadku MMS musimy jak już wcześniej konfiguracji dokonać w dwóch miejscach<br /><br />Konfigurujemy połączenie "Play MMS" <span style="font-weight: bold;">( Start/ Settings/ Connections/ Connections )<br />APN: </span>mms <span style="font-weight: bold;"><br /><br /></span>W programie do wysyłania SMS/MMS<span style="font-weight: bold;"> (MMS Options)<br />Gateway: </span>10.10.25.5<br /><span style="font-weight: bold;">Port: </span>8080<br /><span style="font-weight: bold;">Server address: </span>http://10.10.28.164/mms/wapenc<br /><span style="font-weight: bold;">Connect via: </span>"Play MMS"<br /><br />i Voila. Działa :]<br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-53757471327600919562010-05-14T18:05:00.012+02:002010-05-19T12:03:10.943+02:00SharpNapiProjekt<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBIgc_dtt5begbuunIresBVoYnm5uyWMfKSGWgDVi6Ib4z8v1sCOWz9BvIOQ7iUvF3fVKX5J7RLkZeGqketEt7hhTgAIml35vL828XKHQmAVEtrv6YN53r9dZ7jE_r2bdJIo1MRTDKq2Y/s1600/SharpNapiProjekt.png"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 162px; height: 154px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBIgc_dtt5begbuunIresBVoYnm5uyWMfKSGWgDVi6Ib4z8v1sCOWz9BvIOQ7iUvF3fVKX5J7RLkZeGqketEt7hhTgAIml35vL828XKHQmAVEtrv6YN53r9dZ7jE_r2bdJIo1MRTDKq2Y/s200/SharpNapiProjekt.png" alt="" id="BLOGGER_PHOTO_ID_5472916209961527122" border="0" /></a>Całkiem niedawno, to znaczy w dniu dzisiejszym ukończyłem aplikację do pobierania napisów z NapiProjekt.pl. Napisana ona została z użyciem platformy .NET 4.0 w języku C# i w przeciwieństwie do pierwowzoru nie otwiera wielu okien przy pobieraniu napisów do więcej niż jednego filmu. Jedno okno w zupełności jej wystarcza. Jeśli chodzi o funkcjonalność to jest ona na podstawowym poziomie, ale w zupełności powinna wystarczyć przy normalnym użytkowaniu tzn. pobieraniu napisów :). Odpowiednie odnośniki do pobrania znajdują się niżej.<br /><br /><span style="font-weight: bold;"><br /><br />Jak Zainstalować</span><br /><ol><li>Rozpakuj SharpNapiProjekt.zip np. do c:\Program files\</li><li> Uruchom jako <span style="font-weight: bold;">Administrator</span> c:\Program files\SharpNapiProjekt\SharpNapiProjekt.exe (Prawym na programie i 'Uruchom jako Administrator')<br /></li><li> Kliknij "Install ShellMenu"</li></ol><br /><span style="font-weight: bold;">Jak Odinstalować</span><br /><ol><li>Uruchom jako <span style="font-weight: bold;">Administrator</span> c:\Program files\SharpNapiProjekt\SharpNapiProjekt.exe</li><li>Kliknij na "Remove ShellMenu"</li><li>Skasuj c:\Program files\SharpNapiProjekt</li></ol><br /><span style="font-weight: bold;">Jak Używać</span><br /><ol><li>Po zainstalowaniu ShellMenu</li><li>Klikasz prawym przyciskiem myszy na pliku lub plikach z filmami</li><li>Klikasz lewym przyciskiem myszy na "Get Subtitles"</li></ol><br /><span style="color: rgb(255, 102, 102);">Aplikacja zostaje udostępnione tak jak jest. Autor nie ponosi żadnej odpowiedzialności za straty wynikłe z używania tej aplikacji.</span><br /><br /><span style="font-weight: bold;">Pobieranie</span><a href="http://rav.radiosar.pl/%7Erav/projects/SharpNapiProjekt.zip"><br /></a><ul><li><a href="http://rav.radiosar.pl/%7Erav/projects/SharpNapiProjekt.zip">SharpNapiProjekt.zip</a><br /></li><li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&displaylang=en">.NET 4.0</a></li></ul><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-30750200197064572142010-05-05T10:17:00.004+02:002010-05-05T10:22:37.846+02:00Taniość życia...Mówi się, że życie w Ankh-Morpork jest tanie. To oczywiście poważna pomyłka. Życie bywa czasem bardzo kosztowne; to śmierć można dostać za darmo.<br /><br /><div style="text-align: right;">T. Pratchett - Piramidy</div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-81287655065477208822010-04-27T18:21:00.004+02:002010-04-27T19:17:23.147+02:00Złe sny...Wszyscy je mamy. Wybudzają nas w nocy i później nie pozwalają zasnąć. Pamiętamy z nich jedynie niewielki fragment, ale to w zupełności wystarcza, aby później rozbić nam dzień, a czasem nawet i kilka... Wspomnienia, przyszłość, teraźniejszość, pragnienia, pokazują jacy to jesteśmy słabi i bezsilni wobec samych siebie. Zawsze, gdy mi się coś takiego przytrafia jestem rozbity, zdemotywowany i co więcej smutny.<br /><br />Po prostu zaczynam się wtedy zastanawiać, wracać pamięcią próbując jednocześnie formułować wnioski, które za każdym razem są nieco inne. Sięgając pamięcią tak niedaleko w przeszłość przecież zastanawiam się, co przyniesie przyszłość, która dla mnie powinna być rysowana w różowych kolorach. Dlaczego jednak, taka się nie rysuje? może dlatego, że po tym, co mi się przytrafiło niestety sam nie jestem już niczego pewien... Z jednej strony chciałby znów zacząć "żyć", ale z drugiej to na co mi to wszystko, skoro i tak nie ma i nie będzie w moim życiu nikogo, no może poza moimi rodzicami, kto powie, że zmierzam w dobrym albo złym kierunku.<br /><br />Niby niegłupi, niby niedługo spełni się moje marzenie z czasów jeszcze podstawówki, ale jakoś to nie wywołuje uśmiechu na mojej twarzy. Co więcej powoduje chwile słabości, których nic nie jest w stanie przebić. W trakcie ich trwania zawsze jestem "nieobecny", zamknięty ze swoimi myślami, które po prostu płyną...<br /><br />Oby, w końcu kiedyś dotarły do jakiegoś brzegu...<br /><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-31024463082621990332010-03-20T13:05:00.001+01:002010-03-20T13:06:17.289+01:00Zylion procent normyKażdy z nas, ludzi zajmujących się między innymi pisaniem zapytań SQL trafia na przypadki, które w jakiś sposób są wyzwaniem. Dla jednych mogą to być miliony rekordów w płaskiej tabeli, dla innych, no cóż tabela przestaje być płaska a jej pola zaczynają być indeksami do innych tabel.<br /><br />W mojej praktyce zawodowej, miałem do czynienia z różnymi przypadkami, które w mniejszym, lub większym stopniu miały znaczący wpływ na obniżanie wydajności serwisów, których dotyczyły. Błędy lub niedopatrzenia jakie popełniono, mogły zdarzyć się każdemu i pewnie przy tworzeniu rozwiązań na "szybko" przytrafiają się częściej niż możemy sobie to wyobrazić.<br /><span style="font-size:100%;"><br /><span style="font-weight: bold;">Łączenie się w trakcie generowania strony do zewnętrznych serwisów</span></span><br />Początkowo wszystko wydaje się fajne, bo działa, jednakże w przypadku styku z użytkownikami<br /><span style="font-weight: bold;">a.</span> niepotrzebnie zapychamy sobie łącze<br /><span style="font-weight: bold;">b.</span> w przypadku padu połączenia z zewnętrznym serwisem, co może zdarzyć się np. jak domena przestanie istnieć, nasz serwis klasycznie dostanie DDOS.<br /><br />Jak się tego ustrzec? Rozwiązanie wydaje się prostsze niż mogłoby się wydawać. Otóż można np przy pomocy CRONa zrzucać interesującą nas informację zewnętrznego serwisu do plików tymczasowych na naszym serwerze i to właśnie wykorzystywać w naszych skryptach<br /><br /><span style="font-weight: bold;font-size:100%;" >Karkołomne zapytania wykonywane przy każdym kliknięciu</span><br />Przypuśćmy, że chcemy w naszym serwisie pokazać dziesięć losowych spośród stu najnowsze wiadomości, które z kolei mogą znajdować się na forach, obrazkach, blogach lub w samym naszym serwisie. Przypuśćmy też, że treści generowanych przez użytkowników jest sporo powiedzmy 1000-100000 elementów dziennie a ilość wejść przez użytkowniów na nasz serwis to milion miesięcznie. Żeby stworzyć interesujący nas widok musimy wykonać, kilka zapytań, albo jedno i użyć konstrukcji union, gdyż dane będą pochodziły z kilku tabel. Genralnie jak się to wszystko policzy to masakra. W każdym razie dobrą praktyką jest użycie cache'y, ale teraz jak się z tematem zmierzyć? prawdę mówiąc istnieją 2 rozwiązania<br /><br /><span>1. </span>Dane w czasie rzeczywistym<br />Dla każdej interesującej nas tabeli tworzymy trigger "after insert", który będzie ją umieszczał w tabeli cache_100 oraz dbał o to, żeby ilość elementów nie przekraczała 100. Praktyka pokazuje, że przy takiej ilości danych indeksy w tabeli cache_100 są zbędne i obniżałyby wydajność. Jednakże nawet w przedstawionym przeze mnie przypadek, może się nie sprawdzić, to znaczy wtedy, gdy ilość generowanych treści przez użytkowników będzie o rząd albo o dwa rzędy większa.<br /><br /><span>2. </span>Dane opóźnione o jakiś czas<br />Innym podejściem do tematu jest wykonanie owego karkołomnego zapytania raz na jakiś czas np 5min-10min(CRON)i umieszczenie wyników w tabeli cache_100. Użytkownikowi i tak jakoś specjalnie to nie będzie przeszkadzało a my zyskamy na tym, że nawet znacznie zwiększony ruch nie zabije nam usługi.<br /><br /><span style="font-weight: bold;">Miliony rekordów w tabeli</span> <span style="font-weight: bold;">o wielu dowiązaniach</span><br />W sumie jest to najciekawszy przypadek jaki do tej pory miałem. Baza danych była dość skomplikowana, dowiązania wielokrotne w liczbie 15. Ogólnie sam widok schematu przyprawiał o zawrót głowy. Nie mówię, że to coś złego, po prostu takie było odzwierciedlenie nieabstrakcyjnych urządzeń znajdujących się w terenie. Jeśli doliczyć do tego ponad milion a nawet do dwóch milionów rekordów rocznie i wyniki generowane w czasie rzeczywistym filtrowane po subdevice_id i czasie to już w ogóle dech w piersiach zapiera a na usta cisną się niecenzuralne słowa. Pominę już fakt, że jeśli urządzenie zwariuje to może wysłać 10k rekordów w przeciągu jednej godziny a czasami nawet i więcej. Zapytanie takie jak poniżej, nie wchodziło w grę, choćby ze względu na to, że mogłoby się wykonywać nawet do 5-24h, bo inicjalne ustawienie pól cache'ujących trwało bagatela 1.5h.<br /><blockquote>Select * from msgs left join ... where .... order by ... limit ...;<br /></blockquote>Użyłem triggerów, które zadbały o to, żeby baza sama "pilnowała" wariantów i przynajmniej częściowo cache'owała wyniki podzapytań z dowiązań.<br /><blockquote>msgs.subdevice_id = (select device_id from devices where devices.supdevice_id = msgs.device_id and devices.subdevice = msgs.subdevice))<br /></blockquote>Czas wykonywania skrócił się do 30-60 sekund. Gdyby ten wynik zadowalał mnie i klienta to pewnie bym i na tym poprzestał, ale dla nas obojga było to niewystarczające.<br /><br />Na odsiecz przybyło podzapytanie użyte w polu FROM. To zapytanie nie było specjalnie trudne ot, po prostu służyło do zawężania wyników po subdevice_id i dacie. Czyli w efekcie końcowym powstał taki twór<br /><blockquote>$x= "Select * from msgs where subdevice_id in ( $subdevices ) and rtime > $start and rtime < $koniec order by rtime desc limit 101;";</blockquote>a to z kolei zostało umieszczone w polu FROM, Czyli<br /><blockquote>$sql = "Select * from ( $x ) left join ..."</blockquote>Dla niektórych to, co zostało zrobione tutaj to kombinacja norweska z alpejską w jednej, ale tak naprawdę jest to bardzo proste do zrozumienia. Otóż w powyższym rozwiązaniu został wykorzystany fakt, iż zapytania na zindeksowanej "płaskiej" tabeli wykonują się o niebo szybciej niż zapytania, w których występują złączenia z innymi tabelami. Jest tak między innymi dlatego, że najpierw tworzone są wiersze wynikowe czyli między innymi rozwiązywanie dowiązań a dopiero potem następuje ich zawężanie. Zatem "Superszybkie" zapytanie zawężające liczbę wyników do 101 znacznie zmniejszyło ilość rozwiązywanych dowiązań z innymi tabelami, przez co baza danych w końcu zaczęła oddychać.<br /><br />Możecie wierzyć lub nie, ale to rozwiązanie skróciło czas wykonywania zapytania do 100-300ms czyli w porównaniu z 5-24h wychodzi od 6M do 28.8M%, co wydaje się być wynikiem, co najmniej zadowalającym :].<br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-65505264618281423162010-03-14T11:53:00.005+01:002010-03-14T12:34:53.916+01:00Muzyka, życie, decyzje...Muzyka... Mówi się, że łagodzi obyczaje, wprowadza nas w odpowiedni nastrój, czy też wręcz budzi w nas demony, które gdzieś tam uśpione w nas tkwią. Czy jest w tym choć odrobina prawdy? Zapewne tak, gdyż innej muzyki słuchamy, gdy jesteśmy zdenerwowani, gdy się śpieszymy, gdy tak naprawdę chcemy się odprężyć, zapomnieć... Utwory jednych wykonawców zwracają nam uwagę na niedostrzegane przez nas aspekty naszego życia a innych z kolei nic nie wnoszą.<br /><br />Od jakiegoś czasu grywam sobie na gitarze, a co. Zauważyłem, że jakoś zawsze gdy biorę ją w ręce to na rozgrzewkę zaczynam grać "Everlast + Santana - Put your lights on". Sam nie wiem skąd się to wzięło, ale jakoś tak po prostu wyszło. W sumie zagrałem ten właśnie utwór na mojej studniówce, która jakiś już czas temu miała miejsce, Może to dlatego właśnie ów utwór stał się tym rozgrzewkowym? Być może coś w tym jest, ale poza linią melodyczną (Santana rządzi) utwór ten ma tekst, który po dłuższym zastanowieniu może może być odczytywany jako modlitwa. W końcu jest też o tym, że dla nas wszystkich jest nadzieja na to, że gdy zechcemy, to uda nam się zmienić nasze życie na lepsze. Oczywiście, nie ma nic od razu, za darmo i bez wątpliwości, które w utworze symbolizują aniołek i diabełek.<br /><br />Wracając jednak do muzyki sensu stricte, to chyba każdy z nas ma utwór, którego chętnie słucha w chwilach zadumy, chwilach stresu czy w chwilach, kiedy będą w naszym życiu zapadały ważkie dla nas w końcu decyzje. Nie chodzi o decyzje typu jak się ubrać, co zjeść, ale raczej o te, co dalej chcielibyśmy w nim robić i przede wszystkim jak osiągnąć wyznaczony przez nas w poprzednim kroku cel.<br /><br />Od dłuższego czasu sam zastanawiam się, czego tak naprawdę chcę od mojego życia. Teraz, będąc w stanie zawieszenia, który jednak nie będzie trwał wiecznie muszę odpowiedzieć sobie na cytując klasyka "Zajebiście ważne pytanie: Co chcesz w życiu robić?". Odpowiedź jednak do najprostszych nie należy i w sumie nigdy nie będzie prosta. Zwłaszcza, że decyzje, które kiedyś zdarzyło mi się podjąć okazały się nie strzałęm w dziesiątkę, choć takie początkowo się wydawały, lecz jak się później okazały się pudłem. Nie chcę przez to powiedzieć, że były one błędem. Nie, nie nie, nic z tych rzeczy, bo i takie doświadczenia w życiu są potrzebne, ale oby nie zaważyło one na moich kolejnych decyzjach.<br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-84976870181671557392010-02-13T10:11:00.004+01:002010-02-13T11:37:23.098+01:002010.02.14 - WalentynkiTen dzień zna chyba każdy, pomijając dzieci i zwierzęta. Czternasty luty od jakiegoś już czasu w Polsce i w sumie na całym świecie to tzw. <span style="font-style: italic;">"święto zakochanych"</span>.<br /><br />Prezenty, prezenty, prezenty... nachalne reklamy różnych serwisów internetowych, telewizja, radio, prasa... prześcigają się w prezentowaniu swoich ofert dla tzw. zakochanych. Zewsząd atakuje i nachalne wręcz się stają odcienie koloru czerwonego, róże, rubiny... Wszędzie pojawiają się słowa kochać, miłość... a tak naprawdę, to wręcz trudno nie ulec wrażeniu, że pod otoczką bardzo pięknego, ale również osobistego uczucia jednej osoby do drugiej następują próby zamiany tegoż właśnie na materię w postaci pieniążków, jakie zarówno jedno i drugie zostawią w sklepach...<br /><br />Jest taki doskonały dowcip, którego młodsze pokolenie może po prostu nie znać, ale kończy się puentą "niedziela, aż boję się otworzyć konserwę...". Na jego kanwie trudno nie oprzeć się wrażeniu, że to właśnie jest celem jaki stawiają sobie media, aby coś tak osobistego jak uczucie, miłość rozmienić na drobne i po prostu wszystkim po trochu sprzedać.<br /><br />Skutek jest jednak wręcz odwrotny, bo tak naprawdę są wśród nas osoby, które tego po prostu nie kupią. Ci co prawdziwie kochali i zostali porzuceni... Ci, których partner(ka) najzwyczajniej zdradził(a)... Ci, co się odsłonili i nie zostali zrozumiani... Takich historii, ludzkich tragedii, pełno. Mało, kto jednak poświęca im uwagę, bo w sumie i po co. Media "muszą" pokazywać jedynie szczęśliwych, bogatych ludzi i nie ma znaczenia wcale to, że osób niekoniecznie zaznających szczęścia, bogactwa jest więcej.<br /><br />Co więcej te zorganizowane igrzyska powodują, wręcz u nich obrzydzenie a co więcej wywołują uczucie samotności, która z kolei znacząco obniża poczucie własnej wartości... Naprawdę, ciężko ubrać w słowa, ale okrutny to dzień, o którym trąbią wszyscy już od dłuższego czasu czyli od jakichś 2ch tygodni. Nawet start zimowej olimpiady w Vancouver i co więcej śmierć członka ekipy bobsleistów(ek) gruzińskich jest w stanie tego przyćmić... Tak samo śmierć policjanta zabitego za to, że zwrócił uwagę osiemnastolatkowi..., ofensywa wojsk NATO, piękny świat nas otacza...<br /><br /><span style="font-style: italic;">"...lecz miłości bym nie miał, byłbym jak miedź brzęcząca..."</span> ma tu wielkie znaczenie, ale mimo wszystko przez te wszystkie lata uległo znacznemu wypaczeniu. Idąc z duchem czasu powinno być <span style="font-style: italic;">"...lecz miłość mam, jestem jak miedź brzęcząca..."</span>, bo czy miłością jest ofiarowany jednorazowo w dniu 14.02 prezent? Czy miłość okazuje się jedynie poprzez gesty, przytulanie a w końcu pocałunki i seks? Według mnie nie a kilka osób, które mają na ten temat inne zdanie pewnie też się znajdzie. Media mają na ten temat inne zdanie, ale to ich zdanie i nie ma znaczenia, że to ono niestety jest <span style="font-style: italic;">"dominujące"</span>.<br /><br />Miłość to coś więcej niż prezenty, pociąg seksualny. To przede wszystkim odpowiedzialność. Odpowiedzialność za drugą osobę tak zwanego ukochanego i ukochaną. Tylko, czy ktoś to tak naprawdę rozumie? Przecież wszyscy idą na łatwiznę a hasło "Żegnaj Gienia, świat się zmienia..." staje się coraz bardziej powszechne...<br /><br />Jakiś czas temu złamano mi serce i w sumie to złamano również mnie jako człowieka. Nic już nie jest takie samo i co więcej, ja nie jestem taki jak byłem zanim to się stało. Prawdziwie kocha się niestety tylko raz, ten pierwszy, albo drugi... w każdym razie raz, w którym nie liczy się nic w okół, tylko wybranek, wybranka. W każdym razie najważniejsze jest uczucie... a nie gest.<br /><br />Reszta to rzecz wtórna, często decyzja rozumu a często "lęku" przed samotnością, choćby w <span style="font-style: italic;">"święto zakochanych"</span>. Bo to tak niestety jest, że każdy kolejny związek dźwiga na barkach wszystkie poprzednie. Kolejny raz otwierając oczy na świat, nie mamy już złudzeń, różowych okularów oraz brakuje tej istniejącej za pierwszym razem naiwności, że...<br /><br />"Czujesz się osamotniony. Postaraj się odwiedzić kogoś, kto jest jeszcze bardziej samotny."<br />Karol Wojtyła, Jan Paweł II<br /><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-65461095868322023542010-02-04T20:05:00.004+01:002010-02-04T20:38:34.201+01:00Ja vs JeromeDLWiele rzeczy zdarzyło mi się już mi się w moim krótkim życiu instalować, ale to przerosło moje wszelkie wyobrażenia. Otóż w ostatnim okresie miałem za zadanie zainstalować bibliotekę cyfrową pisaną między innymi na PG JeromeDL. Na stronie projektu znajdują się do pobrania jej różne wersje, które z jakichś nieznanych mi bliżej powodów zostały uznane za stabilne.<br /><br />Kilka nie współpracowało z Javą 1.5 a kilka jedyne co po instalacji i próbie uruchomienia zrobiło, to rzuciło w logach wyjątkiem i zakończyło pracę. Jedyna wersja jaką udało sięuruchomić była usb-stick, ale tu też nie ma co wpadać w euforię ponieważ wersja ta nie działała w sposób poprawny uniemożliwiając np logowanie się w serwisie. Nie muszę dodawać, że bez zalogowania się w serwisie nic nie można zrobić.<br /><br />Na szczęście jeden z byłych developerów JeromeDL udostępnił mi wersję rozwojową, która już umożliwiła zalogowanie się do serwisu. Tutaj też opadłby mi witki, gdy nie można było dodawać plików JPG. Nie muszę mówić, że jest to podstawowa funkcjonalność!. Dołączone aplety javy do importu jpg u mnie się wyświetliły, a u moich kolegów i koleżanek już nie. To, że się wyświetliły to pikuś, ale żadna zaoferowana przez nie funkcjonalność nie zadziałała w sposób poprawny. Na szczęście udało się dodać pliki PDF.<br /><br />Pomijam już fakt, że projekt ten powstaje od x lat i był rozwijany przez wielu programistów, ale... po prostu szkoda słów... Wydaje mi się, że jednak można było to zrobić znacznie szybciej i znacznie lepiej i przede wszystkim nie używając JSP.<br /><br />Jeśli ktoś kiedyś będzie rozważał użycie tego jakimś profesjonalnym rozwiązaniu to szczerze odradzam. Może jak wyjdzie, o ile wyjdzie wersja 3.0 to gra będzie warta świeczki, ale na teraz najzwyczajniej w świecie nie warto się w to pchać.<br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-69358382681352315912010-01-30T09:42:00.003+01:002010-05-05T10:21:01.025+02:00If today was your last day...If today was your last day<br />and tomorrow was too late<br />Could you say goodbye to yesterday?<br /><br />Would you live each moment like your last?<br />Leave old pictures in the past<br />Donate every dime you had?<br />Would you call old friends you never see?<br />Reminisce old memories<br />Would you forgive your enemies?<br />Would you find that one you're dreamin' of?<br />Swear up and down to God above<br />That you finally fall in love<br />If today was your last day...<br />My best friend gave me the best advice<br />He said each day's a gift and not a given right<br />Leave no stone unturned, leave your fears behind<br />And try to take the path less travelled by<br />That first step you take is the longest stride...<br /><br /><div style="text-align: right;">Nickelback - "If today was your last day..."</div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-50493488483638433602010-01-29T11:46:00.004+01:002010-07-04T10:00:48.918+02:00You've gotta live every single day...<pre><span style="font-family: verdana;">You've gotta live every single day,</span><br /><span style="font-family: verdana;">Like it's the only one, what if tomorrow never comes?</span><br /><span style="font-family: verdana;">Don't let it slip away,</span><br /><span style="font-family: verdana;">Could be our only one, you know it's only just begun.</span><br /><span style="font-family: verdana;">Every single day,</span><br /><span style="font-family: verdana;">Maybe our only one, what if tomorrow never comes?</span><br /><span style="font-family: verdana;">Tomorrow never comes...</span><br /></pre><div style="text-align: right;">Nickleback - "You're never gonna be alone"<br /></div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-61670611382389649422010-01-14T11:31:00.008+01:002010-01-21T14:48:13.590+01:00Ja vs QT + Eclipse + MinGWPrzez uczelnię zmuszony zostałem z porzucenia znanego i lubionego przeze mnie Visual C# 2008 Express z Windows.Forms na rzecz Eclipse + QT4 + MinGW. Pomyślałem, hmm: co może być w używaniu tego trudnego? Skoro wszystkie te elementy istnieją na rynku programistycznym już od paru lat... Nic bardziej mylnego. Zaczynajmy...<br /><span style="font-size:130%;"><br /></span><span style="font-weight: bold;font-size:130%;" >Instalacja</span><br />Wydawałoby się, że to najprostsza rzecz, zainstalować edytor, kompilator, SDK a na koniec coś, co zintegruje nam SDK z edytorem. Sama instalacja jest trywialna, gdy już ma się wszystkie dostępne elementy, ale ich znalezienie. O ile Eclipse, QT-Framework. QT-Eclipse-Integrator dostępne są wprost o tyle MinGW4.4.0 to inna para kaloszy. Na szczęście TrollTech udostępnił właściwą wersję MinGW na swoim serwerze FTP. Szkoda tylko, że nie dorzucili tego adresu do miejsca pobierania samego Frameworka.<br /><br /><span style="font-size:130%;">Użyteczne adresy</span><br /><ul><li><a href="http://qt.nokia.com/downloads"><span style="font-size:100%;">http://qt.nokia.com/downloads</span></a></li><li><a href="ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip">ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip</a></li><li><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a><br /></li></ul><br /><span style="font-weight: bold;font-size:130%;" >Pierwszy projekt</span><br />Po zainstalowaniu wszystkiego, Eclipse się uruchomił, wybrałem katalog przestrzeni roboczej i przystąpiłem do pracy. Nowy projekt -> QT Gui, podałem nazwę i wygenerowało mi podstawę, którą później miałem rozwijać. No właśnie. W QT wszystko robi się inaczej niż w .NET. Eclipse udało mi się jeszcze jakoś okiełznać, ale... Otóż QT-Designer zintegrowany z Eclipse pozostawił nieco do życzenia. Otóż to, co znałem z VS2005/2008, że klikamy na obiekt dwukrotnie i generowane jest zdarzenie onclick() tutaj po prostu nie istnieje. Co więcej, edycja "Sygnałów" nie umożliwia wybrania własnej metody obsługi zdarzenia. Okazuje się, że w QT takie rzeczy trzeba napisać ręcznie.<br /><br />W klasie głównej mojego projektu (plik [projekt]<projekt>.h) zmuszony byłem dodać<blockquote>class [projekt]{<br />...<br />public slots:<br /> void on_<nazwa_elementu>[element]_[sygnał]<zdarzenie>();<br />...<br />}<br /></zdarzenie></nazwa_elementu></blockquote>Implementację natomiast umieściłem w pliku <projekt>[projekt].cpp<br /><blockquote>...<br />void [projekt]<projekt>::on_<nazwa_elementu>[element]_<zdarzenie>[sygnał]()<br />{<br /> // do Something<br />}<br />...<br /></zdarzenie></nazwa_elementu></projekt></blockquote>Jeśli myślicie, że reszta poszła już z marszu to, jesteście w błędzie... ale to wynikało raczej z mojej awersji do języka C++, który do najwygodniejszych języków niestety nie należy. Konstrukcja cos.cos()->cos().cos to jednak nie jest to, co tygryski lubią najbardziej.<br /><br /><br /><span style="font-weight: bold;font-size:130%;" >Wnioski</span><br />QT, to bardzo złożony ale jednocześnie dobrze przemyślany framework, który z wersji na wersję staje się prostszy w wykorzystywaniu. Problemem są narzędzia, które mogłyby jednak nieco tę współpracę ułatwiać. Może kiedyś dotrą do poziomu jaki osiągnął MS tworząc VS2005/2008 a kiedy to się stanie to na pewno będzie częściej wybierane jako środowisko wytwarzania aplikacji.</projekt></projekt>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-34395071614233217842010-01-03T12:02:00.007+01:002010-02-13T11:38:55.879+01:00Hapi niu jer! oł je...Nowy rok, nadszedł. To dobry czas na podsumowanie, bo w końcu co jakiś czas trzeba dokonać rachunku zysków i co ważniejsze, strat jakie ponieśliśmy.<br /><br />Z mojej perspektywy poprzedni rok, był jednym z gorszych może zatem kolejny okaże się łaskawszy choć nic na to nie wskazuje, aby taki właśnie miał być. Poprzedni rok upłynął mi na powolnym powstawaniu ze zgliszczy jakie zostawiła po sobie osoba, którą kochałem. Blizny, które zostały po zadanych ranach pozostaną na długo i niestety za szybko szans wygoić się nie mają. Dlaczego? Bo pomimo upływu czasu nadal nie potrafię usunąć markerów, które powodują, że staje mi jej obraz przed oczyma. Nawet w snach nie mam spokoju. Może to kiedyś zaniknie... Cierpkie to piwo, które mi nawarzono..., ale cóż trzeba je wypić.<br /><br />Przyszły rok, będzie rokiem podejmowania ważnych decyzji. Jako, że mam jeszcze czas, muszę zdecydować, co i przede wszystkim gdzie chciałbym robić. Możliwości wiele, to i wybór niełatwy... no cóż.<br /><br />Jak to mówią: "Pożyjemy Zobaczymy"<span style="font-style: italic;"></span><br /><br />Rafał Prasał.R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-60986261948416306852009-12-21T16:10:00.007+01:002010-05-19T12:00:26.053+02:00.NET/ GPS/ SerialPort i takie tamW dzisiejszych czasach wielu z nas posiada w swoich zasobach sprzętowych GPS'a. Czy to na USB, czy BlueTooth czy też w końcu port szeregowy. Wydawałoby się, że jest to urządzenie tak magiczne, że tylko niektórym uda się je poprawnie obsłużyć. Okazuje się jednak, że w rzeczywistości, nie jest to jakieś specjalnie trudne. GPS, jest widoczny w systemie jako port szeregowy, który inicjujemy następującymi parametrami<br /><ul><li>prędkość: 9600 baud</li><li>parzystość: 1 bit </li><li>dane: 8 bitów</li></ul>W .NET można to swobodnie zrobić przy pomocy obiektu SerialPort. Jako, że komunikaty GPS(NMEA) przychodzą do nas w liniach bardzo pomocna będzie metoda ReadLine(). Komunikaty przychodzą w sposób ciągły, więc funkcję odczytującą je należałoby zamknąć w innym wątku.<br /><br />Tu właśnie zaczynają się schody, gdyż<br /><ul><li>Do odpalania metod obiektów operujących w innym wątku służy Invoke().</li></ul><blockquote>Najzwyczajniej w świecie musimy do obiektu wątku przekazać jako parametr obiekt, który będzie aktualizował dane na ekranie.</blockquote><ul><li>Obiekt SerialPort potrafi rzucić wyjątkiem podczas próby odczytu, w trakcie zamykania z innego wątku. Jest to ten rodzaj wyjątku, którego nie da się w sposób łatwy przechwycić.<br /></li></ul><blockquote>Aby pozbyć tego niemiłego akcentu należy wykonać kombinację alpejską i umieścić odczyt danych z portu szeregowego w bloku finally, gdzie musimy przechwytywać wyjątek pochodzący właśnie z SerialPort.</blockquote><br />I tym oto sposobem po kilku godzinkach przeglądania stron i przeszukiwania internetu udało mi się popełnić prostą aplikację, która wskazuje na GoogleMaps, gdzie się aktualnie znajdujemy.<br /><br />Zapraszam do pobrania i lektury <a href="http://piorun.ds.pg.gda.pl/%7Erav/projects/GPS.zip"></a><a href="http://rav.radiosar.pl/%7Erav/projects/GPS.zip">kodu aplikacji</a><br /><br /><span style="font-style: italic; color: rgb(255, 0, 0);">Zastrzegam, że nie ponoszę żadnej odpowiedzialności za straty powstałe w wyniku wykorzystania stworznej przeze mnie aplikacji . Taki Lajf :></span><br /><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-21355673134764711682009-12-20T11:01:00.012+01:002009-12-20T13:49:24.807+01:00Świąteczne życzeniaZ uwagi na nadchodzące <span style="font-weight: bold;">Święta Bożego Narodzenia</span> chciałbym, życzyć wszystkim wszystkiego po trochu, a może i w nieco większych ilościach ;). zdrowia, szczęścia, miłości, prezentów pod choinką, spełnienia marzeń, tych małych i dalekich jak i tych wielkich i tak bliskich.<br /><br />Jednym słowem: Wszystkiego, wszystkiego NAJ.<br /><br />Rafał Prasał.<br /><br />A oto dekoracja jaką udało mi się sklecić ze współlokatorem.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGJVxENzbP_l7PY0IMxct7S_Qq5qMADNGVo7sAwR3pLy0G36EgFpaP48VKAcLeqi13911STFKNZkUtGcAnzUaPqjwccLT4t-kW6Sz2tCySMa3IWYrJHTBOLWniKZfeldePmEuKbou-dw8/s1600-h/choinka-prezent.jpeg"><img style="cursor: pointer; width: 160px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGJVxENzbP_l7PY0IMxct7S_Qq5qMADNGVo7sAwR3pLy0G36EgFpaP48VKAcLeqi13911STFKNZkUtGcAnzUaPqjwccLT4t-kW6Sz2tCySMa3IWYrJHTBOLWniKZfeldePmEuKbou-dw8/s200/choinka-prezent.jpeg" alt="" id="BLOGGER_PHOTO_ID_5417265691819783234" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5XGxonsFEAWh_dK2otGrIgoW_A8h62WzyBWEKl64Ts1GrRPOo9n8QXXtDUKobV75QXZPGHFROiWhmvwnyvQzQNcHXfz9EtE8ThbaCxc3NTQ3AT9EX5mqLC0bUoUtMk8e3MOmfkWUvwb8/s1600-h/drzwi-choinka.jpeg"><img style="cursor: pointer; width: 150px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5XGxonsFEAWh_dK2otGrIgoW_A8h62WzyBWEKl64Ts1GrRPOo9n8QXXtDUKobV75QXZPGHFROiWhmvwnyvQzQNcHXfz9EtE8ThbaCxc3NTQ3AT9EX5mqLC0bUoUtMk8e3MOmfkWUvwb8/s200/drzwi-choinka.jpeg" alt="" id="BLOGGER_PHOTO_ID_5417265353058485090" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTwyUBKG3e_0uecPUY5nTX3d7VEvCnMYRWlY7GD0VEYy8pILwao5kPZBso2Hxe58K3S5h-8l9dswiubbcTxdub8E-adxNBBBhjEDaOZi1OEWIsHpYg2OvE07rYggY15bUirklQaSLs1jo/s1600-h/okno.jpeg"><img style="cursor: pointer; width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTwyUBKG3e_0uecPUY5nTX3d7VEvCnMYRWlY7GD0VEYy8pILwao5kPZBso2Hxe58K3S5h-8l9dswiubbcTxdub8E-adxNBBBhjEDaOZi1OEWIsHpYg2OvE07rYggY15bUirklQaSLs1jo/s200/okno.jpeg" alt="" id="BLOGGER_PHOTO_ID_5417265201563782226" border="0" /></a>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-63617557674705703932009-10-20T22:53:00.007+02:002009-10-21T11:48:32.042+02:00libpam-mysql i joomla 1.5W życiu każdego z nas, zarządcy serwera, pojawiają się czasem takie chwile, kiedy to co oferuje nam oprogramowanie już wytworzone przez kogoś, po prostu nie wystarcza. W dzisiejszym odcinku na warsztat poszło <span style="font-weight: bold;">libpam-mysql</span>, gdzie niestety zabrakło mi funkcjonalności umożliwiającej zintegrowanie haseł użytkowników z <span style="font-weight: bold;">joomla 1.5</span>. Rozwiązanie okazało się o tyle proste, że hasła są hashowane przy pomocy md5 z saltem, który to znajduje się wraz z hashem hasła w kolumnie <span style="font-weight: bold;">jos_users.password</span> jako "<span style="font-weight: bold;">passwd_md5:salt</span>". Innymi słowy wystarczyło obliczyć <span style="font-weight: bold;">md5(passwd+salt)</span> i porównać to z <span style="font-weight: bold;">passwd_md5</span>. Nie było to jednak tak trywialne jak mogłoby się wydawać, ale udało się. Odpowiedni patch zgodny z <span style="font-weight: bold;">libpam-mysql-0.7RC1</span> został przeze mnie zgłoszony i znajduje się <a href="http://sourceforge.net/tracker/?func=detail&aid=2882685&group_id=5741&atid=305741">tutaj</a>. Aby skorzystać z tego mechanizmu należy ustawić <span style="font-weight: bold;">crypt=5</span>.<br /><br /><span style="font-style: italic; color: rgb(255, 0, 0);">Zastrzegam, że nie ponoszę żadnej odpowiedzialności za straty powstałe w wyniku wykorzystania stworzonej przeze mnie poprawki. Taki Lajf :></span><br /><br />Rafał PrasałR@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.comtag:blogger.com,1999:blog-8501760890661196551.post-18493083543595716602009-08-24T18:21:00.002+02:002009-08-24T18:24:50.351+02:00Od czasu do czasuFrom time to time<br />Minutes and hours<br />Some move ahead<br />While some lag behind<br />Like the baloon that rise<br />And then vanish<br />This drop of hope<br />That falls from his eye<br /><br /><div style="text-align: right;">Dave Matthews Band<br />Spoon<br /></div>R@Vhttp://www.blogger.com/profile/10453826255476593191noreply@blogger.com