Hardcoded thoughts… mostly in C# or php

ISPConfig i OpenSuse 10.3 x64

Ostatnio na jednym z firmowych serwerów, na którym postawiono nieszczęsne OpenSuse, zaistniała potrzeba postawienia ISPConfig. ISPConfig to takie sprytne ustrojstwo, które znacznie ułatwia udostępnianie zasobów serwera - ftp/ssh/www/mysql na potrzeby hostingowe. Fajne, bo darmowe. Zwłaszcza, że hosting nie jest naszym głównym polem zainteresowań, a na DirectAdmina, czy CPanel jeszcze pieniążków wydawać nie chcemy. Samo ISPConfig jest o tyle atrakcyjne, że cały proces wstępnej konfiguracji serwera pod ten panel można znaleźć na stronach Howto forge, serwisu, który nota bene jest przez autorów tegoż panelu hostingowego tworzony.

Wszystko byłoby ładnie, pięknie, gdyby nie fakt, że system jest 64-bitowy, co tradycyjnie problemów w najmniej spodziwanych miejscach przysparza. I mimo, że na forach ISPConfig są opisy co i jak w takiej sytuacji, to żaden z nich złośliwie działać nie chciał. Rozwiązanie jest jednak banalnie proste. W pliku compile_aps/compile zmieniamy linię 75 (tą zaraz po zakończeniu bloku “if”) i wpisujemy w niej
WITH_OPENSSL=”–with-openssl”
Po prostu nie wiedzieć czemu blok “if” jest jakoś magicznie ignorowany, ew. dzieją się tam cuda. A taka delikatna zmiana powoduje, że wszystko zaczyna ładnie śmigać. Miłego.

Torrent Ratio Fuc… Faker

Zabawka dziś spłodzona. W większości oparte na przykładach Twisted, ale chyba działa. Co dokładnie? Ano takie małe proxy, którego jedynym zadaniem jest delikatne modyfikowanie wywoływanego adresu url. Adresu url, za pomocą którego w sieci torrent pyta się o dostępne peery oraz wysyła (dla samych statystyk! :) ) ilość danych przesłanych i odebranych. Zasadniczo takie dane wykorzystywane są w serwisach z torrentami, które na podstawie niskiego ratio blokują/banują użytkownika. Jak wykorzystać? Odpalić z odpowiednimi parametrami, np:

python pytrf.py -u 2.13 -d 0.24 -p 8001

Co odpali serwerek proxy na porcie 8001, który będzie mnożył ilość danych wysyłanych przez 2.13, a ilość danych pobranych przez 0.24. Oczywiściew stosowanym kliencie torrentowym należy ustawić serwerek proxy na localhost, z portem wybranym podczas uruchamiania serwerka. Kolejne wersje z czasem, obecnie zainteresowani muszą albo poguglać, albo bawić się wersją konsolową.

Wersja 0.1: pytrf-v0.1.zip

C# i pliki pomocy

Jedno wiem na pewno - nie nawidzę pisać pomocy do aplikacji. Robienie zrzutów ekranowych z działającego programu to jeszcze pół biedy. Ale napisać samą instrukcję obsługi? Najlepiej taką, która jest zrozumiała dla początkujących i tych bardziej rozgarniętych nie obrazi. Ba, i coby po Polsku była. FUJ! Ostatni raz.

Przy okazji jednak mała sztuczka dot. odpalania plików pomocy z C#/VB, tak na przyszłość. Bo nie spodziewałem się, że jeste to tak proste:

C#:
  1. Windows.Forms.Help.ShowHelp(parent, "plik.chm");

:)

nowa zabawka

Żyć w dniu dzisiejszym zaczęła nowa zabawka - Pythonized! - blog Pythonowi poświęcony. Postaram się możliwie często aktualizować. I nie tylko informacjami bardzo podstawowymi (niczym kolejne warjacje na temat Hello World), ale również zagadnieniami bardziej skomplikowanymi. Współautorzy mile widziani.

Numeric 24.2 pod Windows dla pythona 2.5

Może komuś się przyda, bo oficjalnego builda coś nie widać. Trochę to oszukane, bo nie do końca chciało się kompilować, jednak po zastosowaniu magii zadziałało. Ew. problemy mogą być z funkcjami acosh, asinh, atanh, które w numeric były dodatkowo zdefiniowane.

Całość zbudowana przy wykorzystaniu tego sprytnego narzędzia: GccWinBinaries

numeric-24.2.win32-py2.5.exe

instalacja django pod Windows

Jako, że ostatnio kilku moich znajomych miało pewne problemy z instalacją django pod systemami windowsowymi, poniżej skrócona instrukcja obsługi. Instalowana będzie wersja dev z SVN.
(more...)

ustawianie i resetowanie haseł w django

Do zassania stąd.
Przykład użycia - jak metodzie main():

PYTHON:
  1. djp = djangoPassGen() # inicjowanie obiektu
  2. djp.setPassword(passwd) # ustawienie hasła, nie obligatoryjne
  3. print "Generated digest:", str(djp) # zwraca pełny string hasla, równoznaczne z djp.getDigest()
  4. print "Used Password:", djp.getPassword() # użyte hasło, przydatne przy podaniu pustego i wygenerowaniu losowego

Edit 15.42: Zaznaczam, że powyższy kod nie komunikuje się z django, generuje on tylko i wyłącznie hashe haseł. Ot, taka mała zabawka.

Inżynierka.Start();

Inżynierki pisanie czas zacząć ;) 1 i 2

brawa dla tłumaczy MS

Po przyjściu do pracy tradycyjny check-out CVSa oraz commit zmian, które zostały wprowadzone przez weekend. Okazało się że zmiany moje oraz towarzysza niedoli w obecnym projekcie są jakby niekompatybilne. Cóż, teoretycznie merge'owanie nie do końca się udało. Objawy? Dziwny błąd rzucany przez aplikację - "błąd odbicia". Niespecjalnie wiele mi to mówiło, nasuwało jednak pewne rozwiązanie. Odinstalowałem więc polska nakładkę na .neta. Angielski komunikat mówi jednak znacznie więcej - "There was an error reflecting type". I prawie wszystko jasne. Nasuwa się jednak pytanie - jak można było ten komunikat tak kretyńsko zlokalizować? Brawa dla tłumaczy MS.

Nowe właściwości C# 3.0

Oto niektóre nowe cechy C# 3.0:

Chociaż ten artykuł w pierwszej chwili jak żart potraktowałem... Co jednak żartem się nie okazało, jak zobaczyć możemy tu: link

Sama idea LINQ może i coś w sobie ma - link1 & link2

Natomiast ogólny przegląd właściwości C# 3.0 można znaleźć w oficjalnym dokumencie Microsoftu.

Z całości pewnie będzie można skorzystać w nowym Visual Studio.

Wszystko to ładne, fajne i wogóle, jednakże na pierwszy rzut oka to język jakby eweoluował w złą stronę - PHP i Python kojarzą się samoistnie...

Next Page »