Posts
    postCount
Przydatne narzędzia do monitoringu obciążenia serwera ...
… zamieścił mekk http://notatnik.mekk.waw.pl/archives/200-Oprocz_top.html ......
awesome3 wm mouse/key bindings
Tak na szybko z manuala do pdf’a do szybkiego wydruku cheatsheet dla window managera awesome 3 (it’s awesome ;) ): awesome3_bindings.pdf ......
memo: mysql + Incorrect file format dla tabeli
Gdy zwykły repair nie pomaga można zarzucić: repair table TABLENAME use_frm ......
fuse ftp mount - curlftpfs
sprawdź najnowszą wersję ftpmount Do pracy z hostingiem gdzie mamy tylko “‘ftp”’ przydaje się montowanie dysku poprzez właśnie ftp. Służy do tego program “‘curlftpfs”’ (np apt-get install curlftpfs). Odpalamy go jako: $ curlftpfs ftp://user:[email protected]/ ./mountpoint Do tego potrzebujemy uprawnienia grupy fuse więć jako root musimy sobie ją dodać od naszego użytkownika. Jeżeli mamy dużo połączeń do zarządzania przyda się mały skrypt: ftpmount sterowany konfiguracją w pliku config.ini: [hostone.pl] host=ftp.hostone.pl user=userone pass=passone # jak nie podamy tego wpisu, program się zapyta o hasło mountpoint=hostone.pl [hosttwo.pl] host=ftp.hosttwo.pl user=usertwo mountpoint=hosttwo.pl Wtedy wystarczy nam: ./ftpmount hostone.pl # montujemy połączenie ./ftpmount -u hostone.pl #odmontowywujemy połączenie ./ftpmount -l # lista dostępnych konfiguracji połączeń ......
mutt & firefox (by urlview)
w ubuntu wystarczyło: apt-get install urlview w ~/.muttrc dodane makro macro pager \\cb <pipe-entry>urlview<enter> 'Follow links with urlview' orac plik ~/.urlview: REGEXP ((http|https|ftp|gopher):(//)?[^ <>"\\t]*|www\\.[-a-z0-9.]+)[^ .,;\\t<">\\):] COMMAND /usr/bin/nohup firefox -remote "openURL("%s", new-tab)" >/dev/null 2>&1 & teraz ctrl+b zbiera linki z treści wiadomości, które otwieramy w wybranej przeglądarce ;)......
google apps (gmail) i mutt
Znalezione na sieci i przystosowane do google apps: set imap_user = “[email protected]” set imap_pass = “password” set smtp_url = “smtp://users\@[email protected]:587/” set smtp_pass = “password” set from = “[email protected]” set realname = “My ql user” set folder = “imaps://imap.gmail.com:993” set spoolfile = “+INBOX” set postponed=“+[Google Mail]/Drafts” set header_cache=~/.mutt/cache/headers set message_cachedir=~/.mutt/cache/bodies set certificate_file=~/.mutt/certificates set move = no......
porządki na dysku, czyli mv, ln, mount i bind
Robiąc ostatnio trochę miejsca pomiędzy partycjami przeniosłem /usr/lib do /opt/usr/lib i zrobiłem symlink ln -s /opt/usr/lib /usr/lib. Problemem okazało się np /usr/lib/cups/filter/foomatic-rip, który jest linkiem relatywnym do ../../../bin/foomatic-rip i w ten sposób pozbyłem się możliwości drukowania. Nie mam miejsca by zrobić/użyć partycji, którą bym zamontował pod /usr/lib ale chwila w necie pozoliła znaleść mi rozwiązanie odpowiednie dla mnie :) mount –bind /opt/usr/lib /usr/lib lub w /etc/fstab /opt/usr/lib /usr/lib none bind i teraz jest ok :)......
git pre-commit hook - symfony / php
Mam jeszcze tą nieprzyjemnośc pracy z PHP (w tym przypadku z symfony framework) i aby była przyjemniejsza dodałem sobie hook na pre-commit do git’a. * http://dl.getdropbox.com/u/185133/git/pre-commit by zadziałało przerywanie commit’a gdy ‘symfony unit-test’ się nie udadzą, potrzebna jest łatka na symfony (przynajmniej na moją wersję 1.0.17) * http://dl.getdropbox.com/u/185133/git/symfony_return_code.diff Hook zakłada, że commit jest robiony w katalogu projektu (tak mam najczęsciej) i znajduje sie w nim plik ‘symfony’ btw: hook wymaga pythona.......
home.pl & django - pierwsza potyczka
home.pl obsługuje pythona jako cgi (pliki .py) więc tego będziemy się trzymać. Instalację wykonamy w katalogu /py instalacja django hardcoded ale działa ;) wrzucamy to do /py i ruchamiamy poprzez www (plik install.py) 1 2 3 4 5 6 7 8 9 #!/usr/bin/env python import os os.system("wget http://www.djangoproject.com/download/1.0.2/tarball/") os.system("tar zxf Django-1.0.2-final.tar.gz") os.system("rm Django-1.0.2-final.tar.gz") os.system("mv Django-1.0.2-final tmp") os.system("mv tmp/django django") nasz projekt Lokalnie wołamy $ django-admin.py startproject pytest i wrzucamy katalog pytest przez ftp na home do katalogu /py . dispatch.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 #!/usr/bin/env python import os, sys import django.core.handlers.wsgi def run_with_cgi(application): environ = dict(os.environ.items()) environ['wsgi.input'] = sys.stdin environ['wsgi.errors'] = sys.stderr environ['wsgi.version'] = (1,0) environ['wsgi.multithread'] = False environ['wsgi.multiprocess'] = True environ['wsgi.run_once'] = True if environ.get('HTTPS','off') in ('on','1'): environ['wsgi.url_scheme'] = 'https' else: environ['wsgi.url_scheme'] = 'http' headers_set = [] headers_sent = [] def write(data): if not headers_set: raise AssertionError("write() before start_response()") elif not headers_sent: # Before the first output, send the stored headers status, response_headers = headers_sent[:] = headers_set sys.......
git, svn i puste katalogi
Importując repozytorium svn’a poprzez git-svn tracimy puste katalogi, co czasem nie jest przyjemne. W dodatku to przecież nasze katalogi i chcemy je mieć ;) Dziś mnie trochę to przycisnęło więc, pogadałem chwilę z google i znalazłem użyteczny skrypt git-me-up. Wystarczy pobrać sam plik git-me-up, nadać mu prawa wykonywania i wykonać: git-me-up http://svn.somerepo.com/path/to/project ./project a skrypt sam stworzy repozytorium git, zaimportuje wszystkoz repozytorium svn, utworzy brakujące puste katalogi i stworzy w razie potrzeby plik .gitignore na podstawie svn:ignore. i już…......