Procedury, zasady i plamy na słońcu

June 2nd, 2009

Właśnie się dowiedziałem, że MBank nie może mi udzielić 3 miesięcznego kredytu ponieważ mam umowę o pracę na czas określony na jeszcze tylko 4 miesiące a oni minimum wymagają 6 miesięcy 0_o. Wiadomo – procedury … tylko nie rozumiem dlaczego tego typu informacja nie pojawia się automatycznie podczas wypełniania online bardzo długiego formularza formularza. Drugi raz się na taki wysiłek na pewno nie narażę.

Edit:
Read the rest of this entry »

Zarządzanie projektami/ Diagramy Ganta

April 30th, 2009

Potrzebowałem szybko zrobić diagram Ganta i liczyła się głównym kryterium była estetyka, Szybkie przejrzenie repozytoriów znalazło:

  • opensched – niesamowicie toporcne _konsolowe_ narzędzie
  • paje.app – sworzone dla gnu/next stepa, za nic nie chciało normalnie działać pod kontrolą gnome.
  • KPlato (KDE)/Planner (Gnome) – praktycznie identyczna funkcjonalność i wygląd

Na szczęście, zawiedziony tym co znalazłem w repozytoriach, postanowiłem poszukać poza nimi. Wyniki to

Oba wieloplatformowe(java) ale to GanttProject ma najbogatsze możliwości – choć wiadomo -MSProject to jeszcze nie jest :)

Prosta normalizacja plików mp3

April 16th, 2009
sudo apt-get install normalize-audio
#!/bin/bash
IFS=`echo -en "\n\b"`
for d in `find $1  -type d -print`;do
        fs=`find  $d -maxdepth 1 -print|grep '\.mp3$'`
        c=''
        for f in $fs; do
                c=${c}${f}`echo -ne "\n\b"`
        done
        normalize-audio   $c
done

Jako argument dla skryptu podajemy katalog, który zostanie rekurencyjnie przeszukany. Skrypt zakłada, że wszystkie pliki mp3 w jednym katalogu należą do tego samego albumu.

Fraktal (zbiór Mandelbrota) w Pythonie

March 20th, 2009

Prościej się chyba nie da :)

1
2
3
4
5
6
7
8
9
#!/bin/env python
for y in range(-15, 15):
	for x in range(-60, 20):
		j=i=k=0;
		while j*j+i*i<16.0 and k<31:
			j, i=j*j-i*i+x/35.0, 2*j*i+y/10.0
			k+=1
		print " .:-;!/>)|&IH%*#"[k/2],
	print

Testy, quizy, itp.

March 16th, 2009

Jak powszechnie wiadomo (czyli nie chce mi się tego udowadniać) większość dostępnych testów/ankiet z dziedziny psychologi jest bardzo miernej jakości a wszelkie wyciągane na ich podstawie wnioski można postawić na równi z wróżeniem z fusów. W internecie sprawa wygląda jeszcze gorzej. Dlatego chciałbym pochwalić serwis mypersonality.info gdyż udało mu się poprawnie ocenić przynajmniej jedną z moich cech charakteru

PHP/jQuery/JSON i session_start()

February 19th, 2009

Taka ciekawostka – wysyłając jednocześnie wielu żądań do serwera zobaczyłem za pomocą profilera, że 90% czasu poświęconego na obsługę skryptu zajmuje wykonanie session_start(). Powód takiego zachowania jest bardzo prostu – php dba o to dane w sesji zapewniając odpowiednio wysoki poziom izolacji – nie pozwala kolejnemu skryptowi działać jeśli poprzedni nie zakończył modyfikacji tablicy $_SESSION. Na szczęście można użyć session_write_close() kiedy nie będziemy już modyfikować tablicy, co pozwoli już ruszyć obsłudze kolejnego zapytania.

Kolejność przetwarzania reguł CSS

January 19th, 2009

W zasadzie sprawa wydaje się prosta – najpierw definiujemy ogólne reguły a potem je nadpisujemy w zależności od potrzeb. I tak żyłem sobie w błogiej nieświadomości aż trafiłem na coś takiego ( tu wersja maksymalnie uproszczona :):

< !DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>
    div.magic span {color:red}
    span.moja {color:green}
</style>
</head>
<body>
    <div class="magic">
        <span class="moja">text</span>
    </div>
</body>
</html>

Read the rest of this entry »

CfEngine

January 12th, 2009

Postaram się krótko opisać co to jest i jak działa.

CFEngine to system mający na celu proste konfigurowanie duża ilością komputerów pracujących pod kontrola systemów unixowych(teoretycznie jest wersja działająca pod windows ale sami wiecie… ).
Filozofia programu jest następująca – mamy zbiór klas(grup) – dotyczących danego komputera w danej chwili – czyli będzie to jego hostname( lub część), dzień tygodnia, numer ip- dla każdej z tych wartości zostanie zdefiniowana jakaś klasa. Możemy zdefiniować także własne – np. zdefiniować ze komputery a i b to klasa z. Nastepnie mamy zbior regul – mozemy kazda regulke ograniczyc do zbioru klas ( dostepne operatory to AND i OR). Read the rest of this entry »

ScaPy

January 12th, 2009

Cóż może się kryć pod taką niepozorną nazwą? Oczywiście najlepsze narzędzie do tworzenia i modyfikowania pakietów. Ktoś kiedyś powiedział, że Python to język programowania dla hackerów, a ScaPy tylko to potwierdza.

Jako, że jestem leniwy, podsunę tylko link do gotowego wprowadzenia Black Magic. Nazwa zapewne odnosi się do tego, jak wygląda tworzenie pakietów w niskopoziomowych językach jak C. Autor poświęcił zresztą całą stronę na wprowadzenie do Pythona – myślę że to akurat, w końcu to Python :P. Przy pomocy ScaPy i ciekawie przeciążonym operatorom, stworzenie pakietu może wyglądać np. tak

IP(dst="google.com")/TCP(dport=80)/"GET /"

Bounty

January 12th, 2009

Jakoś zapomniałem się podzielić wielką radością – dwa dni temu szacowna poczta raczyła dostarczyć do mnie “list polecony”, a konkretnie paczkę z 30 batonami Bounty z promocji “Milion batonów”. Chyba każdy byłby w takiej sytuacji zadowolony ;) Read the rest of this entry »