<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>True Solutions &#187; Bez kategorii</title>
	<atom:link href="http://www.truesolutions.pl/blog/category/bez-kategorii/feed" rel="self" type="application/rss+xml" />
	<link>http://www.truesolutions.pl/blog</link>
	<description>Startup w Polsce. Refleksje, przemyślenia, rozwiązania.</description>
	<lastBuildDate>Thu, 07 Jan 2010 23:28:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://www.truesolutions.pl/blog</link>
  <url>http://www.truesolutions.pl/blog/favicon.ico</url>
  <title>True Solutions</title>
</image>
		<item>
		<title>Java (od Apple): zaskakujące update&#8217;y</title>
		<link>http://www.truesolutions.pl/blog/java-kompilacja-a-updatey</link>
		<comments>http://www.truesolutions.pl/blog/java-kompilacja-a-updatey#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:09:46 +0000</pubDate>
		<dc:creator>Wiktor</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/?p=231</guid>
		<description><![CDATA[Poniższy problem starych wyjadaczy Javy pewnie nie zaskoczy, ale ja ani za Javą nie przepadam, ani jej zbyt często nie używam, więc lekko mnie zdziwił&#8230;
Dzisiaj postanowiłem poprawić drobny błąd przy konwertowaniu maili z HTML na czysty tekst. Poprawa trywialna: kilka wywołań replaceAll() i po kłopocie. Ale&#8230;
Po wrzuceniu poprawki na produkcję, przy wysyłaniu maili, pojawił się [...]]]></description>
			<content:encoded><![CDATA[<p><em>Poniższy problem starych wyjadaczy Javy pewnie nie zaskoczy, ale ja ani za Javą nie przepadam, ani jej zbyt często nie używam, więc lekko mnie zdziwił&#8230;</em></p>
<p>Dzisiaj postanowiłem poprawić drobny błąd przy konwertowaniu maili z HTML na czysty tekst. Poprawa trywialna: kilka wywołań replaceAll() i po kłopocie. Ale&#8230;</p>
<p>Po wrzuceniu poprawki na produkcję, przy wysyłaniu maili, pojawił się błąd:</p>
<blockquote><p>javax.mail.MessagingException: Could not connect to SMTP host: xxxxxxxxxx, port: 25;<br />
nested exception is:<br />
java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class aaaaa.yyyyy</p></blockquote>
<p>Błąd oczywiście zupełnie nie związany z wprowadzonymi poprawkami.<br />
Okazało się, że ostatnia (zaintalowałem ją wczoraj) poprawka Javy od Apple zmienia nieco zachowanie kompilatora. Klasa potrzebna do zestawienia połączenia SSL (wyżej nazwana aaaaa.yyyyy) jest ładowana dynamicznie przez wskazanie jej jako dostawcy gniazda przy połączeniach SSL:</p>
<blockquote><p>Security.setProperty( &#8220;ssl.SocketFactory.provider&#8221;, SSL_PROVIDER );</p></blockquote>
<p>Pomimo iż w nagłówku pliku z klasą gdzie ww instrukcja się pojawiła widniała dyrektywa:</p>
<blockquote><p>import aaaaa.*;</p></blockquote>
<p>Kompilator postanowił nie kompilować potrzebnej klasy, bo nie była ona jawnie użyta. Wcześniej nie było tego problemu i wszystkie klasy wpisane w import były kompilowane, niezależnie czy kompilator wykrył, że są używane, czy też nie.</p>
<p>Rozwiązanie jest oczywiście trywialne &#8211; nie należy polegać na wykrywaniu zależności przez kompilator i trzeba ręcznie (jawnie w skrypcie kompilacji) skompilować potrzebne klasy.</p>
<p>IMHO to dość istotna zmiana w zachowaniu kompilatora jak na poprawkę nie zmieniającą nawet numeru wersji (nazwali ją Java for Max OS X 10.6 Update 1)</p>
<p>To nie pierwszy raz, kiedy Apple zaskoczyło mnie poprawką Javy, która spowodowała problemy z naszym systemem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/java-kompilacja-a-updatey/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH &#8211; ułatwiamy sobie życie</title>
		<link>http://www.truesolutions.pl/blog/ssh-ulatwiamy-sobie-zycie</link>
		<comments>http://www.truesolutions.pl/blog/ssh-ulatwiamy-sobie-zycie#comments</comments>
		<pubDate>Sat, 28 Nov 2009 14:05:14 +0000</pubDate>
		<dc:creator>Wiktor</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/?p=197</guid>
		<description><![CDATA[Postanowiłem zebrać dla potomnych (i dla siebie, w razie jakbym czegoś zapomniał) kilka informacji, które ułatwią używanie tego narzędzia oraz pokać inne potencjalne zastosowania inne niż zdalne logowanie.
Automatyczna autoryzacja
Logowanie do zdalnej maszyny jest trywialne:
ssh -llogin nazwa-serwera
potem podajemy hasło i gotowe. Problem pojawia się gdy hasło wygląda tak:
z7kw=TQksHO!CVGSMXmX#5K42hK@ePMQs6(YS
SSH (na szczęście) nie pamięta haseł, ani nie pozwala [...]]]></description>
			<content:encoded><![CDATA[<p>Postanowiłem zebrać dla potomnych (i dla siebie, w razie jakbym czegoś zapomniał) kilka informacji, które ułatwią używanie tego narzędzia oraz pokać inne potencjalne zastosowania inne niż zdalne logowanie.</p>
<p><strong>Automatyczna autoryzacja</strong></p>
<p>Logowanie do zdalnej maszyny jest trywialne:</p>
<blockquote><p>ssh -llogin nazwa-serwera</p></blockquote>
<p>potem podajemy hasło i gotowe. Problem pojawia się gdy hasło wygląda tak:</p>
<blockquote><p>z7kw=TQksHO!CVGSMXmX#5K42hK@ePMQs6(YS</p></blockquote>
<p>SSH (na szczęście) nie pamięta haseł, ani nie pozwala podawać ich w postaci przełącznika (wtedy można by zapisać hasło w jakimś skrypcie). Jest jednak proste rozwiązania tego problemu &#8211; autoryzacja przez parę: klucz prywatny &#8211; klucz publiczny.</p>
<p>Cała operacja sprowadza się do trzech kroków: wygenerowania ww. pary, umieszczenia w ustawieniach użytkownika klucza prywatnego i skopiowania na maszynę zdalną klucza prywatnego.</p>
<p>Nie będę przepisywał sczegółowej instrukcji, którą znajdziecie tutaj: <a href="http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html" target="_blank">http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html</a></p>
<p><strong>Aliasy</strong></p>
<p>Wpisanie nazwy użytkownika i nazwy serwera jako argumentów polecenia nie jest zbyt kłopotliwe, dopóki nie wygląda to tak (przykład skrajny :) ):</p>
<blockquote><p>ssh -p 1234 -leustachybrzeczyszczykiewicz serwer-osiemnasty.szafa-trzydziestadruga.siec-szkieletowa.funnela.com</p></blockquote>
<p>Z pomocą przychodzi plik konfiguracyjny, który dostępny jest pod ścieżką ~/.ssh/config (jak go nie ma, to trzeba sobie zrobić).</p>
<p>Można w nim ustawić na prawdę wiele rzeczy (zachęcam do lektury: man ssh_config ), ale nas w tej chwili interesuje najbardziej trywialna: aliasy.</p>
<p>Po dodaniu takiego wpisu do konfiguracji:</p>
<blockquote><p>Host s18s32</p>
<p><span style="white-space:pre"> </span>HostName serwer-osiemnasty.szafa-trzydziestadruga.siec-szkieletowa.funnela.com</p>
<p><span style="white-space:pre"> </span>Port 1234</p>
<p><span style="white-space:pre"> </span>User eustachybrzeczyszczykiewicz</p>
<p><span style="white-space:pre"> </span>HostKeyAlias serwer18szafa32</p></blockquote>
<p>pan Eustachy, aby dostać się na serwer osiemnasty w trzydziestej drugiej szafie wpisuje po prostu:</p>
<blockquote><p>ssh s18s32</p></blockquote>
<p>lub</p>
<blockquote><p>ssh serwer18szafa32</p></blockquote>
<p>I nie musi już pamiętać nazwy serwera, numeru portu czy nazwy użytkownika. Przede wszystkim nie musi tego za każdym razem wpisywać.</p>
<p><strong>Przekierowywanie portów</strong></p>
<p>Bardzo przydatną w specyficznych sytuacjach funkcją SSH jest możliwość przekierowania portów dowolnej zdalnej maszyny na komputer lokalny. Rozważmy taki przykład:</p>
<p>Nadgorliwy administrator sieci zablokował praktycznie wszystkie usługi. Nawet HTTP kuleje &#8211; nie da się wysłać większej porcji danych POST. Na szczęscie działa SSH. (tak jest skonfigurowana sieć Politechniki Poznańskiej).</p>
<p>My chcemy z takiej sieci zrobić commit SVN ( port: 3690 ) lub połączyć się z bazą danych.</p>
<p>Na pomoc przychodzi oczywiście SSH.</p>
<p>Przy okazji połączenia SSH stawiamy tunel, który mapuje porty jakiejś zdalnej maszyny (np. tej na którą logujemy się przez SSH) na porty lokalne.</p>
<p>W tym celu do pliku konfiguracyjnego dopisujemy linijkę w formacie:</p>
<blockquote><p>LocalForward &lt;port lokalny&gt; &lt;maszyna zdalna&gt;:&lt;port zdalny&gt;</p></blockquote>
<p>np:</p>
<blockquote><p>Host tunnel</p>
<p><span style="white-space:pre"> </span>HostName serwer-pierwszy.funnela.com</p>
<p><span style="white-space:pre"> </span>User root</p>
<p><span style="white-space:pre"> </span>LocalForward 3690 localhost:3690</p>
<p><span style="white-space:pre"> </span>LocalForward 5432 localhost:5432</p>
<p><span style="white-space:pre"> </span>LocalForward 8080 router.funnela.com:8080</p></blockquote>
<p>po zestawieniu połączenia ( ssh tunnel ), możemy połączyć się z komputerem lokalnym na porcie 3690 aby uzyskać połączenie z SVN na serwerze pierwszym. Analogicznie dla Postgresa.</p>
<p>Aby nie mieć w programach klienckich dwóch konfiguracji dla połączenia przez tunel ( połączenie z localhost ) i bezpośrednio, można zastosować prosty trick. Po połączeniu tunelu należy dodać do /etc/hosts wpis, który powiąże nazwę serwera ( serwer-pierwszy.funnela.com ) z adresem 127.0.0.1. Od tej chwili wszelkie połączenia SVN lub Postgres z serwer-pierwszy.funnela.com będą szły przez tunel i zgrabnie ominą firewalla.</p>
<p>Podobnie będą działały połączenia z localhost na porcie 8080, jednak tym razem zostaną przekierowane na zupełnie inną maszynę (router).</p>
<p><strong>SOCKS Proxy</strong></p>
<p>W celu ominięcia firewalla lub w przypadku konieczności połączenia się z użyciem innego zewnętrznego adresu IP, możemy również skorzystać z kolejnej przydatnej funkcji SSH &#8211; SOCKS proxy. Podczas nawiązywania połączenia ze zdalnym serwerem, możemy użyć przełącznika -D wraz z numerem lokalnego portu. Podczas takiego połączenia nasz komputer lokalny będzie działał jako serwer SOCKS. Wystarczy teraz w ustawieniach programu klienckiego (lub ustawieniach sieci np. w Max OS X) wskazać, żeby połączenie odbywało się przez serwer SOCKS pod adresem localhost na podanym wcześniej porcie. Możemy teraz cieszyć się połączeniem przekierowanym przez nasz serwer SSH.</p>
<p>Serwer proxy jest znacznie prostszy w konfiguracji niż przekierowywanie portów &#8211; nie wymaga konfiguracji każdej usługi oddzielnie. Ma jednak sporą wadę: nie wszystkie programy potrafią korzystać z proxy, więc jego zastosowanie ogranicza się głównie do przeglądarki internetowej.</p>
<p>Oczywiście połączenie przez SSH jest zawsze szyfrowane, więc korzystanie z SOCKS lub przekierowywania portów nie tylko pozwala ominąć blokadę portów w sieci, ale również chroni nas przed analizą pakietów przez dynamiczny firewall bądź przechwyceniem ich przez intruza.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/ssh-ulatwiamy-sobie-zycie/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trzy tysiące zmian w kodzie plus zdjęcie dinozaura</title>
		<link>http://www.truesolutions.pl/blog/trzy-tysiace-zmian-w-kodzie-plus-zdjecie-dinozaura</link>
		<comments>http://www.truesolutions.pl/blog/trzy-tysiace-zmian-w-kodzie-plus-zdjecie-dinozaura#comments</comments>
		<pubDate>Thu, 05 Feb 2009 20:25:14 +0000</pubDate>
		<dc:creator>Jacek</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[flux]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/?p=161</guid>
		<description><![CDATA[Mamy okazję na małe święto &#8211; właśnie puściliśmy rewizję numer 3000 do SVN-a dla naszego projektu zwanego roboczo &#8220;Flux&#8221;.

Rewizja nr 3000 powędrowała do SVN-a
Wszystkich zainteresowanych efektami commit-ów zapraszamy na blog Fluksa oraz do zapisania się na beta testy.
Dodatkowo przenieśliśmy się na lepszy serwer, co pozwoliło zwolnić z pracy nasz poprzedni serwer deweloperski. Na zdjęciu macierz [...]]]></description>
			<content:encoded><![CDATA[<p>Mamy okazję na małe święto &#8211; właśnie puściliśmy rewizję numer 3000 do SVN-a dla <a href="http://flux.pl">naszego projektu</a> zwanego roboczo &#8220;Flux&#8221;.</p>
<p><a href="http://www.truesolutions.pl/blog/wp-content/uploads/2009/02/flux-3000-commit.jpg"><img src="http://www.truesolutions.pl/blog/wp-content/uploads/2009/02/flux-3000-commit.jpg" alt="Rewizja nr 3000 powędrowała do SVN-a" title="Rewizja nr 3000 powędrowała do SVN-a" width="400" height="183" class="size-full wp-image-165" /></a><br />
<em>Rewizja nr 3000 powędrowała do SVN-a</em></p>
<p>Wszystkich zainteresowanych efektami commit-ów zapraszamy na <a href="http://blog.flux.pl">blog Fluksa</a> oraz do zapisania się na <a href="http://blog.flux.pl/beta-testy/">beta testy</a>.</p>
<p>Dodatkowo przenieśliśmy się na lepszy serwer, co pozwoliło zwolnić z pracy nasz poprzedni serwer deweloperski. Na zdjęciu macierz w roli podstawki, natomiast serwer wystąpił jako nie-odkurzony-jeszcze stolik pod kawę.</p>
<p><a href="http://www.truesolutions.pl/blog/wp-content/uploads/2009/02/flux-serwer-ibm.jpg"><img src="http://www.truesolutions.pl/blog/wp-content/uploads/2009/02/flux-serwer-ibm.jpg" alt="Nasz pierwszy testowy serwer IBM" title="Nasz pierwszy testowy serwer IBM" width="400" height="496" class="size-full wp-image-169" /></a><br />
<em>Nasz pierwszy testowy serwer IBM wraz z macierzą</em></p>
<p>Oto specyfikacja tego ciężkiego zestawu (dosłownie)</p>
<ul>
<li>2x Pentium III Katmai</li>
<li>512 MB RAM</li>
<li>2x SCSI Storage Controller (Adaptec + IBM) RAID 5</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/trzy-tysiace-zmian-w-kodzie-plus-zdjecie-dinozaura/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Uruchomiliśmy bloga dla projektu Flux</title>
		<link>http://www.truesolutions.pl/blog/uruchomilismy-bloga-dla-projektu-flux</link>
		<comments>http://www.truesolutions.pl/blog/uruchomilismy-bloga-dla-projektu-flux#comments</comments>
		<pubDate>Fri, 28 Nov 2008 21:30:52 +0000</pubDate>
		<dc:creator>Jacek</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[flux]]></category>
		<category><![CDATA[start-up]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/?p=120</guid>
		<description><![CDATA[Dla wszystkich zainteresowanych tym, co się dzieje wokół projektu Flux, uruchomiliśmy dedykowanego bloga.
Docelowo &#8211; blog który aktualnie czytasz &#8211; ma być miejscem naszych przemyśleń związanych z szeroko rozumianym biznesem internetowym. Natomiast pozostałe blogi będą precyzyjnie skupiały się przeznaczonej im tematyce.
Zapraszam do lektury!
]]></description>
			<content:encoded><![CDATA[<p>Dla wszystkich zainteresowanych tym, co się dzieje wokół projektu Flux, uruchomiliśmy dedykowanego <a href="http://blog.flux.pl">bloga</a>.</p>
<p>Docelowo &#8211; blog który aktualnie czytasz &#8211; ma być miejscem naszych przemyśleń związanych z szeroko rozumianym biznesem internetowym. Natomiast <a href="http://blog.muu.sk">pozostałe</a> <a href="http://blog.flux.pl">blogi</a> będą precyzyjnie skupiały się przeznaczonej im tematyce.</p>
<p>Zapraszam do lektury!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/uruchomilismy-bloga-dla-projektu-flux/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zła i komercyjna nasza-klasa.pl</title>
		<link>http://www.truesolutions.pl/blog/zla-i-komercyjna-nasza-klasapl</link>
		<comments>http://www.truesolutions.pl/blog/zla-i-komercyjna-nasza-klasapl#comments</comments>
		<pubDate>Sat, 04 Oct 2008 18:37:22 +0000</pubDate>
		<dc:creator>Jacek</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[biznes]]></category>
		<category><![CDATA[nasza-klasa]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/zla-i-komercyjna-nasza-klasapl</guid>
		<description><![CDATA[O co chodzi?

Trudno nie odnieść się do zamieszania jakie powstało w sieci po tym, jak nasza-klasa.pl wprowadziła opłatę za wyświetlanie informacji o tym, którzy z użytkowników n-k odwiedzili nasz profil. Nietrudno przewidzieć reakcję użytkowników portalu &#8211; atmosfera wśród nich jest gorąca, wielu na własną rękę rozpoczęło protest, umieszczając w swoich profilach zdjęcia z apelami tekstowymi.

Co [...]]]></description>
			<content:encoded><![CDATA[<h4>O co chodzi?</h4>
<p>
Trudno nie odnieść się do <a href="http://webfan.pl/protest-na-nasza-klasa.html">zamieszania</a> jakie powstało w sieci po tym, jak <a href="http://nasza-klasa.pl">nasza-klasa.pl</a> <a href="http://vbeta.pl/2008/10/04/uzytkownicy-naszej-klasy-buntuja-sie-i-nie-chca-placic/">wprowadziła opłatę</a> za wyświetlanie informacji o tym, którzy z użytkowników n-k odwiedzili nasz profil. Nietrudno przewidzieć reakcję użytkowników portalu &#8211; atmosfera wśród nich jest gorąca, wielu na własną rękę rozpoczęło protest, umieszczając w swoich profilach <a href="http://tomasz.topa.pl/protestuje-przeciwko-oplatom-na-naszej-klasie-nie-place-nk.html">zdjęcia</a> z apelami tekstowymi.
</p>
<h4>Co sądzą na ten temat specjaliści?</h4>
<p>
Poziom komentarzy daje jasny obraz o średniej wieku pomysłodawców protestu. Ujawniło się wielu ekspertów, oto kilka ich najciekawszych wypowiedzi (kluczowe fragmenty zostały wytłuszczone):
</p>
<ul>
<li>
<p>specjalista ds. regulacji prawnych:</p>
<blockquote><p><strong>mamy prawo</strong> do bezpłatnego wglądu w historię odwiedzin naszego profilu</p></blockquote>
</li>
<li>
<p>specjalista ds. modelów biznesowych:</p>
<blockquote><p>jest nasz dużo i <strong>sądzimy, że n-k może się utrzymać z reklam</strong> i innych opłat</p></blockquote>
</li>
<li>
<p>specialista ds. autorytetu</p>
<blockquote><p>w ramach protestu <strong>ogłaszam ciszę bez logowania się</strong></p></blockquote>
</li>
<li>
<p>specialista ds. komercyjnych sztuk walki</p>
<blockquote><p>Wstaw ten obraz do swojego profilu, jeśli jesteś przeciwko <strong>komercyjnym chwytom portalu</strong></p></blockquote>
</li>
<li>
<p>specjalista ds. społeczności &#038; web 2.0</p>
<blockquote><p><strong>n-k jest portalem społecznościowym i nie powinna pobierać opłat za korzystanie z jego zasobów</strong></p></blockquote>
</li>
</ul>
<p>
Komentarz do wypowiedzi jest chyba zbędny &#8211; obrazują jednak one, jak znikoma jest świadomość społeczna na temat funkcjonowania biznesu w internecie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/zla-i-komercyjna-nasza-klasapl/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Historyczny wpis na blogu ;)</title>
		<link>http://www.truesolutions.pl/blog/witaj-swiecie</link>
		<comments>http://www.truesolutions.pl/blog/witaj-swiecie#comments</comments>
		<pubDate>Mon, 08 Oct 2007 19:37:51 +0000</pubDate>
		<dc:creator>Jacek</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://www.truesolutions.pl/blog/witaj-swiecie</guid>
		<description><![CDATA[Witaj na naszym blogu. Tematyka będzie oscylować wokół tematów powiązanych z szeroko rozumianym pojęciem &#8220;web development&#8221; &#8211; języki skryptowe, bazy danych, metodyki wytwarzania oprogramowania. Jestem przekonany, iż blog będzie tematycznie ewoluował, stąd zamiast rozpisywać się o prawdopodobnej tematyce zapraszam do przeczytania pierwszego wpisu dotyczącego benchmarku procedur w PostgreSQL. 
]]></description>
			<content:encoded><![CDATA[<p>Witaj na <a href="http://www.truesolutions.pl/blog/o-nas">naszym</a> blogu. Tematyka będzie oscylować wokół tematów powiązanych z szeroko rozumianym pojęciem &#8220;web development&#8221; &#8211; <del datetime="2008-03-19T20:59:50+00:00">języki skryptowe</del>, bazy danych, metodyki wytwarzania oprogramowania. Jestem przekonany, iż blog będzie tematycznie ewoluował, stąd zamiast rozpisywać się o prawdopodobnej tematyce zapraszam do przeczytania <a href="http://www.truesolutions.pl/blog/benchmark-procedur-w-postgresql">pierwszego wpisu</a> dotyczącego benchmarku procedur w PostgreSQL. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.truesolutions.pl/blog/witaj-swiecie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
