poniedziałek, 8 października 2012

MacBook Air OSX Jumpstart

Trochę czasu minęło od zakupu do napisania tego posta, za to zdążyłem zweryfikować moje stanowisko i dzisiejszy wpis nie podlega już pod hype nowości.

Przez wiele lat pracowałem na wysłużonym HP 6280s, DTR 17". Już przy zakupie nie był to demon prędkości, parametrami lekko odstawał ale za to miałem 17" jako drugi monitor. Wtedy wydawało mi się to super pomysłem aby mieć dodatkowy jak największy ekran. Po niespełna kilku miesiącach udało mi się zupgrejdować dysk 5400RPM i 2GB ram do dysku 7200RPM i 4GB ram. Nareszczie maszyna nabrała skrzydeł, jak na laptopa w 2008r miała całkiem niezłe parametry. Niestety wracając do wagi to pierwotny zamysł że będę miał komputer przenośny upadł, przy 3kg wagi tylko kilka razy chciało mi się to taskać spowrotem do domu, kilka razy byłem z nim na wyjeździe na różnych konferencjach. Co do moblności w biurze to też kiepsko bo DTR był przywiązany do biurka masą różnych kabelków: mysz usb, klawiatura usb, ethernet, vga, zasilacz, słuchawki - każdorazowe podłączanie skutecznie niwelowało chęci aby go gdzieś zabrać. Ok 2010r doczekałem się lekkiego upgrejdu, dostałem dysk SSD 40GB, maszyna znowu odżyła. Wtedy też powoli zaczynały pojawiać się Macbooki AIR z możliwością upgrejdu ramu do 4GB, ten setup wzbudził moje zainteresowanie.

Na początku 2012 nareszcie otrzemałem mój dream setup - Macbook Air z 4GB ram, SSD128 i Core i5. Tu historia się rozpoczyna: pierwszy pomysł miał polegać na tym że jak OSX nie przypadnie mi do gustu zainstaluje tu ubunciaka. Naszczęście tak sie nie stało. Tu jeszcze nawiąże do sterty akcesoriów którą kiedyś podłączałęm, klawiatura Logitech UltraX przestała być potrzebna bo domyślna klawiatura jest równie dobra, mysz Logitech też poszła w odstawkę, gładzik apple jest rewelacyjny, w niczym to nie przypomina krnąbrnych małych płytek z della, hp czy innych "markowych" sprzętów. Jedyne czego mi brakuje to bezprzewodowe słuchawki i monitor bezprzewodowy, ale może kiedyś... Co do samego softu to jako wierny fan Ubuntu ciężko było mi się odnaleźć w świecie OSX, sporo pomógł mi poniższy tutorial:

https://gist.github.com/1110217

Homebrew - czyli manager pakietów jako alternatywa do systemu portsów jest rewelacyjny, nie zastąpi co prawda apt-get ale chociaż w niewielkim stopniu potrafi umilić codzienne życie byłym userom linuksów.

TunnelBlick czyli manager do polaczeń VPN zapewni nam łączność, próbowałem walczyć z jakimś skryptem shellowym który by to robił ala /etc/init.d/openvpn ale sromotnie poległem. Na osx część rzeczy musi mieć ładny interfejs i nie ma co z tym walczyć.

Czy OSX daje rade jako środowisko do developmentu ? Raczej tak, ale OSX nigdy nie zastąpi mi ubuntu, ciągle je posidam w wersji server zamknięte w virtualboxie - niestety soft który piszę nie jest standardowy, wymaga masy libów debianowych których próżno szukać w osx, nawet z homebrew.

poniedziałek, 30 kwietnia 2012

eDeklaracje PIT, drukowanie PDF w CUPS

na początku chciałbym pochwalić Ministerstwo Finansów za stworzenie naprawde fajnego oprogramowania na wszystkie platformy. Rok temu rozliczałem pity na Ubuntu Linuxie, w tym roku na OSX i dzięki Adobe AIR wszędzie wygląda to tak samo. Co do sposobu weryfikacji danej osoby to podanie kwoty z zeszłorocznej deklaracji na tyle uprościło proces że przeciętny Kowalski czy Wróblewski jest w stanie sam to wysłać bez ponoszenia dodatkowych nakładów finansowych. W porównianiu do potworka zwanego Płatnik gdzie trzeba podpisywac się kluczem prywatnym na karcie, działającego tylko pod Windowsem z tajnym protokołem transmisji gdzie Prokom ma prawo pozywać każdego kto z tego protokołu chce skorzystać Ministerstwo Finansów dostarczyło nową jakość, gdzie z radością patrze na co moje podatki zostały wydane. Tu jednak nie wszystko w tym roku poszło OK, na początek mój PIT po wysłaniu zostawał odrzucany z powodu błędu 414. Szybki skok na strony MF i mam wyjaśnienie:
Popełniłeś błąd w danych identyfikacyjnych przenoszonych do sekcji danych autoryzujących w zeznaniu W danych autoryzujących wpisałeś błędną kwotę przychodu z zeznania lub rocznego obliczenia podatku za rok podatkowy o dwa lata wcześniejszy niż rok, w którym jest składany dokument elektroniczny
Po 10 próbach odpusciłem sobie, trzeba to wydrukować i udać się na pocztę lub do US. Wszystko fajnie tylko nie mam drukarki..., ale jak zapisze w PDF to będe mógł to wydrukować wszędzie. Niestety próżno szukać takiej opcji w tym programie. Następnie chciałem korzystając z drukarki CUPS-PDF wydrukować go do PDF. Przynajmniej tak mi sie wydawało bo Formularz PDF jest zabezpieczony przed zapisywaniem go do PDF, pytam sie po co ? Analizująć logi cups pdf natrafiłem na taki fragment:
Mon Apr 30 13:07:17 2012 [DEBUG] output filename created (/var/spool/cups-pdf/lowang/job_8-PIT-37_17__v1-0E_pdf.pdf) Mon Apr 30 13:07:17 2012 [DEBUG] ghostscript commandline built (/usr/bin/pstopdf -o /var/spool/cups-pdf/lowang/job_8-PIT-37_17__v1-0E_pdf.pdf /var/spool/cups-pdf/SPOOL/cups2pdf-59950) Mon Apr 30 13:07:17 2012 [DEBUG] output file unlinked (/var/spool/cups-pdf/lowang/job_8-PIT-37_17__v1-0E_pdf.pdf) Mon Apr 30 13:07:17 2012 [DEBUG] TMPDIR set for GhostScript (/tmp) Mon Apr 30 13:07:17 2012 [DEBUG] entering child process Mon Apr 30 13:07:17 2012 [DEBUG] GID set for current user Mon Apr 30 13:07:17 2012 [DEBUG] UID set for current user (lowang) Mon Apr 30 13:07:17 2012 [DEBUG] ghostscript has finished (59392) Mon Apr 30 13:07:17 2012 [DEBUG] no postprocessing Mon Apr 30 13:07:17 2012 [DEBUG] waiting for child to exit Mon Apr 30 13:07:17 2012 [DEBUG] spoolfile unlinked (/var/spool/cups-pdf/SPOOL/cups2pdf-59950)
Gdybym miał plik cups2pdf-59950 to mógłbym sprawdzić co się stało przy konwersji, tu w drugiej zakładce terminala uruchomiłem while true; do cp ... i za chwile miałem plik PostScriptu. próba uruchomienia konwersji pokazała błąd:
This PostScript file was created from an encrypted PDF file. Redistilling encrypted PDF is not permitted.
Szybkie sprawdzenie na necie i okazuje się że te pliki PostScript mają deklaracje która to powoduje wyglądającą tak:
%ADOBeginClientInjection: DocumentSetup Start "No Re-Distill" %% Removing the following eleven lines is illegal, subject to the Digital Copyright Act of 1998. mark currentfile eexec 54dc5232e897cbaaa7584b7da7c23a6c59e7451851159cdbf40334cc2600 30036a856fabb196b3ddab71514d79106c969797b119ae4379c5ac9b7318 33471fc81a8e4b87bac59f7003cddaebea2a741c4e80818b4b136660994b 18a85d6b60e3c6b57cc0815fe834bc82704ac2caf0b6e228ce1b2218c8c7 67e87aef6db14cd38dda844c855b4e9c46d510cab8fdaa521d67cbb83ee1 af966cc79653b9aca2a5f91f908bbd3f06ecc0c940097ec77e210e6184dc 2f5777aacfc6907d43f1edb490a2a89c9af5b90ff126c0c3c5da9ae99f59 d47040be1c0336205bf3c6169b1b01cd78f922ec384cd0fcab955c0c20de 000000000000000000000000000000000000000000000000000000000000 cleartomark %ADOEndClientInjection: DocumentSetup Start "No Re-Distill"
Przynajmniej napisali odrazu co zrobić ;-) po wycięciu tego badziewia ps2pdf zadziałał bez zarzutu.

środa, 29 lutego 2012

Text 2 AsciiArt

Kazdy nowy projekt który wystawia coś po http opisujemy stroną startową z informacjami co to jest i co mozna z tym zrobic.
Aby fajnie wygladalo na takiej stronie zamieszczamy tytul projektu wygenerowany w ascii-art,
dla takich potrzeb znalazłem fajny generator ascii art z podanego tekstu: http://patorjk.com/software/taag/

wynik:

                                                                          
___ ___
,--.'|_ ,--.'|_ ,---,
| | :,' | | :,' __ ,-.,---.'|
.--.--. : : ' : : : ' : .--.--. ,' ,'/ /|| | :
/ / '.;__,' / ,--.--. .;__,' / / / ' ' | |' |: : :
| : /`./| | | / \ | | | | : /`./ | | ,': |,-.
| : ;_ :__,'| : .--. .-. |:__,'| : | : ;_ ' : / | : ' |
\ \ `. ' : |__ \__\/: . . ' : |__ \ \ `. | | ' | | / :
`----. \| | '.'| ," .--.; | | | '.'| `----. \; : | ' : |: |
/ /`--' /; : ;/ / ,. | ; : ;/ /`--' /| , ; | | '/ :
'--'. / | , /; : .' \ | , /'--'. / ---' | : |
`--'---' ---`-' | , .-./ ---`-' `--'---' / \ /
`--`---' `-'----'
(Font Name: 3D Diagonal)

poniedziałek, 23 stycznia 2012

OSX Lion, apache bench "Connection reset by peer"

Obecnie testuje różne kontenery http na jruby, oprócz uruchomienia i testu z przegladarki zależy mi na określeniu jaka będzie strata/zysk przy konwersji MRI->JRUBY. Naturalnym dla mnie narzędziem do takich testów jest ab z pakietu apache utils.

Jakie było moje zdziwienie kiedy zamiast czasu otrzymałem błąd:

$ ab.old -n100 -c40 http://localhost:3000/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)...Send request failed!
Send request failed!
Send request failed!
apr_socket_recv: Connection reset by peer (54)
Total of 3 requests completed


pół dnia spędziłem, zmieniając serwery, zmieniłem również implementacje javy na openjdk, wszystko na nic, aby pod koniec dnia natrafić na odpowiedz na superuser. Czemu wcześniej na to nie trafiłem? A kto by podejrzewał ab...

Okazało się że ab dostarczany z osx ma ten błąd i należy przekompliować ab z źródeł. no comment

UPDATE: po kompilacji dostłem nowy błąd "bind: address family not supported by protocol family 47", tu znowu wkracza osx ktory za localhost podstawia adres IPv6. Rozwiązanie polegało na usunięciu wpisów ipv6 z /etc/hosts powiązanych z localhostem