Problem z instalacją TeX live z macportów pod Leopardem

October 19th, 2008

Instalowanie Octave z macportów pod Leopardem przypomniało mi dawne czasy linuksowych walk z nierozwiązanymi zależnościami i brakującymi bibliotekami. Wszystko za sprawą zależności między GNU Plot,  a TeX live i zaskakującą polityką Apple w hierarchii bibliotek systemowych. Walczyłem z tym z przerwami kilka dni. Z racji, że osiągnąłem zadowalający wynik, dla potomności opiszę go tutaj :)

Problemy zaczęły się niedługo po wywołaniu komendy:

sudo port install octave

i objawiły się takim błędem:

i686-apple-darwin9-gcc-4.0.1: 1/lib: No such file or directory

w czasie instalowania pakietu texlive_base-2007. Winę za to częściowo ponosi katalogi zapasowe:

/usr/X11R6 1

/usr/lib/ruby 1

utworzone (prawdopodobnie) przez instalator XCode 3. Z racji, że jest to kopia zapasowa polecenia:

sudo mv /usr/X11R6\ 1 /usr/X11R61

sudo mv /usr/lib/ruby\ 1 /usr/lib/ruby1

załatwia sprawę i nie powoduje żadnych problemów w funkcjonowaniu systemu. Po wyczyszczeniu katalogu, w którym kompilowany jest pakiet:

cd /opt/local/var/macports/sources/rsync.macports.org/ →

release/ports/tex/texlive_base/

port clean

instalacja powinna ruszyć dalej. Ale niestety tak nie jest. Otrzymałem błąd:

i686-apple-darwin9-gcc-4.0.1: 1: No such file or directory

Po kilku głośnych okrzykach niezadowolenia ;) znalazłem źródło problemu w poleceniu:

/usr/bin/gcc-4.0 -o xdvi-xaw.bin browser.o dvi-draw.o dvi-init.o dvisel.o encodings.o events.o filehist.o font-open.o gf.o hypertex.o image-magick.o mime.o my-snprintf.o my-vsnprintf.o pagehist.o pk.o print-internal.o psdps.o psgs.o psheader.o psnews.o read-mapfile.o search-internal.o special.o string-utils.o tfmload.o util.o vf.o xdvi.o xserver-info.o x_util.o 1 -L/opt/local/lib ./gui/libgui.a ../../libs/t1lib/libt1.a ../../libs/t1lib/../type1/libtype1.a -L/usr/lib/ruby -L/usr/X11/lib -lXaw -lXmu -lXt -lSM -lICE -lXp -lXext -lXpm -lX11 -lXau -lXdmcp -liconv ../kpathsea/.libs/libkpathsea.a -lm

Skąd się tam bierze ta jedynka do tej pory nie mam pojęcia. Na szczęście przejście do katalogu “/opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_tex_texlive_base /work/texlive_base-2007/texk/xdvik” i wywołanie tam powyższego polecenia bez problematycznej ‘1′ rozwiązuje problem i od tej chwili instalacja przebiegała już bez przeszkód.

W rozwiązaniu tego problemu opierałem się na wątku z listy dyskusyjnej macosforge.

Share/Save

Błąd funkcji hide() w jQuery pod Safari

August 29th, 2008

Wywołanie metody hide() z biblioteki jQuery w callbacku dla zdarzenia ready pod Safari w pewnych sytuacjach wywołuje załamywanie się układu strony. Jak widać, menu oparte o znaczniki div z atrybutami float: left układają się pod Safari inaczej niż w pozostałych przeglądarkach, jeśli div#test ukryty jest za pomocą kodu:

$(’#test’).hide();

Gdy dany znacznik ukrywany jest za pomocą atrybutu css:

#test {display:none;}

całość renderuje się poprawnie.

W Tracu jQuery znajduje się otwarty ticket opisujący podobny problem. Nie jestem jednak w stanie ustalić, czy źródło problemu w obu przypadkach jest takie samo.

Share/Save

Co z tym Qtrax?

June 1st, 2008

Jak ekipa Qtrax wywiązała się z obietnicy wydania klienta na Mac OS X? Wstrzymała beta testowanie w ogóle. Wygląda na to, że już sami użytkownicy windows okazali się być problemem, bo wydajność serwisu ponoć pogarszała się z dnia na dzień. Cóż, czekamy, z coraz mniejsza nadzieją, niestety.

Share/Save

Kiedy nie ma wolnych obrotów …

June 1st, 2008

Motocykl Kawasaki GT 550G. Odpala tylko na ssaniu, na podwyższonych obrotach pracuje i na ssaniu i bez niego, wolne obroty tylko ze ssaniem. Podciśnienia na każdym z gaźników równe, dysze powietrza wkręcone na książkowe dwa obroty.

Źródłem problemów w moim przypadku były zanieczyszczone (a wydawało mi się, że wkładam dokładnie wyczyszczone) dysze biegu jałowego wraz z uszkodzonym zabezpieczeniem na cięgle ssania, które w czasie pracy silnika falowało losowo otwierając okienk a w gaźnikach.

Rozwiązanie jest proste: powtórne czyszczenie gaźników, obowiązkowo sprężarką, oraz sprawdzenie zabezpieczeń na cięgle ssania. Jeśli trafiasz tu szukając rozwiązania na podobny problem, mam nadzieję, że informacje te okażą się pomocne.

Share/Save

Szablon pracy dyplomowej w LaTeXu

May 29th, 2008

W jednym z poprzednich postów obiecałem zamieścić szablon pracy dyplomowej na podstawie moich wypocin. W tej chwili wywiązuję się z niej zamieszczając go tutaj dla użytku publicznego. A rozumiem tu przez to dowolne wykorzystanie, modyfikację i rozprzestrzenianie mojej pracy, zgodnie z licencją MIT.

Moja praca opiera się na szablonie dr Radosława Mantiuka oraz pewnym udostępnionym w sieci szablonie, którego lokalizacji nie mogę sobie niestety przypomnieć.

Dołożyłem starań, by szablon był możliwie dobrze opisany komentarzami, w miarę możliwości mogę służyć pomocą w jego adaptacji. Jeśli znajdziesz dla niego wykorzystanie, będzie mi miło, jeśli napiszesz o tym w komentarzu do tego posta.

Miłego pisania pracy ;)

Share/Save

Migracja Wordpress z Fantastico do samodzielnego skryptu

May 4th, 2008

Wczorajszego wieczora stwierdziłem, że warto odświeżyć silnik bloga. Otworzyłem więc stronę Fantastico, z którego to systemu instalowałem Wordpressa, i kliknąłem link aktualizacyjny. Choć stwierdził że mu się udało, to blog nadal był w wersji 2.3.1 (tak, wiem, stary). Trzeba więc podziękować systemowi Fantastico i postawić silnik bloga samodzielnie. Prostego i bezpośredniego przepisu na zrobienie tego nie znalazłem, ale z różnych artykułów o podobnej tematyce kilka wniosków wyciągnąłem i oto jak udało mi się to zrobić:

  1. Zrobiłem backup plików i bazy danych (w myśl zasady: “Jezus saves … and makes incremental backup too”).
  2. Na serwerze namierzyłem katalog .fantasticodata/WordPress/ a w nim plik bytes.piotr.adamscy.net|. Po usunięciu wspomnianego wyżej pliku Fantastico więcej nie przyzna się, że to on instalował bloga.
  3. Dalsze kroki to już standardowa procedura upgrade’u opisana na stronie WordPressa.

Kiedy zrobiłem to co opisane powyżej, blog dumnie oznajmił mi, że jest teraz w wersji 2.5.1. Idąc za ciosem stwierdziłem że to dla mnie mało. Przeniosę go jeszcze między katalogami na serwerze. Bo aktualna struktura katalogów przestała mi odpowiadać. Bo domena pod którą jest umieszczona jest za długa, a i czytelników, których zmiana taka mogłaby dotknąć, niewielu. Oto więc jak to zrobiłem:

  1. Kolejny backup plików i bazy.
  2. Stworzenie nowej bazy danych dla bloga w nowej lokacji.
  3. Wgranie w nowej lokacji silnika WordPress i wyklikanie nowej konfiguracji poprzez skrypt instalacyjny.
  4. W panelu administracyjnym: Manage -> Export. Eksport contentu można w tym miejscu zawężać do jednego użytkownika. Klikam Download File i wyeksportowana zawartość bloga ląduje na dysku lokalnym mojego komputera.
  5. Jak pewnie można się domyślić, teraz w nowym blogu importuję posty z tego pliku. W panelu administracyjnym: Manage -> Import. Z dostępnych opcji podaję Wordpress i ładuję plik pobrany ze starego bloga. W międzyczasie trzeba podjąć decyzję, czy importowane posty mają należeć do jednego z istniejących już w systemie użytkowników, czy też utworzyć wszystkich wg danych w pliku z importem. Wybieram tą drugą opcję, mniej inwazyjną moim zdaniem opcję. Po kliknięciu Upload and Import wszystkie posty i komentarze znajdą się w bazie danych bloga i już mogą być oglądane przez czytelników.
  6. Jeśli import odbył się z dodawaniem nowych użytkowników, należy nowo utworzonym użytkownikom nadać hasła, by mogli się zalogować. Robię to na stronie Users w panelu administracyjnym WordPress.
  7. Kopiuję między starym i nowym katalogiem wp-content niestandardowe pluginy, skórki u katalog upload.
  8. Cieszę się udaną migracją ;)

Może rzeczy opisane tu są dość oczywiste, ale spisuję je z myślą o kimś, kto jak ja dziś będzie potrzebował prostego opisu jak ukraść Wordpressa z Fantastico.

Niniejszym też zaznaczam, że oficjalny URL do mojego bloga to http://piotr.adamscy.net/blog/ . Stary adres też pozostanie w mocy i redirectować będzie czytelników na ten wyżej wspomniany.

Share/Save

TeX i Mac OS X

April 13th, 2008

Co robię teraz poza pisaniem niniejszego posta? Gładzę ręką po okładkach trzy egzemplarze mojej pracy dyplomowej. Pomijając całą krwawicę, mnogość problemów i wyrzeczeń, cholernie miłe uczucie. Jak tytuł pewnie sugeruje, nie będę tu rozwodził się nad pracą samą w sobie. W zamian opowiem o narzędziu, według niektórych dość archaicznym, ale faktycznie szalenie użytecznym. Czym jest TeX to temat na osobny post. Jeśli potrzebujesz więcej informacji, wejdź na stronę Wikipedii na temat TeXu, oraz jego rozszerzeniu, LaTeXu.  

Dlaczego warto pisać w TeXu? Nie musisz przejmować się numeracją i odnośnikami w żadnym ze spisów, bez względu na to czy to spis treści, obrazków, listingów czy bibliografia. Nie ma mowy o jakimkolwiek “rozjeżdżaniu się” układu pracy. TeX sam zadba o to, żeby podzielić słowa na sylaby, żeby każda linia tekstu wyglądała możliwie najlepiej. Miejsce po przeniesionym na następną stronę obrazku sam wypełni tekstem w dalszym ciągu dbając o jak najlepszy wygląd każdej strony. Pisząc w Wordzie czy innym edytorze tekstu, co odpowiedziałbyś na prośbę zamiany miejscami dwóch podrozdziałów? Pewnie, że pociągnie to za sobą dużo pracy i poprawiania. Natomiast w TeXu, przy zachowaniu odpowiedniej struktury dokumentu, sprowadza się to do zamiany miejscami dwóch linii kodu. Można za pomocą make automatyzować i profilować tworzenie dokumentów. Korzystasz z któregoś z systemów kontroli wersji? Pliki źródłowe TeXa są plikami tekstowymi, wiec są bardzo wygodne w zarządzaniu i wersjonowaniu. Mało? Wydaje mi się, że wręcz przeciwnie, ale jeśli chcesz wiedzieć jeszcze więcej, zapoznaj się ze stroną Cambridge University o LaTeXu.

Czym płacimy w zamian? Na pewno fakt, iż nie można obserwować na bieżąco wyglądu wynikowego dokumentu. Każda zmiana wymaga jego przebudowania. Ale uciążliwe jest to tylko w czasie tworzenia szablonu. Naprawdę. Potem już tylko piszesz, bo jesteś pewien, że dokument wygląda dobrze ;) Problemem może też konieczność używania poleceń służących formatowaniu tekstu. To trzeba po prostu lubić albo przyzwyczaić się do tego.

Czego potrzebujemy? Konieczna jest dystrybucja TeX i edytor tekstu. Ja korzystałem z vima i TexShopa, ale może być to nawet TextEdit. Jeśli zaś chodzi o dystrybucję, polecam MacTeXa, którego można pobrać ze strony TeX User Group. Choć waży sporo, to instaluje się łatwo i przyjemnie. Razem z dystrybucją instalowanych jest również kilka przydatnych aplikacji (w tym wspomniany wcześniej TeXShop). Zainstalowane? W sumie można już pisać, ale jeśli tak jak ja korzystasz z Terminala, dodaj /usr/texbin do zmiennej środowiskowej PATH.

Szablon pracy dyplomowej obiecuję zamieścić jak tylko odpocznę sobie od pisania i minie cała zawierucha ze składaniem i bronieniem pracy, natomiast wspomnę o dwóch ważnych rzeczach jeśli chodzi o TeXShopa. Po pierwsze warto dla plików dołączanych do dokumentu ustawić wskazanie na główny plik (File -> Set project root…). Dzięki temu można budować dokument z każdego pliku projektu za pomocą skrótu jabłko+T. Po drugie kliknięcie w jakieś miejsce w kodzie z przytrzymanym klawiszem jabłka spowoduje zbudowanie dokumentu, w którym tekst wygenerowany za pomocą klikniętego kodu zakreślony zostanie czerwonym kółkiem. Wbrew pozorom bardzo przydatny feature. Pozostaje mi tylko życzyć udanego pisania ;) 

Share/Save

Qtrax na makówki

March 19th, 2008

Głośny swego czasu program do słuchania legalnej muzyki dystrybuowanej za pomocą P2P, Qtrax, miał mieć premierę wersji na Mac OS X w ten wtorek (tj. 18.03.2008). Nie powiem, choć czekałem na niego cierpliwie, w dniu releasu co kilkanaście minut sprawdzałem stronę projektu, czy może ta chwila nie nastąpiła właśnie teraz. Rozczarowałem się faktem, że premiera została przesunięta o dwa miesiące. Jednak najbardziej zdenerwował mnie nie sam fakt opóźnienia, które jest dość normalnym zjawiskiem. Ciśnienie podniosło mi się, kiedy połapałem się, że w gdzieś w międzyczasie, między kolejnymi odświeżeniami, ktoś podstępnie zmienił “March” na “May” w dacie releasu. I to była cała wzmianka na ten temat.Nie wiem jak inni macuserzy, ja czuję się trochę zignorowany, jeśli nie oszukany.

Share/Save

Tym razem latex2rtf

March 16th, 2008

Po odpaleniu tego narzędzia w konsoli zobaczyłem:

moonflower:~/Downloads/latex2rtf-1.9.19 lobo$ ./latex2rtf
(Not set):1   Cannot open the latex2rtf .cfg files
(Not set):1   Locate the directory containing the .cfg files and
(Not set):1      (1) define the environment variable RTFPATH, *or*
(Not set):1      (2) use command line path option "-P /path/to/cfg/file", *or*
(Not set):1      (3) recompile latex2rtf with CFGDIR defined properly
(Not set):1   Current RTFPATH: (null)
(Not set):1   Current  CFGDIR: /usr/local/share/latex2rtf/cfg
(Not set):1   Also not found in : ????
(Not set):1   Error!  Giving up.  Please don't hate me.

        

Niech nikt mi więcej nie mówi, że programiści nie są zastraszeni.

Share/Save

Wspaniały dialog z texshopa ;)

March 15th, 2008

Ale kto tu nie powinien się martwić: ja czy on? :)  

Share/Save