Psi-psz: Reaktywacja!

Stało się… wyprodukowałem Psi-psz 🙂

Trwało to trochę czasu (notabene, właśnie ze względu na jego brak), ale jest. Czeka z mnóstwem nowości, których chyba nie w sposób zliczyć.

Ja jednak spróbuję, ale zastrzegam, że łatwo coś przegapić:

  • Dźwięki wreszcie działają!
  • Build jest teraz oparty na Qt 3.3.3 oraz wymaga biblioteki QCA jako pliku DLL, stąd pobranie psi-psz-data jest obligatoryjne;
  • Przy wyłączaniu konta w oknie “Konfiguracja kont” wyświetla się pytanie o wylogowanie;
  • Psi rozpoznaje teraz więcej wersji Windows;
  • Funkcja transferu plików nie obcina ich przy specyficznych rozmiarach;
  • Psi już nie crashuje, kiedy kontakt się wyloguje gdy jesteś w trakcie zmieniania mu grupy;
  • Nowe ustawienia domyślne;
  • Gdy używamy opisów pod kontaktami, ikonka statusu może być wyrównana do góry;
  • Przy cytowaniu Psi zachowuje emotikony;
  • Poprawiona wersja Smart Reply and Forward;
  • Statusy offline pokazują się na rosterze;

Dla przypomnienia, bo od ostatniego wydania minęło sporo czasu, Psi-psz można pobrać z następujących miejsc:

Te wydanie powinienem chyba nazwać “Christmas Edition” 😛 Enjoy!

QCA vs. M$ VS .Net 2003 – bitwa!

Muszę przyznać, że była zażarta i obie strony nie chciały łatwo dać adwersarzowi za wygraną. Jako, że przeciwko reżimowi monopolu oraz niczym nieuzasadnionej i beztroskiej zmiany w linkerze Visual Studio (jak narazie niepojętej) stały trzy potęgi w postaci FLOSS, Justina (tak, właśnie tego), oraz mojej skromnej osoby, przeciwnik zaczął tracić grunt pod stopami z każdą kolejną kompilacją.

Wpierw na pole bitwy wprowadziliśmy piechotę, i bawiliśmy się z przeciwnikiem w podchody. Podrzucaliśmy mu gotowe, pliki źródłowe (szpiegów) bezpośrednio do jego źródeł zaopatrzenia (obozu ulokowanego na wzgórzu psi/src), lecz przeciwnik niewzruszony naszymi wyczynami, kwitował je zwykłym i ordynarnym error LNK2019: unresolved external symbol – co za bezczelność! W momencie, gdy my przestrzegaliśmy wszystkich konwencji wojennych (całkowicie poprawny kod itp.).

Wobec nieustępliwości wroga, w tajnym porozumieniu poprzez super-tajną sieć zwaną przez niektórych Jabberem, zwołaliśmy nadzwyczajne zebranie (przerwane na godzinę przez fałszywy alarm przeciwpożarowy w budynku, gdzie przebywał jeden z uczestników obrad), i ustaliliśmy słaby punkt przeciwnika. Jego problem polegał na tym, że kompilatorowi nie podobało się dziedziczenie szablonowej klasy przez klasę nieszablonową. Zaszliśmy więc przeciwnika od tyłu, obchodząc jego zabezpieczenia (likwidacja klasy dziedziczonej i przepisanie jej kodu do klas dziedziczących, na szczęście nie tak aż dużo). Ostateczny cios zadano zdecydowanie, choć lekko nieprecyzyjnie (mea culpa) ;), przez co wykończenie drania zajęło nam kilka minut więcej, ale padł ! padł moloch przed naszymi stopami… HaHaHa!

Po zwycięzkiej bitwie, pogadaliśmy sobie jeszcze chwilę na temat dalszych planów na życie jednego z uczestników bitwy przy kufelku dobrego piwa, pożyczyłem szczęścia na dalszej drodze kariery (btw: w jego planach wykryłem efekt deja’vu … 🙂 ) … a następnie, w zależności od strefy czasowej każdego osobnika, udaliśmy się czynić swoją powinność. Mnie przypadło przespanie się choć kilku godzin, życzę więc Wam teraz dobranoc.