Anwajler.com -> Blog

Django: SplitDateTimeWidget i JS

2008-07-01 22:11:34.248435
django js widget newforms

Żeby nie męczyć się z łączeniem dwóch osobnych inputów - osobno attrs='vDateField required' oraz attrs='vTimeField required' można to nieco zautomatyzować, poprzez drobne zmodyfikowanie kodu JS z admina i wrzucenie go do swojej aplikacji.
Czytaj więcej


web2py.pl - polska społeczność pythonowego frameworka webowego

2008-06-26 13:48:28.792153
web2py

Dzisiaj ruszyła strona polskiej społeczności web2py - web2py.pl [web2py.pl]. Zapraszam do współpracy, pierwsze artykuły już wkrótce.
Czytaj więcej


Pogadaj ze mną

2008-06-20 17:49:11.012984
meebo im kontakt anwajlercom

Od dzisiaj można ze mną pogadać przy użyciu Meebo - wystarczy wejść do działu Kontakt [anwajler.com] i nawijać ;-)
Czytaj więcej


Instalacja Django/Python2.5 @ Debian Etch

2008-06-20 02:29:13.235314
python django debian etch

W Debianie Etch (stable) domyślną wersją Pythona jest 2.4. Można jednak nieco oszukać system, usuwając symlinka:

/usr/bin/python -> python2.4
/usr/bin/python -> python2.4

i ustanawiając nowego:
/usr/bin/python -> python2.5
/usr/bin/python -> python2.5


Instalacja django sprowadza się do ściągniecia źródeł z SVN i użycia setup.py.

Następnie trzeba zainstalować od nowa mod_pythona (z paczki) oraz zainstalować z użyciem setuptoolsów MySQLdb, psycopg2 bądź inny soft łączący Pythona z odpowiednią bazą danych.

Najważniejsze w tym wszystkim jest to, że mod_python musi być zainstalowany po zmianie symlinka, a oprogramowanie Python<=>baza zainstalowane ręcznie z użyciem Pythona2.5.

Uwaga: Nie udało mi się zmusić do działania Django z MySQLdb (tylko na Pythonie 2.5), natomiast przy SQLite3 oraz PostgreSQL nie było żadnych problemów. Na Ubuntu, gdzie domyślnie miałem Pythona 2.5 wszystko działało dobrze.
Czytaj więcej


Debian Etch framebuffer

2008-06-19 14:27:52.762553
linux debian etch framebuffer

Jak odpalić framebuffera na systemie Debian Etch

apt-get install hwinfo

hwinfo --framebuffer
apt-get install hwinfo
hwinfo --framebuffer

Tutaj pojawi się listing rozdzielczości oznaczonych odpowiednimi numerkami, np. 0x0305

Dodajemy do kernela w /boot/grub/menu.lst opcję vga=0x0305 (lub inny numerek). Rezultat:
kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro vga=0x0305
kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro vga=0x0305


Reboot i śmiga.

Czytaj więcej


ValueError: too many values to unpack

2008-05-26 14:16:02.377713
python django error

Przytrafiło mi się popełnienie następującego errora, który wyskoczył po odpaleniu 'syncdb':

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 272, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 219, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 72, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 86, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 168, in handle
    return self.handle_noargs(**options)
  File "/usr/lib/python2.5/site-packages/django/core/management/commands/syncdb.py", line 95, in handle_noargs
    emit_post_sync_signal(created_models, verbosity, interactive)
  File "/usr/lib/python2.5/site-packages/django/core/management/sql.py", line 489, in emit_post_sync_signal
    verbosity=verbosity, interactive=interactive)
  File "/usr/lib/python2.5/site-packages/django/dispatch/dispatcher.py", line 360, in send
    **named
  File "/usr/lib/python2.5/site-packages/django/dispatch/robustapply.py", line 47, in robustApply
    return receiver(*arguments, **named)
  File "/usr/lib/python2.5/site-packages/django/contrib/auth/management.py", line 27, in create_permissions
    for codename, name in _get_all_permissions(klass._meta):
ValueError: too many values to unpack
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 272, in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 219, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 72, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 86, in execute
output = self.handle(*args, **options)
File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 168, in handle
return self.handle_noargs(**options)
File "/usr/lib/python2.5/site-packages/django/core/management/commands/syncdb.py", line 95, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive)
File "/usr/lib/python2.5/site-packages/django/core/management/sql.py", line 489, in emit_post_sync_signal
verbosity=verbosity, interactive=interactive)
File "/usr/lib/python2.5/site-packages/django/dispatch/dispatcher.py", line 360, in send
**named
File "/usr/lib/python2.5/site-packages/django/dispatch/robustapply.py", line 47, in robustApply
return receiver(*arguments, **named)
File "/usr/lib/python2.5/site-packages/django/contrib/auth/management.py", line 27, in create_permissions
for codename, name in _get_all_permissions(klass._meta):
ValueError: too many values to unpack


Trochę głowiłem się nad rozwiązaniem, ale jak się okazało wystarczyło zadbać o ostatni przecinek w krotkach związanych z uprawnieniami:

class Meta:
        permissions = (
            ("can_drive", "Can drive"),
            ("can_vote", "Can vote in elections"),
            ("can_drink", "Can drink alcohol"), # <- o ten przecinek chodzi
        )
class Meta:
permissions = (
("can_drive", "Can drive"),
("can_vote", "Can vote in elections"),
("can_drink", "Can drink alcohol"), # <- o ten przecinek chodzi
)

Czytaj więcej


Ubuntu 8.04 - pierwsze wrażenia

2008-04-27 21:26:35.510881
linux ubuntu

Od kilkudziesięciu godzin używam nowego Ubuntu. Muszę przyznać, że jest parę rzeczy, które mnie zaskoczyły, na szczęście - pozytywnie.
Czytaj więcej


The Hacktivismo Declaration

2008-03-22 13:09:34.006283
hacking wolność kultura prawo

DEKLARACJA HACKTIVISMO
żądanie wolności we wsparciu niecenzurowanego Internetu

BARDZO ZANIEPOKOJENI finansowaną przez państwo cenzurą Internetu,
która szybko rozprzestrzenia się przy pomocy międzynarodowych korporacji,

BAZUJĄC na zasadach i celach przyświecających Artykułowi 19. Powszechnej
Deklaracji Praw Człowieka (Universal Declaration of Human Rights - UDHR),
która głosi: _Każdy człowiek ma prawo do wolności opinii i do jej wyrażania;
prawo to obejmuje swobodę posiadania niezależnej opinii, poszukiwania,
otrzymywania i rozpowszechniania informacji i poglądów wszelkimi
środkami, bez względu na granice_ oraz Artykułowi 19. Międzynarodowego Paktu
Praw Obywatelskich i Politycznych (International Covenant on Civil and Political
Rights - ICCPR), który mówi:

1. Każdy człowiek ma prawo do posiadania bez przeszkód własnych poglądów.

2. Każdy człowiek ma prawo do swobodnego wyrażania opinii; prawo to
obejmuje swobodę poszukiwania, otrzymywania i rozpowszechniania
wszelkich informacji i poglądów, bez względu na granice państwowe,
ustnie, pismem lub drukiem, w postaci dzieła sztuki bądź w jakikolwiek
inny sposób według własnego wyboru.

3. Realizacja praw przewidzianych w ustępie 2 niniejszego artykułu
pociąga za sobą specjalne obowiązki i specjalną odpowiedzialność. Może
ona w konsekwencji podlegać pewnym ograniczeniom, które powinny być
jednak wyraźnie przewidziane przez ustawę i które są niezbędne w celu:

a) poszanowania praw i dobrego imienia innych;

b) ochrony bezpieczeństwa państwowego lub porządku publicznego albo zdrowia lub moralności publicznej.

ODWOŁUJĄC SIĘ do faktu, że niektóre państwa należące do Organizacji Narodów Zjednoczonych
podpisały ICCPR lub ratyfikowały go w kształcie uniemożliwiającym użycie go przez obywateli
w sądach,

BIORĄC POD UWAGĘ, że wspomnieni członkowie ONZ w sposób zamierzony
kontynuują ograniczanie szerokiego dostępu do opublikowanych w Internecie,
zgodnych z prawem informacji, pomimo jasnego przekazu ICCPR, mówiącego o wolności
wyrażania swoich poglądów we wszystkich mediach,

ZAUWAŻAJĄC, że międzynarodowe korporacje kontynuują sprzedaż technologii
informacyjnych do najbardziej represyjnych światowych reżimów, wiedząc
doskonale, że zostaną one użyte do śledzenia oraz kontroli i tak
dręczonych już obywateli,

UWZGLĘDNIAJĄC fakt, że Internet szybko zaczyna stawać się narzędziem represji,
zamiast wolności,

MAJĄC ŚWIADOMOŚĆ, że w niektórych krajach roszczenie prawa do dostępu
do informacji opublikowanych zgodnie z prawem oraz innych praw człowieka
jest przestępstwem,

ODWOŁUJĄC SIĘ do tego, że członkom ONZ nie udało się zmusić
państw, które najczęściej naruszają prawa informacyjne do zwiększenia standardów,

PAMIĘTAJĄC o tym, że zakaz dostępu do informacji może prowadzić do
duchowego, intelektualnego oraz ekonomicznego upadku, wzrostu ksenofobii
i destabilizacji międzynarodowego porządku,

ZATROSKANI postawą rządów i międzynarodówek, które pozostając w zmowie
umożliwiają przetrwanie obecnego status quo,

BARDZO ZANIEPOKOJENI tym, że światowowym liderom nie udało się powiadomić o
problemie praw informacyjnych bezpośrednio i bez wykręcania się,

ROZPOZNAJĄC znaczenie walki przeciw nadużyciom praw człowieka i poszanowania
rozsądnego dostępu do informacji w Internecie,

Z W/W POWODÓW JESTEŚMY PRZEKONANI, że międzynarodowa społeczność hackerska
ma moralny obowiązek aby działać, dlatego też:

DEKLARUJEMY:

* ŻE PEŁNE POSZANOWANIE DLA PRAW CZŁOWIEKA I FUNDAMENTALNYCH WOLNOŚCI
ZAWIERA W SOBIE WOLNOŚĆ UCZCIWEGO I ROZSĄDNEGO DOSTĘPU DO INFORMACJI,
CZY TO PRZEZ RADIO KRÓTKOFALOWE, POCZTĘ POWIETRZNĄ, ZWYKŁA TELEFONIĘ,
GLOBALNY INTERNET CZY INNE MEDIA.

* ŻE SZANUJEMY PRAWO RZĄDÓW DO ZAKAZU PUBLIKACJI ODPOWIEDNIO SKATALOGOWANYCH
TAJEMNIC PAŃSTWOWYCH, PORNOGRAFII DZIECIĘCEJ I SPRAW POWIĄZANYCH
Z PRYWATNOŚCIĄ I PRZYWILEJAMI, WŚRÓD INNYCH ZAAKCEPTOWANYCH RESTRYKCJI.
RÓWNOCZEŚNIE, SPRZECIAWIAMY SIĘ UŻYWANIU SIŁY PAŃSTWOWEJ DO KONTROLI DOSTĘPU
DO PRAC KRYTYKÓW, INTELEKTUALISTÓW, ARTYSTÓW I DUCHOWNYCH.

* ŻE FINANSOWANA PRZEZ RZĄD CENZURA INTERNETU OGRANICZA POKOJOWE I CYWILIZOWANE
WSPÓŁISTNIENIE, WPŁYWA NA KORZYSTANIE Z PRAW DEMOKRACJI ORAZ ZAGRAŻA
SOCJOEKONOMICZNEMU ROZWOJOWI NARODÓW.

* ŻE FINANSOWANA PRZEZ RZĄD CENZURA INTERNETU JEST POWAŻNĄ FORMĄ
ZORGANIZOWANEJ I REGULARNEJ PRZEMOCY PRZECIWKO OBYWATELOM, KTÓREJ CELEM
JEST TWORZENIE DEZORIENTACJI I KSENOFOBII, ORAZ JEST NAGANNYM
NADUŻYCIEM ZAUFANIA

* ŻE BĘDZIEMY ZGŁĘBIAĆ SPOSOBY I ŚRODKI PRZECHYTRZENIA CENZURY INTERNETU
FINANSOWANEJ PRZEZ RZĄD ORAZ IMPLEMENTOWAĆ TECHNOLOGIE POZWALAJĄCE ZWALCZYĆ
ŁAMANIE PRAW INFORMACYJNYCH.

Opublikowane 4 czerwca 2001 przez Hacktivismo i Cult Of The Dead Cow.

Powiązane linki:

Universal Declaration of Human Rights
http://www.un.org/Overview/rights.html

International Covenant on Civil and Political Rights
http://www.unhchr.ch/html/menu3/b/a_ccpr.htm

Reporters Without Frontiers
http://www.rsf.org

CULT OF THE DEAD COW
http://www.cultdeadcow.com

Tłumaczenie: Łukasz Anwajler, korekta: Agnieszka Sterczyńska, Anna Niwicka
Czytaj więcej


"Refleksje świadka stulecia"

2008-03-17 00:41:59.823021
bartoszewski uw wykład historia kultura patriotyzm etyka

23 października w Auditorium Maximum Uniwersytetu Warszawskiego odbył się wykład profesora Władysława Bartoszewskiego zatytułowany "Refleksje świadka stulecia". Był to pierwszy w tym roku akademickim wykład z cyklu "8 Wykładów na Nowe Tysiąclecie".

Przedstawiam niżej bardzo ciekawy fragment w/w wystąpienia.
Czytaj więcej


Życie

2008-01-15 00:55:00.884658
kultura medycyna życie

Niedawno przez Polskę przetoczyła się fala dyskusji na temat słuszności finansowania metody in vitro. Ze względu na 5 przykazanie ("nie zabijaj") Kościół stanowczo sprzeciwił się korzystaniu z tej możliwości, lewica poparła in vitro jako sposób na udostępnienie szczęścia rodzicielskiego dla ludzi mających kłopoty z płodnością, liberalna część prawicy ze względu na zdecydowany sprzeciw Kościoła postanowiła odłożyć temat w nieokreśloną przyszłość, natomiast konserwatyści potępili jej zasadność. Chciałbym przedstawić własny pogląd na ten temat, nie odwołując się do żadnej z religii ani frakcji politycznej a jedynie do zdrowego rozsądku.
Czytaj więcej


Quo vadis Wiki?

2008-01-13 13:51:47.750769
wikipedia citizendum

Coraz częściej pojawiają się na Sieci informacje dotyczące negatywnej strony działań Wikipedii, największej ogolnodostępnej, darmowej encyklopedii. 7 stycznia b.r. Michel Bauwens zaprezentował [blog.p2pfoundation.net] argumenty przeciwko Wikipedii. Główne zarzuty wobec Wikipedii to: lekceważenie osób posiadających wyspecjalizowaną wiedzę, brak odpowiedzialności twórców za swoje czyny, bezkarność administratorów Wikipedii i ich szkodliwe działania przeciw użytkownikom, nieprzestrzeganie procedur i pobłażliwość wobec popularnych działaczy, niekompetencja Arbitration Committee (Komitet Arbitrażowy), kiepskie zarządzanie The Wikimedia Foundation oraz jej zależność od założyciela Wikipedii.

Ile z tego jest prawdą - oceńcie sami, polecam przeczytać i zapoznać się z linkami dołączonymi do w/w artykułu. Dla tych, którzy uważają, że faktycznie jest źle i nie da się tego naprawić polecam projekt Citizendium [en.citizendium.org]
Czytaj więcej


XSL

2008-01-07 20:11:32.357583
html css xml xsl

Do prezentacji treści HTML służą kaskadowe arkusze stylów (CSS). Co jednak, jeśli chodzi o XML? O ile wszyscy wiemy, co oznaczają konkretne tagi HTML, to z XML już tak kolorowo nie jest. Z tego właśnie powodu stworzono XSL, który ma za zadanie opisać warstwę prezentacji do treści przygotowanej w XML.
Czytaj więcej


Wikia Search

2008-01-07 19:43:58.455464
wiki search wikia

Wikia is working to develop and popularize a freely licensed (open source) search engine. What you see here is our first alpha release.

We are aware that the quality of the search results is low..

Wikia's search engine concept is that of trusted user feedback from a community of users acting together in an open, transparent, public way. Of course, before we start, we have no user feedback data. So the results are pretty bad. But we expect them to improve rapidly in coming weeks, so please bookmark the site and return often.

Right now, the most important thing you can do is help with the "miniarticles" that appear at the top of popular search terms. These will vary in purpose according to the circumstance, but the primary uses will be:

* Short definitions
* Disambiguations
* Photos
* See also

At the bottom of every page is a linke to "Post bug reports here"... please use that link liberally to give us large amounts of feedback.

I believe that search is a fundamental part of the infrastructure of the Internet, and that it can and should therefore be done in an open, objective, accountable way. This site, which we have been working on for a long time now, represents the first draft of the future of search.

Please feel free to join us, make some friends, and let's try to do something friendly, interesting, and different. w.

Czytaj więcej


Django i skrypty obsługiwane z zewnątrz

2008-01-07 19:09:16.567919
python django cron

Jeżeli piszemy aplikację, która zarządza określonym gronem użytkowników to najczęściej potrzebujemy dołączyć do niej skrypt, który będzie odpalany co jakiś czas, by wywołać określone skutki (kasować nieaktywnych, wysyłać maile itd). Oto przykładowy skrypt Django, który możemy swobodnie dodać do crona lub innego daemona.
Czytaj więcej


YouList: YouTube player

2008-01-06 01:47:34.476695
youtube javascript player

Macie jakąś muzykę na swoim komputerze? Ja chwilowo nie. Jak zatem mogę żyć bez muzyki? Ano, nie mogę. Słucham jej korzystając z serwisów typu YouTube czy Wrzuta. Każdy kto korzystał z zasobów wymienionych witryn podczas pracy wie, że mają one jedną wadę - trzeba co 5 min odrywać się od pracy, żeby zapodać następny kawałek. Mnie też to denerowowało, dlatego postanowiłem działać. Oto wyniki mojej pracy...
Czytaj więcej


Łukasz Anwajler

W skrócie: jestem webdeveloperem, użytkownikiem Uniksa, miłośnikiem wolności. Nie lubię się nudzić. Więcej o mnie, kontakt ze mną.

O blogu

Prowadzę tego bloga, ponieważ wiele wyniosłem czytając wypowiedzi innych, dotyczące technicznych zagadnień. Myślę zatem, że komuś może przydać się porcja informacji o rzeczach, którymi aktualnie się zajmuję. Coś biorę z Sieci, coś daję w zamian.

Tagi

Teleportuj się za pomocą słów-kluczy:

slime extension wikipedia mysql puma joke firewall wap społecznie linux warlug bartoszewski dcraw pdt anwajlercom http save web2py im search uw cron życie firma debian xul medycyna update mozilla gnome p2p apple meebo pyzenity imagemagick youtube request historia sphinx datetime widget podsumowanie javascript security 2007 patriotyzm full-text framebuffer film phishing wikia js wolność etch urlify ubuntu nikon firefox nef zenity player python tramline html humor sbcl imagefield object the-man-from-the-earth plusgsm paypal threadlocals SLIME newforms citizendum etyka prawo dreamhost xml wpadka lisp multimedia upload mktime leopard hosting kultura user svn universal css wiki thunderbird approacher emacs signals grono xsl delete mac wykład dispatcher error hacking portal internet rozszerzenie time modelform foto kontakt django

Copyright © Łukasz Anwajler. Code & design: Łukasz Anwajler. HTML oraz CSS zgodne ze standardami W3C Powered by Django.