Po dłuższej przerwie publikuję nową wersje jTemplates.

Wersja 0.7 oferuje między innymi nowy metaznacznik {#for} pozwalający na tworzenie klasycznych pętli iteracyjnych. Dodatkowo {#foreach} został rozszerzony o możliwość iteracji po wartościach zwracanych z pętli, tj. tak długo aż nie zwróci ona null lub undefined (można też zakres ograniczać ręcznie przy pomocy parametrów: begin, end, count oraz step).
Funkcje współpracujące j jQuery można od teraz spinać w łańcuchy.
Usunełem też kilka błędów, jak na przykład inne interpretowanie toString() przez przeglądarki IE oraz Firefox (w efekcie w IE występowały błędy).

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Aplikacje Google to usługa pozwalająca korzystać z licznych rozwiązań internetowych oferowanych przez Google w pod własnym adresem domeny. Zatem mogę mieć: mail.tpython.com - czyli GMail we własnej domenie, docs.tpython.com - internetowy edytor teksu, arkusz kalkulacyjny i program do tworzenia prezentacji, czy calendar.tpython.com; i nie tylko. Jest też prosty program do tworzenia stron internetowych oraz usługa Czat.
Wersja darmowa (standardowa) pozwala na dodanie do systemu 100 osób, które będą miały dostęp do domeny (m.in. wymiana dokumentów, itp), dodatkowo wyświetla mało inwazyjne reklamy. Płatna znosi te ograniczenia.
Wszystkie dane przechowywane są wciąż na serwerach Google. Dostęp z własnej domeny zapewnia się zwykłym przekierowaniem DNS’a realizowanym rekordem CNAME, tak więc docelowo adres strony zmienia się na “googlowy”. Natomiast dodanie rekordów MX umożliwia utworzenie kod użytkowników w domenie, np. login@tpython.com.

GMail tpython.com

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Dan Eloff przesłał do mnie plik, który umożliwia kolorowanie składni (syntax) jTemplates dla edytora Vim. Dziękuje.
Po kilku drobnych poprawkach zamieszczam jego wersje “beta” poniżej. Przy okazji dołączam również plik z kolorowaniem do Geshi.

jTemplates syntax - Vim

jTemplates syntax - Geshi

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Z wielu różnych powodów dawno nic tu nie pisałem. Ale ostatnie informacje w sprawie firmy Creative zmusiły mnie do tego.
Otóż na oficjalnym forum tegoż (dział Support :) jeden z moderatorów publicznie ogłosił stanowisko firmy w sprawie nieoficjalnych sterowników tworzonych przez użytkownika o pseudonimie Daniel_K. Streszczając: sterowniki te były zbyt dobre, a przede wszystkim lepsze niż oryginalne! Co w tym złego? Creative nie miał argumentów by przekonać użytkowników do zakupu nowych kart, gdyż starsze (ze sterownikiem Daniel_K) bez problemu obsługiwały zaawansowane technologie. A tym czasem wprowadzenie Visty miało być świetnym argumentem dla wyjaśnienia ludziom, że stare karty są do niczego. Plan nie wypalił. Pozostało wystosowanie żądania o zaprzestanie nieautoryzowanego “poprawiania” sterowników. Być może 5 lat temu to by przeszło bez większego echa. Jednak w czasach Digga jest inaczej - ledwie tydzień po opublikowaniu oświadczenia, doczekało się ono blisko 2500 krytycznych odpowiedzi, a moderator zdecydował się… zmienić oświadczenie tak aby wyglądało mniej negatywnie.

Jak Daniel_K pisał sterownik? Nie miał kodów źródłowych, edytował wykonywalne pliki binarne!
W takim trybie pracy nie mógł napisać własnej obsługi zaawansowanych technologii i skleić z resztą sterownika. Owa funkcjonalność musi być już zaimplementowana w oryginalnym sterowniku ale zablokowana. Zadanie Daniel_K ograniczało się do zdjęcia blokady. Nagle tania karta zyskiwała ceny charakteryzujące droższe modele.

Sprawa jawnie przypomina skandal z obsługą Skype na procesorach AMD, gdzie również edycja kodu wykonywalnego pozwoliła ominąć ograniczenia.

Nie raz spotkałem się opiniami użytkowników, który uważali, że na nowszych sterownikach do karty graficznej uzyskują mniejszą wydajność. Nie ma w tym nic dziwnego - firmy mogą przecież przy okazji wydania nowej wersji obniżyć programowo wydajność starszych modeli, tak, aby użytkownicy szybciej zdecydowali się na zakup nowego modelu.

A oprogramowanie?
Prawdę piszą przeraziłem się, gdy usłyszałem, że Microsoft zamierza wydać DARMOWY Service Pack 3 do Windows XP po wydaniu ODP?ATNEJ Visty. Czyżby głównym celem tego SP będzie przekonanie użytkowników do przejścia na nowy system?

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Faktem jest, że jestem ostatnio bardzo zapracowany i niestety nie mam czasu tworzyć nic poza pracą, ale o pojawieniu się nowej wersji TrueCrypt warto wspomnieć, zwłaszcza, że została ona oznaczona pełnym numerem: 5.0.
Wśród nowości warto wspomnieć szyfrowanie partycji rozruchowej(!) systemu operacyjnego (czego jeszcze nie testowałem, mimo świetnej jakości poprzednich wersji TrueCrypta wolę dmuchać na zimne), graficzny interfejs użytkownika dla wersji Linuksowej oraz gotową do zainstalowania wersje pod OS X.

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Jak dzisiaj przeczytałem nagłówki RSS z kilku polskich portali internetowych zaskoczyła mnie mnogość nawiązań do ostatniego oświadczenia IBM na temat systemu OS/2: System ten nie będzie udostępniony na zasadach open-source.
Wiadomość, jak wiadomość, można by powiedzieć, zawsze jest o czymś napisać. Jednak tym razem zastanawiająca jest niewiedza/krótka pamięć/niechęć do pamiętania (nie potrzebne skreślić) autorów tych artykułów. Otóż już od kilku lat wiadomo, że OS/2 nie będzie ani kontynuowany, ani otwarty. Dlaczego? Zacznijmy od początku…

Pod koniec lat 80. ubiegłego stulecia firmy IBM i Microsoft rozpoczęły współpracę przy tworzeniu systemu operacyjnego nowej generacji dla “komputerów osobistych klasy PC”. Założenia i cel był piękny. Prace ruszyły pełną parą, pomimo iż każda ze stron już miała i ciągle udoskonalała swój OS: IBM świetny uniksowy AIX, MS toporny ale dobrze rozreklamowany Windows i MS-DOS. Nie trzeba chyba tłumaczyć dla której strony połączenie było bardziej wartościowe. Po kilku latach coś jednak się stało…
Anegdota mówi, że pewnego razu szef “systemu nowej generacji” (pracujący dla IBM, przepraszam, ale nie pamiętam dzisiaj już jego imienia i nazwiska) wrócił do domu nieco “nieswój”. Po pewnym czasie powiedział żonie, że Microsoft zaoferował mu pracę i pensje 10-ktornie wyższą niż dotychczas. On nie był pewny co zrobić. Ale żona nie miała żadnych wątpliwości. I tym sposobem on (jak również większość ekipy z IBM) przeszła do MS.
W tym momencie system już działał. Trzeba było tylko przepisać na nowe te części systemu, które formalnie zostały zrobione przez IBM, co dla ich autorów (już pracujących dla MS) nie było szczególnym problemem. W tym samym czasie IBM liczył straty i przygotował przesunięcie programistów, tak aby dotychczasowa praca nie poszła na marne.
Niedługo potem Microsoft Windows NT 3.5, IBM już od pewnego czasu oferował OS/2.
Później fakty przebiegały bardzo szybko. W 1995 roku wydany został (jeszcze “stary”) Windows 95 i dzięki szeroko zakrojonej kampanii reklamowej stał się najpopularniejszym systemem operacyjnym na świecie. IBM’owi brakowała siły przebicia. OS/2 nie był wystarczająco kompatybilny z Windowsami, nie był też tak znany dla przeciętnego użytkownika. Wprawdzie był wykorzystywany (na szerszą skalę na przykład w bankomatach), ale nigdy nie odegrał kluczowej roli.
W efekcie (wielu zdarzeń, nie tylko niepowodzenia OS/2) IBM popadł w problemy finansowe. I tym razem zbawieniem dla niego okazał się… Microsoft, który zaoferował ponad 800 milionów dolarów(!) w zamian za… zaprzestanie prac nad systemem OS/2, zakaz jego odsprzedaży i upublicznienie kodu. Doszło do transakcji. IBM przetrwał ciężki okres, ale już nigdy później nie wydał kolejnej wersji OS/2 i powoli wycofywał się ze wsparcia dla obecnych na rynku wersji (ostatecznie w 2005 porzucił wsparcie i cały projekt). Szczegóły umowy nigdy nie zostały oficjalnie przedstawione.

As stated in our response to your September 2005 letter we have considered the positioning of OS/2 and open source several times in the past, and for a variety of business, technical, and legal reasons we have decided to not pursue any OS/2 open source projects.

System nie może być uwolniony, gdyż ciągle obowiązuje umowa z Microsoftem. Ale nigdy nie należy tracić nadziei.

Oczywiście powyższa historia w dużej części opiera się o przypuszczenia i hipotezy nigdy oficjalnie nie potwierdzone. Nie twierdze, że wydarzenia wyglądały dokładnie tak jak to opisałem, ale jest to bardzo prawdopodobne.
OS/2 był świetnym systemem…

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Nowości w jTemplates 0.6.6:
- nowy sposób integrowania szablonów w dokumencie XHTML (wygodny w użyciu i zgodny z XHTML 1.1),
- poprawiony błąd z {#cycle} w przypadku użyciu wieloszablonu (Multitemplates),
- “czyszczenie kodu”

Szablony w kodzie XHTML można umieszcza w tagu <textarea/>. Przykład:

<textarea id="template" style="display:none">
  <table>
    {#foreach $T.table as record}
    <tr>
      <td>{$T.record.name}</td>
    </tr>
    {#/for}
  </table>
</textarea>
 

W celu zapewnienia zgodności z XHTML należy użyć:

<p style="display:none"><textarea id="template" rows="0" cols="0"><![CDATA[
  <table>
    {#foreach $T.table as record}
    <tr>
      <td>{$T.record.name}</td>
    </tr>
    {#/for}
  </table>
]]></textarea></p>
 

Przykład można znaleźć na stronie:
http://jtemplates.tpython.com/example4.html

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Z nadmiaru wolnego czasu w okolicy Świąt wyłania się nowa wersja jTemplates - 0.6.
Podstawową zmianą w stosunku do poprzedniej edycji jest umożliwienie iteracji obiektów (a nie tylko tablic) przy pomocy tagu #foreach:

$(’#result’).setTemplate(’{#foreach $T as i}{$T.i$key} - {$T.i}{#/for}‘);
$(’#result’).processTemplate({‘a’:1, ‘b’:2, ‘c’:3});

Inną nowością jest funkcjonalność “Runnable Function” pozwalająca uruchomić funkcje jak zmienną, czyli bez jawnej specyfikacji w postaci nawiasów.

Pełna lista zmian i najnowsza wersja programu jak zawsze na stronie: http://jtemplates.tpython.com/.

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Tym razem krótko: polecam znakomity artykuł Filozofia - czyli przedmowa “Sagi o Linuksie”? pióra (a właściwie “klawiatury”) Keyto. Świetny tekst napisany bardzo przyjemnym językiem na temat GNU, Uniksa i nie tylko.

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Ciężko opisać moje zdziwienie, gdy dzisiaj czytają listę nowości na FreshMeat ujrzałem FlightGear w pełnej wersji 1.0. Projekt, który jednoznacznie przypomina mi rok 1999, kiedy to po raz pierwszy zainstalowałem Linuksa. FlightGear zawsze rozpoczynał wszelkie zestawienia gier dostępnych na tą platformę.
Symulator lotu, charakteryzujący się świetnym odwzorowaniem rzeczywistości i bogatą bazą modeli samolotów. Cytując z Wikipedii (na licencji: GNU FDL):

Wyróżnia się on profesjonalnym podejściem do symulacji, które przejawia się m.in. w bardzo realistycznym odwzorowaniu nie tylko dynamiki lotu, ale także takich szczegółów jak zgodne z rzeczywistą datą i czasem rozmieszczenie ciał niebieskich.

Jednym z wiodących założeń projektu, postawionym przez twórców projektu już na samym jego początku, są - obok realizmu samego lotu - niewygórowane wymagania sprzętowe projektu.

FlightGear obsługuje m.in. następujące modele dynamiki lotu (ang. Flight Dynamic Model):

* JSBSim - zalecany model dynamiki, oparty na układzie współrzędnościowym, uwzględniającym 6 stopni swobody obiektu; może pracować jako osobny program lub być wywoływanym przez system wizualizacji. Pliki konfiguracyjne dla poszczególnych modeli samolotów i silników są oparte na XMLu. Zawarte w nich informacje bazują na dokumentacji technicznej i danych eksperymentalnych, opisanych przez odpowiednie charakterystyki.

* YASim - model dynamiki będący częścią FlightGear, opiera się na nieco innym podejściu do symulacji niż poprzedni. Bazuje na modelowaniu przepływów powietrza, stąd pod uwagę brane są informacje o geometrii płatowca i jego masie, co ułatwia tworzenie plików konfiguracyjnych dla poszczególnych maszyn.

* UIUC (LaRCsim) - model bazujący na LaRCsim, pierwotnie rozwijanym przez NASA.

Piękne wspomnienia z dawnych lat… i jakby wciąż aktualne…

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop