Ogólne »

[28 lutego, 2006 | 3 komentarze | Poziom: 0 ]

Podjąłem męską decyzję

Uwaga!

Postanowiłem zaprzestać używania komunikatora GaduGadu. Za tydzień, tj. 07-03-2006, konto GaduGadu numer 210507 zostanie usunięte.

Aby się ze mną skontaktować proszę korzystać z poczty elektronicznej (bmalkow na wp kropka pl) lub komunikatora sieci Jabber/XMPP. Komunikatory należące do tej sieci to Spik (http://spik.wp.pl), Google Talk (http://www.google.com/talk), Hapi (http://www.hapi.pl/), PaPla (http://komunikator.papla.pl) oraz wiele innych.

Można też skorzystać z klienta niezależnego, takiego jak: PSI (http://psi-im.org), JAJC (http://jajc.ksn.ru/) czy Pandion (http://www.pandion.be).

Programy klienckie sieci Jabber sa dostępne na platformy Windows, Linux, Mac a także na telefony komórkowe.

Więcej na temat Jabbera można znaleźć tu: http://www.jabberpl.org/Wprowadzenie/CzymJestJabber oraz tu: http://pl.wikipedia.org/wiki/Jabber .

Powyższa wiadomość zostanie wysłana jeszcze jeden raz.

Ogólne »

[10 czerwca, 2005 | 2 komentarze | Poziom: 0 ]

Bios do Windows: "Pobudka! Wstajemy!"
Windows do Biosa: "Pomału, pomału, co nagle to po diable..."
Manager urządzeń do systemu operacyjnego: "Mam takie coś dziwne na monitorze."
Odpowiedź Windows: "Na razie to olej."
Asystent sprzętowy do Windows: "Juzer mnie pogania. Mam zidentyfikować to coś dziwne. Może to karta ISDN jest."
Windows: "Coś takiego...?"
Nieznana karta ISDN do wszystkich: "Może by mnie tak kto wpuścił[??]?"
Karta sieciowa do tupeciary ISDN: "Kto ci się tutaj pozwolił ładować?!"
Windows: "Cisza w budzie! Bo obu wam zabiorę rekomendacje!"
Manager urządzeń: "Proponuję kompromisik. Karta sieciowa będzie hulała w poniedziałki, a koleżanka ISDN we wtorki."
Karta graficzna do Windows: "Mój sterownik poszedł na pomostówkę. Ja się w takim razie zwalam."
Windows do karty graficznej: "A kiedy wrócisz?"
Karta graficzna: "No, na razie to nie przewiduję."
Napęd CD-Rom do Windows: "Ekhem, mam tu nowego sterowniczka."
Windows: "I że niby co ja z nim mam począć?!"
Sofcik instalacyjny do Windows: "Daj, ać ja pobruszę, a ty pociwej"
Windows: "No, to to lubię."
Gniazdo USB do zarządcy przerwań: "Alarm! Właśnie zostałam spenetrowana przez kabel od skanera. Oczekuję reakcji."
Zarządca przerwań: "A ty skąd się wzięłaś?"
Gdniazdo USB: "Ja jestem tu fabryczna. Zresztą koło mnie siedzi jeszcze koleżanka."
Zarządca przerwań: "Ale ja was w ogóle nie mam na liście."
do Windows: "Weź im coś powiedz."
Windows: "O rany, mam nadzieję, że się zaraz jakaś drukarka nie pojawi."
Karta graficzna: "Tej, nowy sterownik się jąka."
Windows: "No to musimy starewgo sterownika z emeryturki zawrócić."
Program deinstalacyjny do nowego sterownika: "Spadówa."
Niepożądany sterownik: "Możesz mnie cmoknąć."
Windows do Norton Utilities: "Killim dziada i jego parszywy pomiot!"
Utilities do resztek sterownika: "Sorki, musimy was dziabnąć."
Ważny plik systemowy: "Nas[??] Bohaterów?! PRĄDEM?!"
Windows do niebieskiego: "Weź no zaanonsuj, że chłopcy Nortona znowu pomylili koordynaty przy ostrzale..."
Niebieski do użytkownika: "No to luzik, kolego, w tym tygodniu już nie popracujesz."

Ogólne »

[10 maja, 2005 | 6 komentarzy | Poziom: 0 ]

Zrobienie ładnej stronki domowej idzie mi cokolwiek opornie. Na szczęście z pomocą przyszedł JAlbum. Szybko, sprawnie i bezboleśnie pozwolił na stworzenie albumu rodzinnego.

Ogólne »

[25 kwietnia, 2005 | 3 komentarze | Poziom: 0 ]

Znalazłem na sieci śliczny skrypcik do archiwizowania repozytorium svn:

#!/usr/bin/python

# script to backup SVN repos at a given time from the last revision number
# Greg Loscombe

import os
import sys

debug = 0


# build a list of projects and what the last revision backup

basedir = "/home/subversion/basedir"
basebackup = "/var/log/svnbackup"
revlogfile = "/var/log/svnbackup/last_rev" 
projects = {}
something_dumped = 0

def get_youngest(proj):
   youngest_cmd = "/usr/bin/svnlook youngest " + basedir + proj
   if ( debug == 1):
      print "command:", youngest_cmd
   cmdout = os.popen( youngest_cmd )
   rev_youngest = cmdout.read()
   rev_youngest = int( rev_youngest.strip() )
   cmdout.close()
   return rev_youngest

def dump_incremental(base, proj, rev_from, rev_youngest):
   location = base + proj + ".dump." + str( rev_from ) + "-" + str(rev_youngest )
   if ( debug == 1):
      print "Location dumped too", location
   incremental = "/usr/bin/svnadmin dump --incremental " + basedir + this_proj + " -r " + str( rev_from ) + ":" + str( rev_youngest ) + " > "+ location
   cmdout = os.popen( incremental )
   cmdout.close()
   if ( debug == 1):
      print "Command incremental dump:-", incremental

def update_log():
   revfile = file( revlogfile, "w")
   for this_proj in projects.iterkeys():
      revfile.write( this_proj + " = " + str(projects[this_proj]) + "\n")
      if ( debug == 1):
         print "New log:-", this_proj + " = " + str(projects[this_proj]) + "\n"
      print this_proj + " = " + str( projects[this_proj] )
   revfile.close()

def update_error_log(message):
   errorfile = file( "/var/log/svnbackup/error_log", "a")
   errorfile.write( message )
   #errorfile.write( proj + ":" + str( updated_rev ) + ":" + message )
   #add more stuff here soon
   errorfile.close()

#def update_access_log(message):
#this will print things like last run etc

# main part now, lets get all the old revision numbers we backed up

revfile = open( revlogfile )

while 1:
   line = revfile.readline()
   if line == "":
      break
   if ( ( line.startswith("[") or line.startswith("#") ) is False ):
      proj, last_rev = line.split(' = ')
      last_rev = last_rev.strip()
      projects[proj] = int(last_rev)

revfile.close()

# lets get the new youngest and compair, if its newer, then do a incremental dump
# if its older than the last log, we have a problem, log it
# if its the same nothing happens
# if its never been dumped, time for a full dump
for this_proj in projects.iterkeys():
   rev_youngest = int( get_youngest(this_proj) )
   rev_old = int( projects[this_proj] )
   if ( debug == 1 ):
      print "this project", this_proj, "old revision", rev_old, "youngest", rev_youngest

   if ( rev_old > rev_youngest ):
      errmessage = "logged backed up revision " + str(rev_old) + " > youngest current revision " + str(rev_youngest) + "\n"
      #update_error_log(this_proj, rev_youngest, errmessage)
      update_error_log(errmessage)

   elif ( rev_old == 0 ):
      print "First time dump, do it all for", this_proj, "upto", rev_youngest
      dump_incremental(basebackup, this_proj, 0, rev_youngest)
      something_dumped = something_dumped + 1
      projects[this_proj] = int(rev_youngest)

   elif ( rev_old < rev_youngest ):
      print "Update for project", this_proj, "upto", rev_youngest
      rev_from = rev_old + 1
      dump_incremental(basebackup, this_proj, rev_from, rev_youngest)
      something_dumped = something_dumped + 1
      projects[this_proj] = int(rev_youngest)

   elif ( rev_old == rev_youngest ):
      print "Revisions have not changed for project", this_proj

# if something changed then its time to update the last logged file
if ( something_dumped > 0 ):
   print something_dumped, "repos have changed since last dump"
   update_log()
else:
   print "Nothing has changed, nothing done"

# the end

W pliku /var/log/svnbackup/last_rev należy umieścić nazwę repozytorium i numer ostatniej zarchiwizowanej wersji, np.:

/jaxmpp = 0
/proplan = 0

Całość dodać można sobie do crona, i już mamy eleganckie, przyrostowe backupy repozytorium.

Ogólne »

[22 kwietnia, 2005 | Dodaj komentarz | Poziom: 0 ]

Dwa dni walczyłem z konfiguracją Springa chcąc włączyć kontrolę dostępu do beanów w kontenerze. Dziś zdenerwowałem się, podłączyłem debugger do JBossa i zacząłem wszystko wykonywać krokowo. Po kilku próbach powiązanych z przecieraniem oczu ze zdumienia, dostrzegłem to! Jeden z niepasujących do siebie łańcuchów wyglądał tak: "ROLE_SUPERVISOR", a drugi tak: "ROLE_SUPERVISOR ".
Dwa dni z życiorysu przez jedną spację, która znalazła się w pliku konfiguracyjnym!

Jak widać, nowoczesne technologie i inne wynalazki nie ochronią nas przed najstarszymi błędami programistycznymi.

Ogólne »

[18 kwietnia, 2005 | 4 komentarze | Poziom: 0 ]

Ostatnio, przy wylogowaniu z systemu transakcyjnego, mój bank poprosił mnie o wypełnienie ankiety. Czemu nie? Wypełniam. W pewnym momencie patrzę na ekran i co widzę? Widzę pytanie o system operacyjny jakiego używam przy załatwianiu spraw bankowych, Oprócz wszystkich wersji windows znajdowała się tam również pozycja "Linuks".

Nie byłoby w tym nic dziwnego, gdyby nie to, że jakiś czas wcześniej dostałem od banku odpowiedź tej treści:

Witam serdecznie, system Pl@net został stworzony i testowany do współpracy z systemem Windows i tylko w zakresie tego systemu bank świadczy pomoc techniczną. Jeżeli chodzi o system Linux, ze względu na jego liczne odmiany , jak również na to że sieć banku działa na platformie Microsoft nie jesteśmy w stanie zagwarantować poprawnej współpracy systemu Pl@net z tym system opreracyjnym, jak również technicznej asysty. Z poważaniem , [imię] [nazwisko]

Problemy dotyczące pracy na Linuksie dotyczą głównie spieprzonych appletów. Jak widać, nawet w Javie da się napisać applety, działające tylko pod windą.

Muszę szybko zmienić bank. Tylko na jaki? W tym można było wypłacać gotówkę bez prowizji we wszystkich bankomatach.

Ogólne »

[13 kwietnia, 2005 | 4 komentarze | Poziom: 0 ]

Mam trochę gotówki. Ale nie kupię sobie notebooka. Całą posiadaną gotówkę wydam na kilka pieczątek i podpisów u notariusza.
A za 3¼KPLN mógłbym mieć HP nx 9020.

Fuck!
Czemu to takie drogie?

Ogólne »

[11 kwietnia, 2005 | 3 komentarze | Poziom: 0 ]

Robię się popularny wśród jellonków. To fragment z chatroomu linux@chat.chrome.pl:

[13:05:06] *** szukammiłegochłopaka zmaterializował się.
[13:05:20] <badmad> lawnmower: nie przesadzaj
[13:05:23] <szukammiłegochłopaka> czesc wszystkim
[13:05:34] <lawnmower> CZEŚĆ szukammiłegochłopaka SKĄD KLIKASG
[13:05:39] <lawnmower> KLIKASH
[13:06:48] <koorek> czesc szukammiłegochłopaka
[13:06:59] <szukammiłegochłopaka> czesc
[13:07:00] <koorek> ale tu sa sami mili, tylko zaden przystojny :P
[13:07:12] <szukammiłegochłopaka> haha
[13:07:48] <koorek> Aniu, nie obraz sie, ale z tego pewnie nic by nie wyszlo ;-)
[13:08:00] <bmalkow> JeStHeM wysOkjMm pshysthojnym fFłOpcem i shukAM mEEłeY dzjeffTshYnyYYyy! 
[13:08:13] <maniel> :P
[13:08:24] <maniel> wyroxił:P
[13:08:34] <koorek> na maxa :P
[13:08:40] <szukammiłegochłopaka> bmalkow jak masz an imie
[13:08:41] <koorek> lol
[13:08:47] <koorek> o nie, to nie oze byc prawda

Ogólne »

[06 kwietnia, 2005 | Dodaj komentarz | Poziom: 0 ]

Stwierdziłem, że mając zewntrzne IP warto pokusić się o jakiś firewallik. Jak pomyślałem, tak usiłowałem zrobić. Sięgnąłem zatem do tutoriala do iptables. Zapodałem tamtejszy przykładzik:

## Załaduj moduły śledzenia połączeñ (niepotrzebne jeśli wbudowane w kernel)
# insmod ip_conntrack
# insmod ip_conntrack_ftp

## Stwórz łañcuch blokujący nowe połączenia, z wyjątkiem tych od środka
# iptables -N block
# iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A block -m state --state NEW -i ! eth0 -j ACCEPT
# iptables -A block -j DROP

## Do łañcuchów INPUT i FORWARD dodaj skok do tego nowego łañcucha
# iptables -A INPUT -j block
# iptables -A FORWARD -j block
I co? I dupa: ping: sendmsg: Operation not permitted.

Cholernie skuteczny ten firewall :-/

Próbowałem się też bawić Firewall Builderem ale efekt podobny. Co ja spieprzyłem?

Ogólne »

[05 kwietnia, 2005 | JAXMPP">8 komentarzy | Poziom: 0 ]

Niedawno Zgoda wyraził opinię o bibliotece Smack. Niestety, nie powiedział co go tam tak wkurza.

Dlatego Was pytam, drodzy czytelnicy mych wypocin, co taka biblioteka mieć powinna. Czego oczekujecie od biblioteki implementującej XMPP?

Ogólne »

[04 kwietnia, 2005 | 9 komentarzy | Poziom: 0 ]

Migracja na Linuksa chyba akońzy się powodzeniem. Żona, po pewnych oporach, chyba zaczyna akceptować Linuksa z Gnomem. PSI nawet przypadł Jej do gustu, a Evolution stał się nowym, ślicznym, uruchamianym codziennie klientem pocztowym.
Jeszcze tylko jakiś ładny klient do czytania newsów by się przydał.

Ogólne »

[04 kwietnia, 2005 | 2 komentarze | Poziom: 0 ]

Sprawiłem sobie nowy szablon. Jeszcze wszystko nie jest skończone, ale i tak go zostawię!
Drugim krokiem będzie zrobienie szablonów w FMPP, trzecim zaś zrobienie z tego wszystkiego strony domowej z albumem i innymi bajerami.

Ogólne »

[01 kwietnia, 2005 | 1 komentarz | Poziom: 0 ]

...prima aprilisa.
Mimo moich manii prześladowczych (objawia się to stosowaniem kryptografii gdzie się da) i stosowania zasady ograniczonego zaufania (objawia się to dziewięćdziesięcio dziewięcio procentową nieufnością), boli mnie, że dzisiaj muszę przestać ufać całkowicie wszystkiemu co czytam lub słyszę.

Ogólne »

[30 marca, 2005 | 3 komentarze | Poziom: 0 ]

Zdobędę pierwszą nagrode w konkursie "Debil roku powiatu gdańskiego".
Brałem urlop do 30-03-2005 włącznie. To co ja dzisiaj robię w pracy?

Ogólne »

[26 marca, 2005 | 5 komentarzy | Poziom: 0 ]

Dziś o 19:33:17 JAXMPP dokonał pierwszej udanej próby przesłania wiadomości.

Historyczna wiadomość:
<message to='bmalkow@jabber.wp.pl'><body>To tylko test</body></message>

Ogólne »

[22 marca, 2005 | 1 komentarz | Poziom: 0 ]

Różnica między 21 a 0x21 wynosi:
a)
b)
c)
d)
e)
f)
SMSy o treści a, b, c, d, e lub f proszę wysyłać na numer...

Ogólne »

[22 marca, 2005 | 1 komentarz | Poziom: 0 ]

Kolejna wiosna w plecy. Która? Nie pamiętam... Jak wezmę bilobil, to może przypomnę sobie gdzie zostawiłem kalendarz. Spróbuję policzyć świeczki na torcie, może się nie pogubię.

Ogólne »

[09 marca, 2005 | 4 komentarze | Poziom: 0 ]

Dziś zostałem wybrany delegatem na Walny Zjazd Polskiego Towarzystwa Informatycznego. Nie wypadało sprzeciwiać się woli większości ;-)
Prawdopodobnie wejdę również do komitetu organizacyjnego konferencji "Zastosowanie Informatyki w Rachunkowości i Finansach" mającej się odbyć w Juracie we wrześniu.
Jak szaleć to szaleć!

Ogólne »

[08 marca, 2005 | 1 komentarz | Poziom: 0 ]

Jak podaje RzePa

21-letni zwycięzca meksykańskich zawodów w piciu tequili zmarł, a trzech innych zawodników jest poważnie chorych. Ricardo Ivan Garcia wypił ponad 50 porcji tequli, by wygrać 10 tysięcy pesos (równowartość 330 dolarów). Po kilku godzinach pobytu w szpitalu zmarł. Prawdopodobnie nie wytrzymało serce.

Nasi tam powinni pojechać (pewnie by się nie opłacało)! Tylko czy by im tyle cytryn nie zaszkodziło?

Ogólne »

[04 marca, 2005 | 15 komentarzy | Poziom: 0 ]

Jaka jest różnica w zapisie NIPu tak: 777-777-77-77, a tak: 777-77-77-777?
Czemu tej księgowej tak bardzo na tym zależy?
Dzięki takim pomysłom wali się wszystko: od warstwy danych do warstwy wizualizacji.

Ogólne »

[02 marca, 2005 | Dodaj komentarz | Poziom: 0 ]

System bazowy: jest
X.org: jest
Teraz emerguje się gnome.

Ogólne »

[01 marca, 2005 | 4 komentarze | Poziom: 0 ]

Wciaz instaluje to bydle. Rozdzial 10 z manuala.
Ile to jeszcze potrwa?
Mam nadzieje, ze warto...

Ogólne »

[28 lutego, 2005 | Dodaj komentarz | Poziom: 0 ]

Drugie podejscie do Gentoo. Aktualnie scripts/bootstrap.sh

Ogólne »

[23 lutego, 2005 | Dodaj komentarz | Poziom: 0 ]

Nie powinienem czytać rano newsów. Niektóre mi szkodzą.

Jest to niestety tylko chowanie się za sloganami, ponieważ z pełnej treści przepisu, na który się powołują - Artykułu 13 Dyrektywy Unijnej - zniknął w polskiej wersji prawa następujący zapis: "[...] Państwa Członkowskie mogą zrezygnować z zastosowania wymogów, o których mowa w pierwszym akapicie, wobec przedsiębiorstw, których roczny obrót z działalności związanej z sieciami i usługami łączności elektronicznej w Państwie Członkowskim nie przekracza 50 milionów euro. [...]"
Czy nasi politycy mogą zrobić wszystko zasłaniając się Unią? Przejdą nawet egzekukucje partii przegrywających wybory. Jakiegoś akapitu nie przetłumaczą, inny lekko zmienią i już: "Przepisy unii każą strzelać do przegranych".
Fajnych mamy polityków... nie ma co...

Ogólne »

[18 lutego, 2005 | 2 komentarze | Poziom: 0 ]

Nie wiem co mnie podkusiło, ale postanowiłem zainstalować i włączyć NetBeans IDE. Jak postanowiłem tak uczyniłem.
Dobra ale jak się w tym poruszać? Jak dołączyć bibliotekę (to znalazłem)? Jak stworzyć niestandardową strukturę projektu? Czułem się zagubiony jak dziecko we mgle! Po tym traumatycznym doświadczeniu szybciutko wróciłem do nocnego wydania Eclipse'a.

Ogólne »

[03 lutego, 2005 | 1 komentarz | Poziom: 0 ]

Ostatnio pokłóciłem się z teściem. Twierdził on mianowicie, że świetną inwestycją jest zakup mieszkania na wynajem. Ja uważam, że w socjalistycznej Polsce ochrona lokatorów jest tak dalece posunięta, że jest to proceder nieopłacalny i grożący nerwicami. No i miałem rację.

Kiedyś gdzieś czytałem, że gdy eksmisja na bruk była dozwolona, ogólne zadłużenie lokatorów było niskie. Gdy tylko nasze władze kochane, zakazały tego procederu, wspomniane zadłużenie gwałtownie wzrosło.

Kiedy wreszcie skończy się socjalizm w tym kraju? Zarówno prawica jak i lewica to socjaliści, tyle że prawica to bogobojni socjaliści1.

"Socjalizm musi odejść. Im szybciej, tym lepiej dla społeczeństwa."

1) nie pamiętam kto był autorem tego stwierdzenia. Rybiński?

Ogólne »

[02 lutego, 2005 | 1 komentarz | Poziom: 0 ]

Padło podczas instalacji pyxmpp:
$ python setup.py install
running install
error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory)

Ogólne »

[02 lutego, 2005 | Dodaj komentarz | Poziom: 0 ]

Nawróciłem dziś jedną osobę na Firefoxa.
Właściwie, to nie ma się czym chwalić, bo osobę tą tak drażniło już IE zaśmiecone przez nielegalne dodatki, że wystarczyło powiedzieć "na moim Firefoxie tego nie ma".

Ogólne »

[31 stycznia, 2005 | 6 komentarzy | Poziom: 0 ]

Szybko setkę! Zanim się zacznie!
No i zaczęło się.
Komunikatory oparte o Jabber/xmpp stają się popularne. Pojawił się nowy komunikator dla nastolatek oparty o protokół Jabber. Od razu podniósł się też krzyk o stada jellonków przychodzące stamtądna żer. Cóż... bywa.... Dla mnie jest to cena popularności. Zawszę mogę wykorzystać możliwości protokołu (nie klienta) i zablokować komunikację z osobnikami z którymi rozmów sobie nie życzę. Ale raczej nie będę blokował: nie jestem bombardowany setkami "poklikash" (czy jak to się pisze) dziennie, zaś zagadujące nastolatki zniechęcam skutecznie pierwszym zdaniem.
Poza tym zablokowanie całej domeny hapi.pl może uniemożliwić mi kontakt z kimś z kim chcę rozmawiać.

W pomysłach blokowania domen jest właśnie problem. Jestem szczęśliwym użytkownikiem serwera jabber.wp.pl, choć używam PSI i na co dzień używam Debiana. Wspomnianego serwera używam z prostej przyczyny: w czasach gdy praktycznie każdy polski serwer miał problemy, WP miało ich najmniej. I tak już mi zostało.
Niedawno wywołałem solidne zaskoczenie: "w sumei pierwszy raz ktos z JIDem z wp.pl ma linuksa". Na szczęście nie zostałem wcześniej wycięty za domenę.

Mam nadzieję, że nie dożyję czasów, gdy będę dyskryminowany za @jabber.wp.pl i stane się "personą bez gratów".

Wygląda na to, że ratunkiem będzie stworzenie zamkniętego* serwera (w domenie geek.pl??), z silną weryfikacją nowych użytkowników. Jeśli awarie będą się zdarzały raz na rok i to o 4 rano, a i łącza będą szybkie to pewnie poproszę admina o założenie konta. Jeśli o mnie chodzi, to za usługę działającą 24/7 mogę płacić.

UPDATE:
Pisząc "zamknięty" miałem na myśli zamknięcie serwera na dodawanie nowych użytkowników z poziomu klienta.
Przepraszam wszystkich, którzy zostali wprowadzeni w błąd.

Ogólne »

[28 stycznia, 2005 | Dodaj komentarz | Poziom: 0 ]

Użytkownik nie umie obsłużyć Excela, ale to generator raportów z mojego programu jest zły!
Zapraszam wszystkich na bezczeszczenie zwłok!