<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;C0IHSXc4cSp7ImA9WxNbEk0.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304</id><updated>2009-11-14T13:25:38.939+01:00</updated><title>racjonalny developer</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/RacjonalnyDeveloper" type="application/atom+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">RacjonalnyDeveloper</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;C0IHSXc-eCp7ImA9WxNbEk0.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-4160742077617647536</id><published>2009-11-11T16:09:00.019+01:00</published><updated>2009-11-14T13:25:38.950+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-14T13:25:38.950+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="generowanie" /><category scheme="http://www.blogger.com/atom/ns#" term="metawidget" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Android + Metawidget = Interesting cooperation</title><content type="html">Dzisiejszy post bedzie w jezyku angielskim, bo to, co tu pokaze nie widzialo jeszcze swiatla dziennego, zatem chcialbym sie tym podzielic latwiej z wieksza iloscia zainteresowanych.&lt;br /&gt;Nie bedzie to ani wprowadzenie do Androida. Duzo materialów jest w necie, dobre wprowadzenie zapewnia strona &lt;a href="http://developer.android.com/index.html"&gt;Android Developers&lt;/a&gt;&lt;br /&gt;Nie bedzie to tez wprowadzenie do &lt;a href="http://metawidget.org/"&gt;Metawidget&lt;/a&gt; - dokumentacje tego narzedzia jest naprawde dobra, a autor oferuje szybkie i porzadne wsparcie na forum.&lt;br /&gt;Bedzie to case study na temat wprowadzania Metawidgeta do aplikacji na Androida - dostepne dla kazdego, nawet bez znajomosci zadnej z powyzszych technologii.&lt;br /&gt;&lt;br /&gt;Lately I've been deep into researching Android as Java development platform. As I'm not really a 'UI-guy' I thought to try to use some tool to make all the dirty (no offence) UI job done. I decided to use Metawidget, which is able to generate views in &lt;a href="http://metawidget.sourceforge.net/doc/reference/en/html/pr02.html"&gt;multiple technologies&lt;/a&gt;, with Android among them.&lt;br /&gt;&lt;br /&gt;Full of optimism I started creating my first application (It will be in the Android Market this year).&lt;br /&gt;First I wanted a View for editing my 'Sleep' object.&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class Sleep1 {&lt;br /&gt;&lt;br /&gt; public int id;&lt;br /&gt; public Date goSleep;&lt;br /&gt; public Date wakeUp;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I can hear the voices shouting "What?! public fields!? - haven't You heard about encapsulation?" or similiar. But don't listen to them. In my case these are irrelevant.&lt;br /&gt;&lt;br /&gt;In metawidget to make Your object shown - You have to set it for inspection. Inspectors will come and check what actually is inside Your object and create some metadata. Then there will come a WidgetBuilder which will read the metadata and generate a View - dynamically. &lt;br /&gt;&lt;br /&gt;In Android Activity I add&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;final AndroidMetawidget metawidget = (AndroidMetawidget) findViewById(R.id.sleepmetawidget);   &lt;br /&gt;metawidget.setToInspect(sleep);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and the result is:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_W3m3hpwtdng/SvrZepbMrhI/AAAAAAAACZg/XWpZRDUafas/s1600-h/amw1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 304px; height: 320px;" src="http://3.bp.blogspot.com/_W3m3hpwtdng/SvrZepbMrhI/AAAAAAAACZg/XWpZRDUafas/s320/amw1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402869823523565074" /&gt;&lt;/a&gt;&lt;br /&gt;Not very fantastic. Yes, metawidget needs some tuning, that's sure. Let's see what we can do! The order is other than expected, and date looks quite interesting but totally not useful. We would need a kind of 'picker' for the date. The reason why metawidget shows a EditText view for date is that the Date property is not required, therefore user has to have a way of non-specifying it, and it can be achieved by EditText&lt;br /&gt;&lt;br /&gt;We will use metawidget's @UiHidden and @UiRequired annotations first .&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class Sleep2 {&lt;br /&gt;&lt;br /&gt; @UiHidden&lt;br /&gt; public int id;&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; public Date goSleep;&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; @UiComesAfter("goSleep")&lt;br /&gt; public Date wakeUp; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which results in&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_W3m3hpwtdng/SvraxFArZQI/AAAAAAAACZo/dFVAN6nS3Zo/s1600-h/amw2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 320px;" src="http://4.bp.blogspot.com/_W3m3hpwtdng/SvraxFArZQI/AAAAAAAACZo/dFVAN6nS3Zo/s320/amw2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402871239677797634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I decided that user doesn't need the id attribute, and set the order of attributes (Maybe we could wish that order of fields methods in class would be the same in source and in class file? This would be good for Java I think, maybe submit it to project &lt;a href="http://openjdk.java.net/projects/coin/"&gt;Coin&lt;/a&gt;?)&lt;br /&gt;&lt;br /&gt;The @UiRequired is telling metawidget to show a 'picker' for date object, unfortunatelly it chooses a 'DatePicker' while I would need a 'time' precision for my attribute.&lt;br /&gt;I would like the date should be presented at the top of the widget, and 'Date' attributes should be presented as an hour:minute. Because Metawidget is open for extension, and promotes 'Composition over Inheritance' I had to extend it a little.&lt;br /&gt;&lt;br /&gt;1. Create annotation to tell metawidget to treat the date object as 'time'. &lt;br /&gt;&lt;pre class="brush: java"&gt; &lt;br /&gt;@Retention( RetentionPolicy.RUNTIME )&lt;br /&gt;@Target( { ElementType.FIELD, ElementType.METHOD } )&lt;br /&gt;public @interface UiAndroidTimeStyle { }&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;2. Create an Inspector object that will read the annotation and add metawidget information about desired behviour.&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class DateOrTimeInspector extends BaseObjectInspector {&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected Map&amp;lt;String, String&amp;gt; inspectProperty(Property property) throws Exception {&lt;br /&gt;  &lt;br /&gt;  Map&amp;lt;String,String&amp;gt; attributes = CollectionUtils.newHashMap(1);&lt;br /&gt;  &lt;br /&gt;  if ( property.getType().equals(Date.class)) {&lt;br /&gt;   if (property.isAnnotationPresent(UiAndroidTimeStyle.class)) {&lt;br /&gt;    attributes.put(InspectionResultConstants.TIME_STYLE,&lt;br /&gt;      InspectionResultConstants.TRUE);&lt;br /&gt;   }&lt;br /&gt;  }  &lt;br /&gt;  return attributes;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. Create an WidgetBuilder object that would actually read the metadata and create 'TimePicker' view.&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;package org.bartczak.metawidget;&lt;br /&gt;&lt;br /&gt;import static org.metawidget.inspector.InspectionResultConstants.REQUIRED;&lt;br /&gt;import static org.metawidget.inspector.InspectionResultConstants.TRUE;&lt;br /&gt;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;import org.metawidget.android.widget.AndroidMetawidget;&lt;br /&gt;import org.metawidget.android.widget.AndroidValueAccessor;&lt;br /&gt;import org.metawidget.inspector.InspectionResultConstants;&lt;br /&gt;import org.metawidget.util.ClassUtils;&lt;br /&gt;import org.metawidget.util.CollectionUtils;&lt;br /&gt;import org.metawidget.util.WidgetBuilderUtils;&lt;br /&gt;import org.metawidget.widgetbuilder.impl.BaseWidgetBuilder;&lt;br /&gt;&lt;br /&gt;import android.text.method.DateKeyListener;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.DatePicker;&lt;br /&gt;import android.widget.EditText;&lt;br /&gt;import android.widget.TimePicker;&lt;br /&gt;import android.widget.TimePicker.OnTimeChangedListener;&lt;br /&gt;&lt;br /&gt;public class AndroidTimePickerWidgetBuilder extends BaseWidgetBuilder&amp;lt;View, AndroidMetawidget&amp;gt; implements AndroidValueAccessor {&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected View buildActiveWidget(&lt;br /&gt;   String elementName,&lt;br /&gt;    Map&amp;lt;String, String&amp;gt; attributes,&lt;br /&gt;    AndroidMetawidget metawidget) throws Exception {&lt;br /&gt;  &lt;br /&gt;  String type = WidgetBuilderUtils.getActualClassOrType( attributes );&lt;br /&gt;&lt;br /&gt;  Class&amp;lt;?&amp;gt; clazz = ClassUtils.niceForName( type );&lt;br /&gt;  &lt;br /&gt;  if ( Date.class.isAssignableFrom( clazz ) ) {&lt;br /&gt;   // Not-nullable dates can use a DatePicker or TimePicker&lt;br /&gt;   if ( TRUE.equals( attributes.get( REQUIRED ) ) ) {&lt;br /&gt;    if ( InspectionResultConstants.TRUE.equals(&lt;br /&gt;      attributes.get(InspectionResultConstants.TIME_STYLE))) {&lt;br /&gt;     TimePicker timePicker = new TimePicker(metawidget.getContext() );&lt;br /&gt;     timePicker.setIs24HourView(Boolean.TRUE);&lt;br /&gt;     timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {&lt;br /&gt;      &lt;br /&gt;      public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {&lt;br /&gt;       updateValueForView(view);&lt;br /&gt;      }&lt;br /&gt;     });&lt;br /&gt;     return timePicker;&lt;br /&gt;    } else {&lt;br /&gt;     return new DatePicker( metawidget.getContext() );&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   return newEditTextField(metawidget);&lt;br /&gt;  } &lt;br /&gt;  return null;&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private View newEditTextField(AndroidMetawidget metawidget) {&lt;br /&gt;  EditText editText = new EditText( metawidget.getContext() );&lt;br /&gt;  editText.setKeyListener( new DateKeyListener() );&lt;br /&gt;&lt;br /&gt;  return editText;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; protected void updateValueForView(TimePicker view) {&lt;br /&gt;  values.put(view,getValueFromView(view));&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; Map&amp;lt;View,Object&amp;gt; values = CollectionUtils.newHashMap();&lt;br /&gt;&lt;br /&gt; public Object getValue(View view) {&lt;br /&gt;  return values.get(view);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private Object getValueFromView(View view) {  &lt;br /&gt;  if (view instanceof TimePicker) {&lt;br /&gt;   TimePicker timePicker = (TimePicker) view;&lt;br /&gt;   Calendar date = Calendar.getInstance();&lt;br /&gt;   date.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());&lt;br /&gt;   date.set(Calendar.MINUTE, timePicker.getCurrentMinute());&lt;br /&gt;   return date.getTime();&lt;br /&gt;  }&lt;br /&gt;  return null;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public boolean setValue(Object value, View view) {&lt;br /&gt;  if (view instanceof TimePicker) {&lt;br /&gt;   if (value instanceof Date) {&lt;br /&gt;    Calendar date = Calendar.getInstance();&lt;br /&gt;    date.setTime((Date) value);&lt;br /&gt;    TimePicker timePicker = (TimePicker) view;&lt;br /&gt;    timePicker.setCurrentHour(date.get(Calendar.HOUR_OF_DAY));&lt;br /&gt;    timePicker.setCurrentMinute(date.get(Calendar.MINUTE));&lt;br /&gt;    updateValueForView(timePicker);&lt;br /&gt;    return true;&lt;br /&gt;   }&lt;br /&gt;  } &lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This class is also able to handle the events on TimePicker so as it's not needed to use the 'Save' button.&lt;br /&gt;&lt;br /&gt;4. Configure metawidget to use my object in a 'compose manner' with all previous functionality&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;metawidget xmlns=&amp;quot;http://metawidget.org&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt; xsi:schemaLocation=&amp;quot;http://metawidget.org http://metawidget.org/xsd/metawidget-1.0.xsd&amp;quot;&lt;br /&gt; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;androidMetawidget xmlns=&amp;quot;java:org.metawidget.android.widget&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;inspector&amp;gt;&lt;br /&gt;   &amp;lt;compositeInspector xmlns=&amp;quot;java:org.metawidget.inspector.composite&amp;quot;&lt;br /&gt;    config=&amp;quot;CompositeInspectorConfig&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;inspectors&amp;gt;&lt;br /&gt;     &amp;lt;array&amp;gt;&lt;br /&gt;      &amp;lt;metawidgetAnnotationInspector&lt;br /&gt;       xmlns=&amp;quot;java:org.metawidget.inspector.annotation&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;propertyTypeInspector&lt;br /&gt;       xmlns=&amp;quot;java:org.metawidget.inspector.propertytype&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;java5Inspector xmlns=&amp;quot;java:org.metawidget.inspector.java5&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;dateOrTimeInspector xmlns=&amp;quot;java:org.bartczak.metawidget&amp;quot; /&amp;gt;&lt;br /&gt;     &amp;lt;/array&amp;gt;&lt;br /&gt;    &amp;lt;/inspectors&amp;gt;&lt;br /&gt;   &amp;lt;/compositeInspector&amp;gt;&lt;br /&gt;  &amp;lt;/inspector&amp;gt;&lt;br /&gt;  &amp;lt;widgetBuilder&amp;gt;&lt;br /&gt;   &amp;lt;compositeWidgetBuilder xmlns=&amp;quot;java:org.metawidget.widgetbuilder.composite&amp;quot;&lt;br /&gt;    config=&amp;quot;CompositeWidgetBuilderConfig&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;widgetBuilders&amp;gt;&lt;br /&gt;     &amp;lt;array&amp;gt;&lt;br /&gt;      &amp;lt;androidTimePickerWidgetBuilder&lt;br /&gt;       xmlns=&amp;quot;java:org.bartczak.metawidget&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;androidWidgetBuilder&lt;br /&gt;       xmlns=&amp;quot;java:org.metawidget.android.widget.widgetbuilder&amp;quot; /&amp;gt;&lt;br /&gt;     &amp;lt;/array&amp;gt;&lt;br /&gt;    &amp;lt;/widgetBuilders&amp;gt;&lt;br /&gt;   &amp;lt;/compositeWidgetBuilder&amp;gt;&lt;br /&gt;  &amp;lt;/widgetBuilder&amp;gt;  &lt;br /&gt; &amp;lt;/androidMetawidget&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/metawidget&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;5. Use the metawidget&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class Sleep3 {&lt;br /&gt;&lt;br /&gt; @UiHidden&lt;br /&gt; public int id;&lt;br /&gt; &lt;br /&gt; /**&lt;br /&gt;  * returns the date of sleep in the 'Day.Month' format&lt;br /&gt;  * @return&lt;br /&gt;  */&lt;br /&gt; @UiReadOnly&lt;br /&gt; public String getDayOfSleep() {&lt;br /&gt;  return TimeUtil.inDayMonthFormat(goSleep);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; @UiAndroidTimeStyle&lt;br /&gt; @UiComesAfter("dayOfSleep")&lt;br /&gt; public Date goSleep;&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; @UiAndroidTimeStyle&lt;br /&gt; @UiComesAfter("goSleep")&lt;br /&gt; public Date wakeUp;&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Which results in&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_W3m3hpwtdng/Svrbrb7PxmI/AAAAAAAACZw/-rLvhKgIEUs/s1600-h/amw3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 258px; height: 320px;" src="http://1.bp.blogspot.com/_W3m3hpwtdng/Svrbrb7PxmI/AAAAAAAACZw/-rLvhKgIEUs/s320/amw3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402872242261444194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That looks quite OK now.&lt;br /&gt;&lt;br /&gt;Let's apply some styles now. According to metawidget docs I configure to use my style in metawidget.xml:&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&amp;lt;layout&amp;gt;&lt;br /&gt;&amp;lt;tableLayout xmlns=&amp;quot;java:org.metawidget.android.widget.layout&amp;quot; &lt;br /&gt;config=&amp;quot;LinearLayoutConfig&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;labelStyle&amp;gt;&amp;lt;int&amp;gt;@org.bartczak.metawidgetshow:style/MyText&amp;lt;/int&amp;gt;&amp;lt;/labelStyle&amp;gt;&lt;br /&gt;&amp;lt;sectionStyle&amp;gt;&amp;lt;int&amp;gt;@org.bartczak.metawidgetshow:style/MyText&amp;lt;/int&amp;gt;&amp;lt;/sectionStyle&amp;gt;&lt;br /&gt;&amp;lt;/tableLayout&amp;gt;&lt;br /&gt;&amp;lt;/layout&amp;gt;&lt;br /&gt;&lt;/pre&gt;  &lt;br /&gt;Where MyText is android style:&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&amp;lt;style name=&amp;quot;MyText&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;item name=&amp;quot;android:textSize&amp;quot;&amp;gt;26sp&amp;lt;/item&amp;gt;&lt;br /&gt;        &amp;lt;item name=&amp;quot;android:textColor&amp;quot;&amp;gt;#0f0&amp;lt;/item&amp;gt;&lt;br /&gt;        &amp;lt;item name=&amp;quot;android:gravity&amp;quot;&amp;gt;right|center_vertical&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;and that is looking:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_W3m3hpwtdng/Svrehik9MlI/AAAAAAAACZ4/54XpvtrZFc8/s1600-h/amw4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 269px; height: 320px;" src="http://4.bp.blogspot.com/_W3m3hpwtdng/Svrehik9MlI/AAAAAAAACZ4/54XpvtrZFc8/s320/amw4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402875370783191634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;which is sort of what we could expect. Only color attribute has been used. What about others? Here I came into &lt;a href="http://sourceforge.net/projects/metawidget/forums/forum/747623/topic/3448466"&gt;discussion&lt;/a&gt; with Richard Kennard on the metawidget forum and it was clear that it's not that easy in Android to apply a style programmatically. You can, however apply style attributes, one by one. Quick dive into metawidgets code into AndroidUtils.applyStyle, and I could see, that color is applied, so as textSize (although textSize isn't working?).&lt;br /&gt;I wanted to make it done, so edited the code of applyStyle:&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;if ( view instanceof TextView ) {&lt;br /&gt;    attributes = metawidget.getContext().obtainStyledAttributes( style, new int[] { R.attr.textColor, R.attr.gravity } );&lt;br /&gt; TextView textView = (TextView) view;&lt;br /&gt;&lt;br /&gt; ColorStateList colors = attributes.getColorStateList( 0 );&lt;br /&gt;&lt;br /&gt; if ( colors != null )&lt;br /&gt;  textView.setTextColor( colors );&lt;br /&gt;&lt;br /&gt; int gravity = attributes.getInteger(1, BOGUS_DEFAULT);&lt;br /&gt;   &lt;br /&gt; if ( gravity!= BOGUS_DEFAULT) {&lt;br /&gt;  textView.setGravity(gravity);&lt;br /&gt; }&lt;br /&gt;   &lt;br /&gt; attributes = metawidget.getContext().obtainStyledAttributes(style, new int[] {android.R.attr.textSize});&lt;br /&gt;   &lt;br /&gt; float textSize = attributes.getDimensionPixelSize(0, BOGUS_DEFAULT );&lt;br /&gt; if ( textSize != BOGUS_DEFAULT )&lt;br /&gt;  textView.setTextSize( textSize );  &lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and used my version of the class.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_W3m3hpwtdng/SvrfaMIp3-I/AAAAAAAACaA/JQtvy6ZV0CY/s1600-h/amw5.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 260px; height: 320px;" src="http://2.bp.blogspot.com/_W3m3hpwtdng/SvrfaMIp3-I/AAAAAAAACaA/JQtvy6ZV0CY/s320/amw5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402876344011448290" /&gt;&lt;/a&gt;&lt;br /&gt;My style attributes are now applied! It looks like 'textSize' attribute has to be obtained in seperate call obtainStyledAttributes()! I don't know why, maybe I should create a small project and submit that bug to google.&lt;br /&gt;&lt;br /&gt;Last thing I wanted to do was i18n. Android has support for that, but it is not integrated in metawidget. The default way for metawidget is to specify a label, and first it's trying to look for a key in resources with that name. In Android in runtime resources are identified by int keys in the magic 'R' class, so this would be very ineffective if we would have to translate the label into 'int', lookup the int value by reflection from the 'R' class, and get the real text which is represented by this int key.&lt;br /&gt;But the int keys in 'R' class looks like this:&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public final class R {&lt;br /&gt;    public static final class attr {&lt;br /&gt;    }&lt;br /&gt;    public static final class drawable {&lt;br /&gt;        public static final int icon=0x7f020000;&lt;br /&gt;    }&lt;br /&gt;    public static final class id {&lt;br /&gt;        public static final int sleepmetawidget=0x7f070000;&lt;br /&gt;    }&lt;br /&gt;    public static final class layout {&lt;br /&gt;        public static final int main=0x7f030000;&lt;br /&gt;    }&lt;br /&gt;    public static final class raw {&lt;br /&gt;        public static final int metawidget=0x7f040000;&lt;br /&gt;    }&lt;br /&gt;    public static final class string {&lt;br /&gt;        public static final int app_name=0x7f050000;&lt;br /&gt;        public static final int dayOfSleepLabel=0x7f050006;&lt;br /&gt;        public static final int goSleepLabel=0x7f050007;&lt;br /&gt;        public static final int wakeUpLabel=0x7f050008;&lt;br /&gt;    }&lt;br /&gt;    public static final class style {&lt;br /&gt;        public static final int MyText=0x7f060000;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;These are constants compile-time, and could be used as annotation parameter. So i have prepared another extension to metawidget!&lt;br /&gt;&lt;br /&gt;1. Annotation to specify a key for label:&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;@Retention( RetentionPolicy.RUNTIME )&lt;br /&gt;@Target( { ElementType.FIELD, ElementType.METHOD } )&lt;br /&gt;public @interface UiAndroidLabelKey {&lt;br /&gt; int value(); &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. It's usage&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class Sleep4 {&lt;br /&gt;&lt;br /&gt; @UiHidden&lt;br /&gt; public int id;&lt;br /&gt; &lt;br /&gt; /**&lt;br /&gt;  * returns the date of sleep in the 'Day.Month' format&lt;br /&gt;  * @return&lt;br /&gt;  */&lt;br /&gt; @UiReadOnly&lt;br /&gt; @UiAndroidLabelKey(R.string.dayOfSleepLabel)&lt;br /&gt; public String getDayOfSleep() {&lt;br /&gt;  return TimeUtil.inDayMonthFormat(goSleep);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; @UiAndroidTimeStyle&lt;br /&gt; @UiComesAfter("dayOfSleep")&lt;br /&gt; @UiAndroidLabelKey(R.string.goSleepLabel)&lt;br /&gt; public Date goSleep;&lt;br /&gt; &lt;br /&gt; @UiRequired&lt;br /&gt; @UiAndroidTimeStyle&lt;br /&gt; @UiComesAfter("goSleep")&lt;br /&gt; @UiAndroidLabelKey(R.string.wakeUpLabel)&lt;br /&gt; public Date wakeUp;&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. Inspector to read the annotation&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public class AndroidLabelKeyInspector extends BaseObjectInspector {&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; protected Map&amp;lt;String, String&amp;gt; inspectProperty(Property property) throws Exception {&lt;br /&gt;&lt;br /&gt;  Map&amp;lt;String, String&amp;gt; attributes = CollectionUtils.newHashMap(1);&lt;br /&gt;&lt;br /&gt;  if (property.isAnnotationPresent(UiAndroidLabelKey.class)) {&lt;br /&gt;   int annotationValue = property.getAnnotation(UiAndroidLabelKey.class).value();&lt;br /&gt;   attributes.put(AndroidMetawidget.LABEL_KEY, &amp;quot;&amp;quot; + annotationValue);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  return attributes;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4. configure metawidget to use the inspector&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&amp;lt;inspector&amp;gt;&lt;br /&gt;   &amp;lt;compositeInspector xmlns=&amp;quot;java:org.metawidget.inspector.composite&amp;quot;&lt;br /&gt;    config=&amp;quot;CompositeInspectorConfig&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;inspectors&amp;gt;&lt;br /&gt;     &amp;lt;array&amp;gt;&lt;br /&gt;      &amp;lt;metawidgetAnnotationInspector&lt;br /&gt;       xmlns=&amp;quot;java:org.metawidget.inspector.annotation&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;propertyTypeInspector&lt;br /&gt;       xmlns=&amp;quot;java:org.metawidget.inspector.propertytype&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;java5Inspector xmlns=&amp;quot;java:org.metawidget.inspector.java5&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;dateOrTimeInspector xmlns=&amp;quot;java:org.bartczak.metawidget&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;androidLabelKeyInspector xmlns=&amp;quot;java:org.bartczak.metawidget&amp;quot; /&amp;gt;&lt;br /&gt;     &amp;lt;/array&amp;gt;&lt;br /&gt;    &amp;lt;/inspectors&amp;gt;&lt;br /&gt;   &amp;lt;/compositeInspector&amp;gt;&lt;br /&gt;  &amp;lt;/inspector&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;5. modification of AndroidMetawidget class&lt;br /&gt;addition in getLabelString() to use new metadata&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;  String labelIntKey = attributes.get( LABEL_KEY );&lt;br /&gt;  if ( labelIntKey!= null) {&lt;br /&gt;   &lt;br /&gt;   Integer realKey = Integer.valueOf(labelIntKey);&lt;br /&gt;   &lt;br /&gt;   return getLocalizedLabelByIntKey(realKey);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and simple method to obtain label from Android&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt; public String getLocalizedLabelByIntKey( int key ) {&lt;br /&gt;  return getContext().getResources().getText(key).toString();&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;My strings looked like this (strings.xml)&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;resources&amp;gt;&lt;br /&gt; &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;Metawidget showcase&amp;lt;/string&amp;gt;    &lt;br /&gt;    &amp;lt;string name=&amp;quot;dayOfSleepLabel&amp;quot;&amp;gt;Dzien&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string name=&amp;quot;goSleepLabel&amp;quot;&amp;gt;Zasniecie&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;string name=&amp;quot;wakeUpLabel&amp;quot;&amp;gt;Pobudka&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;/resources&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and application:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_W3m3hpwtdng/SvrgFpLfdII/AAAAAAAACaI/8eaEu3spvgo/s1600-h/amw6.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 265px; height: 320px;" src="http://2.bp.blogspot.com/_W3m3hpwtdng/SvrgFpLfdII/AAAAAAAACaI/8eaEu3spvgo/s320/amw6.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402877090542351490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes! That's what I wanted. Labels in polish :) However if You supply multiple languages, most suitable will be chosen in runtime by Android.&lt;br /&gt;&lt;br /&gt;Summary: In this article I wanted to show You that it is not that hard to fix or extend Metawidget. So go on - use it, and when it can't handle something - write it! I hope my contribution will be in some parts accepted by Richard Kennard, metawidget's author.&lt;br /&gt;&lt;br /&gt;Using metawidget is fun, with Android - even bigger. I treat it as a kind of training in developing interesting software, and in creating libraries and development tools. Creating a framework for Android is also a good way to understand Android better.&lt;br /&gt;&lt;br /&gt;All code written here is licensed on LGPL license, same as Metawidget itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-4160742077617647536?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/dgmuvOHiE-Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/4160742077617647536/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=4160742077617647536" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4160742077617647536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4160742077617647536?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/11/android-metawidget-interesting.html" title="Android + Metawidget = Interesting cooperation" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_W3m3hpwtdng/SvrZepbMrhI/AAAAAAAACZg/XWpZRDUafas/s72-c/amw1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CU4ESXkzeCp7ImA9WxJQF0s.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-4404795645519049400</id><published>2009-05-31T11:45:00.002+02:00</published><updated>2009-05-31T11:58:28.780+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T11:58:28.780+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="wiki" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><title>Jeszcze bardziej kontekstowe hiperłącza!</title><content type="html">Czy hiperłącza nie powinny być jeszcze potężniejszym mechanizmem? Weźmy pod uwagę np. kawałek zdania "40% budżetu UE", które w hipertekście może wyglądać tak:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;40% &lt;a href="http://pl.wikipedia.org/wiki/Bud%C5%BCet"&gt;budżetu&lt;/a&gt; &lt;a href="http://pl.wikipedia.org/wiki/Unia_Europejska"&gt;UE&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;albo tak:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;40% &lt;a href="http://pl.wikipedia.org/wiki/Bud%C5%BCet_Unii_Europejskiej"&gt;budżetu UE&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Czyż informacja nie byłaby bardziej pełna, gdyby móc wprowadzić obie metody hiperłączy w jednym hipertekście? Czasem człowiek jest zainteresowany czym jest budżet, czasem tym, czym jest UE, a czasem chce się dowiedzieć o tej kombinacji, czyli budżecie UE.&lt;br /&gt;&lt;br /&gt;Zapewne problem był już gdzieś opisywany, ale chyba tylko naukowo (więc posiada trudną do odnalezienia nazwę), bo nic nie słyszałem, by istniała możliwość takiego linkowania w HTMLU. Przydatny dodatek? Przyjmie się?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-4404795645519049400?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/OJmYtnDsWbE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/4404795645519049400/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=4404795645519049400" title="Komentarze (4)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4404795645519049400?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4404795645519049400?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/05/jeszcze-bardziej-kontekstowe-hiperacza.html" title="Jeszcze bardziej kontekstowe hiperłącza!" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;DEMBRH86cSp7ImA9WxJQFU8.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-2175752033275909706</id><published>2009-05-28T17:52:00.003+02:00</published><updated>2009-05-28T18:00:55.119+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-28T18:00:55.119+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="demokracja bezpośrednia" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><title>Latarnik wyborczy</title><content type="html">Wskazuje dokąd płynąć, gdy zgubiliśmy kurs ;-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.latarnikwyborczy.pl/"&gt;Latarnik wyborczy&lt;/a&gt; to serwis internetowy, w którym możemy odpowiedź na serię kluczowych pytań dotyczących poglądów na temat współczesnej europy - a otrzymamy odpowiedź na pytanie do którego komitetu nam najbliżej. Jeśli nie wiesz dokąd popłynąć 7 czerwca - &lt;a href="http://www.latarnikwyborczy.pl/"&gt;sprawdź tu&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Myślałem kiedyś o stworzeniu serwisu społecznościowego podobnego do latarnika, gdzie każdy mógłby wprowadzić swoje poglądy na najważniejsze sprawy w społeczeństwie a serwis umożliwiałby szukanie osób o podobnych poglądach, dyskusję, a także pokazywałby deklarowane w kampanii oraz realizowane działania różnych osób publicznych.&lt;br /&gt;&lt;br /&gt;A potem już tylko krok do demokracji bezpośredniej, gdzie za pośrednictwem bezpiecznego :) serwisu będziemy mogli wypowiedzieć się na te tematy w sposób wiążący.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-2175752033275909706?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/nvwjkEKQwpc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/2175752033275909706/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=2175752033275909706" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2175752033275909706?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2175752033275909706?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/05/latarnik-wyborczy.html" title="Latarnik wyborczy" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkMARX0zfSp7ImA9WxJQEEw.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3329039639572196506</id><published>2009-05-22T20:51:00.002+02:00</published><updated>2009-05-22T20:54:04.385+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T20:54:04.385+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="produktywność" /><category scheme="http://www.blogger.com/atom/ns#" term="biznes" /><category scheme="http://www.blogger.com/atom/ns#" term="organizacja" /><category scheme="http://www.blogger.com/atom/ns#" term="gospodarstwo domowe" /><title>Idealna zakładka</title><content type="html">Pomysł małego racjonalizatora:&lt;br /&gt;&lt;br /&gt;Typowa zakładka do książki ma jeden minus. Po otworzeniu książki na odpowiedniej stronie - nie wiesz, w którym miejscu skończyłeś ostatnio czytać!&lt;br /&gt;&lt;br /&gt;Więc opracowałem projekt takiej zakładki, oto on:&lt;br /&gt;&lt;br /&gt;Strona frontowa:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_W3m3hpwtdng/Shb0VEn7voI/AAAAAAAABeY/8ri9rdxgpNA/s1600-h/zakladka.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_W3m3hpwtdng/Shb0VEn7voI/AAAAAAAABeY/8ri9rdxgpNA/s320/zakladka.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5338723051149966978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Druga strona zakładki powinna być biała&lt;br /&gt;&lt;br /&gt;Zakładka ta musi być wykonana w wymiarze niewiele większym od połowy wysokości książki, by przy żadnej konfiguracji nie wystawała zbytnio.&lt;br /&gt;&lt;br /&gt;Oczywiście ustawiamy taką zakładkę tak, by jej strona frontowa dotykała czytanej strony, a strzałki pokazywały czytany wiersz.&lt;br /&gt;&lt;br /&gt;Czekam na wsparcie społeczności w zakresie wykonania bardziej atrakcyjnego projektu graficznego, puszczenia tego do druku i założenia zakładkowego biznesu ;-P&lt;br /&gt;&lt;br /&gt;PS. Nie sprawdzi się przy e-książkach. do nich automatycznie zakładki zapamiętuje np. foxit reader - lekka alternatywa do czytania pdfów.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3329039639572196506?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/H2eyXQQrm_4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3329039639572196506/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3329039639572196506" title="Komentarze (2)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3329039639572196506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3329039639572196506?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/05/idealna-zakadka.html" title="Idealna zakładka" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_W3m3hpwtdng/Shb0VEn7voI/AAAAAAAABeY/8ri9rdxgpNA/s72-c/zakladka.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;DEIHQnw6cSp7ImA9WxJSGUg.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3448654206889467267</id><published>2009-05-10T13:29:00.002+02:00</published><updated>2009-05-10T13:55:33.219+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-10T13:55:33.219+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="demokracja bezpośrednia" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><title>Wybory do PE 2009 - socjotechnika czy świadomy wybór</title><content type="html">Niebawem w Polsce odbędą się wybory do Parlamentu Europejskiego. &lt;br /&gt;Po raz pierwszy w moim życiu miałem przez moment ochotę zostawić to wszystko w diabły twierdząc, że to i tak nieistotne. Przez ostatnie 5 lat nie zauważyłem, by taki a nie inny wybór polskich parlamentarzystów wpłynął w znaczącym stopniu na działania Unii.&lt;br /&gt;&lt;br /&gt;Postanowiłem jednak zagłosować, by wyrazić swoje zainteresowanie i wpływ. Zrobię to bardziej świadomie, niż wielu innych, bo&lt;br /&gt;a) postanowiłem zapoznać się ze &lt;a href="http://pe2009.pkw.gov.pl/PUE/PL/KOMITETY/index.htm"&gt;wszystkimi komitetami&lt;/a&gt;, które wystawiły kandydatów (nie ma wiele informacji w mass mediach na ten temat)&lt;br /&gt;b) nie skończę na tym, jak wyglądają kandydaci, ani też co mówią w głównych wywiadach, tam gdzie to dla mnie istotne, dotrę do programu kandydatów&lt;br /&gt;&lt;br /&gt;W wyborach do PE nie podoba mi się wiele rzeczy. &lt;br /&gt;1) Metoda liczenia głosów - &lt;a href="http://pl.wikipedia.org/wiki/Metoda_d%27Hondta"&gt;d'Hondta&lt;/a&gt; - preferuje duże ugrupowania.&lt;br /&gt;2) Próg wyborczy aż 5% - eliminuje małe ugrupowania - Moim zdaniem powinien być radykalnie zmniejszony albo zniesiony na potrzeby tych wyborów - bo wszak w PE i tak są dziesiątki partii, więc nie można mówić o nierozdrabnianiu głosów. Skłonność do kompromisów jest kluczowa.&lt;br /&gt;3) Nie wspominając o tym, że jestem zwolennikiem zmierzania ku &lt;a href="http://racjonalny.blogspot.com/2008/12/demokracja-bezporednia.html"&gt;demokracji bezpośredniej&lt;/a&gt;, więc tak ogromna instytucja jak PE (samych parlamentarzystów jest tu 700) mnie nie przekonuje. Wolałbym zostawić więcej rzeczy nieuregulowanych i/lub w rękach ludzi.&lt;br /&gt;4) Stosunkowo mała ilość merytorycznej dyskusji, za to masa wytykania sobie błędów i minusów.&lt;br /&gt;&lt;br /&gt;Mimo to zachęcam do wzięcia udziału w wyborach. Nie tylko "pójść i wrzucić kartkę z tym samym znaczkiem, co na ostatnich wyborach", ale by trochę głębiej przyjrzeć się Unii Europejskiej, a także naszej scenie politycznej.&lt;br /&gt;Nawet jeśli uważacie, że 'wszyscy kradną' lub coś podobnego, to może zmienicie zdanie, gdy dowiecie się, że są jeszcze inne, alternatywne partie/stowarzyszenia, które mają jasny program i mogą być warte Twojego głosu. Może warto zbadać &lt;a href="http://pe2009.pkw.gov.pl/PUE/PL/KOMITETY/index.htm"&gt;listę komitetów&lt;/a&gt; i zapoznać się z ich programem. To będzie bardziej sumienny wybór.&lt;br /&gt;&lt;br /&gt;Jest też pewna forma, którą osobiście popieram, ale mało kto się na nią decyduje (nie znam nikogo jak dotąd) - która mówi 'Tak' dla demokracji i 'Nie' dla wszystkich kandydatów - tj. pójść na wybory i skreślić całą kartkę - głos policzony, lecz nieważny.&lt;br /&gt;&lt;br /&gt;A jeśli nie pójdziesz na wybory, to nie masz podstaw do komentowania sytuacji politycznej ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3448654206889467267?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/DXA04aEWprM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3448654206889467267/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3448654206889467267" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3448654206889467267?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3448654206889467267?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/05/wybory-do-pe-2009-socjotechnika-czy.html" title="Wybory do PE 2009 - socjotechnika czy świadomy wybór" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUIEQXk9fyp7ImA9WxVaFEs.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-5509175917939898253</id><published>2009-04-11T18:07:00.005+02:00</published><updated>2009-04-11T18:31:40.767+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-11T18:31:40.767+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="optymizm" /><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><category scheme="http://www.blogger.com/atom/ns#" term="ewolucja" /><title>Istota wolnego rynku jest jego problemem?</title><content type="html">Wydaje mi się, że jednym z największych problemów/minusów wolnego rynku jest nadmierne nagradzanie najlepszych graczy. Najlepsi robią się tak dobrzy, że zjadają tych mniejszych i robią się jeszcze więksi i lepsi, aż w końcu są tacy duzi, że na rynku panuje pogląd 'too big to fail' czyli są zbyt duzi, by upaść. W związku z tym ryzyko współpracy z nimi można zminimalizować, co staje się problemem, gdy ta duża instytucja faktycznie ma problemy, bo wtedy wielu wydaje się i jest na rękę nie pozwolić jej upaść, co w ostatnich miesiącach widzieliśmy wielokrotnie.&lt;br /&gt;&lt;br /&gt;Kilka dużych instytucji w jednej branży daje nam oligopol, co jest bardzo częstym przypadkiem dziś. Wszak wiadomo, że konkurencja męczy, i na potajemnym układzie cen można sporo zaoszczędzić. Wbrew urzędom antymonopolowym. Zresztą regulacje antymonopolowe dość długo nie będą w stanie poradzić sobie z taką sytuacją wystarczająco. Prawo dotyczy jednego lub grupy państw, a korporacje są ogólnoświatowe.&lt;br /&gt;&lt;br /&gt;Zresztą antymonopol nie istnieje wszędzie, weźmy największy kartel świata : &lt;a href="http://pl.wikipedia.org/wiki/OPEC"&gt;OPEC&lt;/a&gt; jawnie ustalający limity wydobycia.&lt;br /&gt;&lt;br /&gt;Ciekawe, czy przy okazji aktualnej sytuacji ekonomicznej zajdą jakieś zmiany i w tym kawałku rzeczywistości. &lt;br /&gt;&lt;br /&gt;Teoria wolnego rynku trochę przypomina teorię ewolucji - wszak przetrwanie jest weryfikowane przez środowisko(ewolucja)/rynek(ekonomia). W przypadku ewolucji sprawa ma się tak dobrze, bo gatunków jest ogromnie dużo, no i jeśli coś jest nieprzystosowane do środowiska, w którym się znalazło to umiera. Nie jest ratowane, chyba że ma przyjaciół na tyle silnych. To oczyszcza 'geny' i pozostawia tylko te, które są w stanie wyprodukować osobniki zdolne przeżyć w danym otoczeniu.&lt;br /&gt;&lt;br /&gt;Obecnie zarówno jeśli chodzi o ewolucję sprawa jest trochę zaburzona, bo&lt;br /&gt;a) próbujemy sami decydować o genach potomków&lt;br /&gt;b) opanowaliśmy całą planetę i niszczymy ją.&lt;br /&gt;c) wytworzyliśmy własny byt, trochę abstrakcyjny - globalną gospodarkę i jesteśmy od niego w pełni zależni, a nie jest on idealny&lt;br /&gt;&lt;br /&gt;Inspirowane komentarzem Big Papa z interesującego artykułu o &lt;a href="http://www.trystero.pl/archives/2830"&gt;zbyt dużych bankach&lt;/a&gt;, polecam!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-5509175917939898253?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/bmXXLdctBJY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/5509175917939898253/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=5509175917939898253" title="Komentarze (1)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/5509175917939898253?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/5509175917939898253?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/04/istota-wolnego-rynku-jest-jego.html" title="Istota wolnego rynku jest jego problemem?" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;DkAAQXg8cCp7ImA9WxVaFE4.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-5390826804277883249</id><published>2009-04-09T18:36:00.009+02:00</published><updated>2009-04-11T09:25:40.678+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-11T09:25:40.678+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="produktywność" /><category scheme="http://www.blogger.com/atom/ns#" term="log" /><category scheme="http://www.blogger.com/atom/ns#" term="jboss seam" /><category scheme="http://www.blogger.com/atom/ns#" term="inżynieria oprogramowania" /><title>log4j++ czyli log5j - wygodne logowanie</title><content type="html">Zawsze mnie denerwowało dbanie o wydajność logowania i tworzenie kodu typu:&lt;br /&gt;&lt;br /&gt;[1]&lt;br /&gt;&lt;pre name="code" class="java:nocontrols:nogutter"&gt; &lt;br /&gt;if(l.isDebugEnabled()) {&lt;br /&gt;     l.debug("Zaloguj to i tamto " + costam.getCosInnego() + " oraz " + foo.bar());&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;gdyż oczywiście niepotrzebna konkatenacja Stringów na systemie produkcyjnym jest niedopuszczalna.&lt;br /&gt;&lt;br /&gt;Strasznie to utrudnia pisanie kodu i go zaśmieca.&lt;br /&gt;&lt;br /&gt;Jest jednak rozwiązanie - choćby &lt;a href="http://code.google.com/p/log5j/"&gt;log5j&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;log5j problem [1] rozwiązuje poprzez szablon komunikatu:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java:nogutter"&gt; &lt;br /&gt;log.debug( "This thing broke: %s due to bar: %s on this thing: %s", foo, bar, car );&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I jeśli akurat nie mamy poziomu debug to nie konkatenacji Stringów nie następuje.&lt;br /&gt;&lt;br /&gt;log5j Rozwiązuje także problem drugi ze zbyt barokowym stylem deklaracji logera:&lt;br /&gt;&lt;br /&gt;[2]&lt;br /&gt;&lt;pre name="code" class="java:nocontrols:nogutter"&gt; &lt;br /&gt;private static final Logger log = Logger.getLogger( MyClass.class );&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Skracając ją do postaci:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java:nocontrols:nogutter"&gt; &lt;br /&gt;private static final Logger log = Logger.getLogger();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Jasne, że potężne maszynki template-owania kodu w nowoczesnych IDE pozwalają wygenerować zarówno dłuższą jak i krótszą wersję kwestii [2], ale im mniej literek w kodzie, tym lepiej :)&lt;br /&gt;&lt;br /&gt;Seam Framework również rozwiązuje problemy [1] i [2] i to nawet lepiej!&lt;br /&gt;&lt;a href="http://docs.jboss.com/seam/2.1.1.GA/reference/en-US/html/concepts.html#d0e4201"&gt;Dokumentacja&lt;/a&gt; pokazuje jak Seam [1] względem log5j wprowadza swoją kontekstualność, czyli zastępuje wyrażenia EL wartościami z kontekstu Seama&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java:nocontrols:nogutter"&gt; &lt;br /&gt;log.debug( "This thing broke: #{foo} due to bar: #{bar} on this thing: #{car}");  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;a w przypadku [2] rozwiązanie jest jeszcze krótsze:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java:nocontrols:nogutter"&gt; &lt;br /&gt;@Logger private Log log;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;i nie musimy się martwić o static final, gdyż to Seam zapewnia, że nie utworzy więcej niż jednej instancji logera na wszystkie obiekty klasy, a ponadto nie potrzebujemy konstruktora ani fabryki. Wszystko automagicznie!&lt;br /&gt;&lt;br /&gt;Mi takie rozwiązanie bardzo pasuje, choć &lt;a href="http://www.techper.net/2008/03/09/log5j-and-the-state-of-log4j-version-2/"&gt;nie każdy jest tak optymistyczny&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;Ciekawe, czy log4j 2.0, który ma wykorzystywać zalety Javy 5 wprowadzi coś takiego do standardu.&lt;br /&gt;&lt;br /&gt;PS. log5j to malutka nakładka na log4j, więc możecie bardzo łatwo dodać log5j do classpatha i używać skróconej formy w dowolnym projekcie, gdzie dziś standardem jest log4j :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-5390826804277883249?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/6XEOVvWO24w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/5390826804277883249/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=5390826804277883249" title="Komentarze (7)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/5390826804277883249?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/5390826804277883249?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/04/log4j-czyli-log5j-wygodne-logowanie.html" title="log4j++ czyli log5j - wygodne logowanie" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></entry><entry gd:etag="W/&quot;CEIGQn4zcCp7ImA9WxVUF0g.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-1393667241946085367</id><published>2009-03-22T20:43:00.004+01:00</published><updated>2009-03-22T21:08:43.088+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-22T21:08:43.088+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="loterie" /><category scheme="http://www.blogger.com/atom/ns#" term="konkursy" /><category scheme="http://www.blogger.com/atom/ns#" term="ciekawe" /><category scheme="http://www.blogger.com/atom/ns#" term="prywatne" /><category scheme="http://www.blogger.com/atom/ns#" term="satysfakcja" /><category scheme="http://www.blogger.com/atom/ns#" term="finanse" /><title>Prawo niespodzianki</title><content type="html">Prawo niespodzianki jest to zawierana zwykle naprędce umowa gdzie ratując życia/dobytek otrzymuje obietnicę oddania "tego, czego uratowany się nie spodziewa wracając do domu". Jak to w przypadku tego typu niedopowiedzianych historii bywa - można to różnie interpretować, ale najbardziej intrygująca jest wersja z dzieckiem rosnącym w brzuchu uratowanego.&lt;br /&gt;Może się również okazać, że dziecka nie ma, a uratowany weźmie sobie np. nowe zasłony, które zostały kupione jak go nie było i są dla niego 'niespodzianką', albo obiad, który mu ugotowany, czy coś równie nieadekwatnego do uratowania życia :)&lt;br /&gt;&lt;br /&gt;Fikcyjne &lt;a href="http://wiedzmin.wikia.com/wiki/Prawo_niespodzianki"&gt;prawo niespodzianki&lt;/a&gt; raczej nie zdarza się w dzisiejszych czasach. Zresztą handel ludźmi czy darowizny nie są dozwolone ;].&lt;br /&gt;&lt;br /&gt;Podobny mechanizm występuje w przypadku podarunku w postaci losu na loterię. Dajemy komuś coś, czego ostatecznej wartości nie znamy. &lt;br /&gt;Dla mnie to dość ciekawy, niecodzienny prezent.&lt;br /&gt;Dla mojej lubej, to straszna rzecz, której absolutnie nie można zrobić, bo to straszne. &lt;okazuje się, że jest to straszna rzecz, gdy kwota możliwej wygranej przekracza 20000 zł i obdarowywani nie są bliską rodziną&gt;&lt;br /&gt;&lt;br /&gt;I gdyby prawdopodobieństwo wygrania w totka przypadkiem miało swój dzień, wcale nie miałbym wyrzutów sumienia, że nie zatrzymałem dla siebie tego kuponu, albo choć nie zrobiłem kopii liczb i nie mam drugiego, identycznego kuponu, by w razie czego współdzielić łupy. Bo co to za prawo niespodzianki, gdy idealna kopia tego czegoś jest dostępna :) tak jakby oddać tylko jednego z dwóch bliźniaków dostosowując tą metaforę do sagi o wiedźminie.&lt;br /&gt;Nie oczekiwałbym bynajmniej, że obdarowana i wygrana osoba 'odpali' mi działkę, no bo nie o to w tym chodzi. Miałbym za to wielką satysfakcję, że sprawiłem komuś naprawdę niezły prezent. Bo samemu podatku od głupoty w formie losów na loterię nie kupuję.&lt;br /&gt;&lt;br /&gt;Co wy na to - sprawilibyście komuś taki prezent?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-1393667241946085367?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/BA82xbX1X7o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/1393667241946085367/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=1393667241946085367" title="Komentarze (2)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1393667241946085367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1393667241946085367?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/03/prawo-niespodzianki.html" title="Prawo niespodzianki" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;AkMEQ385fSp7ImA9WxVUE00.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-4416107383928515306</id><published>2009-03-17T17:24:00.002+01:00</published><updated>2009-03-17T17:46:42.125+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-17T17:46:42.125+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="biznes" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><category scheme="http://www.blogger.com/atom/ns#" term="film" /><category scheme="http://www.blogger.com/atom/ns#" term="finanse" /><category scheme="http://www.blogger.com/atom/ns#" term="podatki" /><title>Co nosisz w portfelu?</title><content type="html">Zapewne pieniądze. Niektórzy złotówki, inni euro, jeszcze inni dolary, coraz częściej tylko plastikowe.&lt;br /&gt;&lt;br /&gt;A kiedy ostatnio zastanawiałeś się czym one są? Skąd się wzięły pieniądze? dlaczego ich używamy?&lt;br /&gt;A przecież stanowią one podstawę życia w dzisiejszym świecie, szczególnie w obszarach silnie zurbanizowanych. Za co kupisz chleb, gdy stracą na wartości?&lt;br /&gt;&lt;br /&gt;Gdy patrzę na swoją naiwną wiedzę na ten temat sprzed ledwie pół roku to chce mi się śmiać. Możliwe, że moja aktualna wiedza, mimo że większa, nadal jest śmiechu warta, bo istota tkwi gdzie indziej - będę dalej jej poszukiwać. &lt;br /&gt;&lt;br /&gt;Film "Money as debt" czyli "pieniądze jako dług" Świetnie pokazuje, w jaki sposób działa dzisiejszy system pieniężny. Polecam obejrzeć go każdemu, kto używa pieniędzy - naprawdę Was zainteresuje, a możliwe, że w pewnej przyszłości będziecie - dzięki przemyśleniom, jakie wywoła - zdolni podjąć lepszą decyzję.&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" src="http://video.google.pl/googleplayer.swf?docid=-1887591866262119830&amp;hl=pl&amp;fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Jeśli nie jesteście pewni, czy tego chcecie, to rzućcie okiem na to - na pewno pobudzi Wasz apetyt na wiedzę na temat dzisiejszego świata: nbp także tworzy ciekawe, edukacyjne filmy na ten temat : &lt;a href="http://www.nbportal.pl/prezentacje/kreacja.html"&gt;Jak tworzony jest sztuczny pieniądz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na polskiej stronie filmu : &lt;a href="http://www.moneyasdebt.pl/"&gt;http://www.moneyasdebt.pl/&lt;/a&gt; można obejrzeć jeszcze jeden film o podobnej tematyce. Zostawcie go sobie na deser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-4416107383928515306?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/o1_rLTb-FB0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/4416107383928515306/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=4416107383928515306" title="Komentarze (2)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4416107383928515306?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/4416107383928515306?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/03/co-nosisz-w-portfelu.html" title="Co nosisz w portfelu?" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C0cFQ3o-cCp7ImA9WxVWGUk.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3379041103099184952</id><published>2009-03-01T21:48:00.003+01:00</published><updated>2009-03-01T21:56:52.458+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-01T21:56:52.458+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="inżynieria oprogramowania" /><title>Wielokrotne dziedziczenie w Javie</title><content type="html">Wielokrotne dziedziczenie (&lt;a href="http://en.wikipedia.org/wiki/Multiple_inheritance"&gt;multiple inheritance&lt;/a&gt;) to niedostępna w javie możliwość dziedziczenia po wielu klasach.&lt;br /&gt;&lt;br /&gt;W języku Java możliwe jest dziedziczenie po jednej klasie oraz implementacja wielu interfejsów.&lt;br /&gt;&lt;br /&gt;Czym to się różni? Interfejs to tylko deklaracja realizacji pewnej funkcjonalności, podczas gdy klasa to już jej konkretna realizacja.&lt;br /&gt;&lt;br /&gt;Gra jest warta świeczki, bo można dzięki temu zmniejszyć ilość kodu i lepiej zadbać o jego wysoką spójność.&lt;br /&gt;Mi szczególnie brakowało wielodziedziczenia gdy próbowałem dość dokładnie rozdzielić odpowiedzialność poszczególnych klas, a następnie okazywało się, że pewne konkretne&lt;br /&gt;implementacji powinny realizować kilka odpowiedzialności.&lt;br /&gt;&lt;br /&gt;Przyczyny niezaimplementowania w Javie? - Mogę tylko gdybać, gdyż nie znalazłem jednoznacznej odpowiedzi.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Wielodziedziczenie wprowadza dodatkową komplikację do elementów języka&lt;br /&gt;&lt;li&gt;Wielodziedziczenie jest błędogenne&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Bo sprawy nie są takie różowe. wprowadzenie wielodziedziczenia do Javy wymagałoby przemyślenia kilku rzeczy. Weźmy taki przykład:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;identyfikacja&lt;br /&gt;&lt;br /&gt;class Kot {..}&lt;br /&gt;class Pies {..}&lt;br /&gt;class Mutant extends Kot, Pies {..}&lt;br /&gt;&lt;br /&gt;i kod:&lt;br /&gt;&lt;br /&gt;Mutant a = new Mutant();&lt;br /&gt;Object someObject = a;&lt;br /&gt;if ( someObject instanceof Kot ) {&lt;br /&gt; ((Kot) someObject).miau();&lt;br /&gt;} else if ( someObject instanceof Pies ) {&lt;br /&gt; ((Pies) someObject).wrr();&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Trzeba rozpatrzyć to, co powinno być efektem takiego kodu.&lt;br /&gt;&lt;br /&gt;Jeśli chodzi o wartości operatora, to obie powinny dać wynik true, wszak 'someObject' jest zarówno A jak i B.&lt;br /&gt;Wtedy jednak po zmianie kolejnosci ifów otrzymamy inny wynik, co nie powinno mieć miejsca, zatem developer musi być świadomy działania i wystąpienia wielodziedziczenia.&lt;br /&gt;W przypadku instanceof może warto by wprowadzić operator instanceof działający na kilku klasach. Wszak można sobie wyobrazić że chcemy zrobić coś innego, gdy obiekt jest Kotem, co innego gdy jest Psem a jeszcze co innego gdy jest Mutantem:&lt;br /&gt;&lt;br /&gt;if ( someObject instanceof Kot &amp;&amp; Pies) {&lt;br /&gt; ((Mutant) someObject).makeNoise();&lt;br /&gt;else if ( someObject instanceof Kot ) {&lt;br /&gt; ((Kot) someObject).miau();&lt;br /&gt;} else if ( someObject instanceof Pies ) {&lt;br /&gt; ((Pies) someObject).wrr();&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;ale tu nadal mamy sytuację, w której kolejność ifów zmienia wynik, oraz zmiana składni operatora instanceof (na dodatek dodanie &amp;&amp; w tym miejscu nie byłoby możliwe, więc trzeba by zastosować inny.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Diamond problem&lt;br /&gt;&lt;br /&gt;Class A { doSth(); }&lt;br /&gt;Class B { doSth(); }&lt;br /&gt;Class C extends A,B { }&lt;br /&gt;&lt;br /&gt;new C().doSth();&lt;br /&gt;&lt;br /&gt;która metoda powinna zostać wykonana z A czy z B?&lt;br /&gt;&lt;br /&gt;To tzw. Diamond problem.&lt;br /&gt;&lt;br /&gt;Inne języki umożliwiają wielokrotne dziedziczenie i w bardzo różny sposób adresują ten problem.&lt;br /&gt;&lt;br /&gt;Wiem, że jednym rozwiązaniem jest &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=220916"&gt;Traits&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Wymusza to napisanie jednoznacznego kodu w przypadku problemu diamentu.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Post zainspirowany podcastem &lt;a href="http://javaposse.com/?search_string=traits&amp;Submit=Search&amp;search=1"&gt;JavaPosse&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3379041103099184952?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/jmtaPAQByYU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3379041103099184952/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3379041103099184952" title="Komentarze (16)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3379041103099184952?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3379041103099184952?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/03/wielokrotne-dziedziczenie-w-javie.html" title="Wielokrotne dziedziczenie w Javie" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">16</thr:total></entry><entry gd:etag="W/&quot;DkcCQ345cCp7ImA9WxVXF04.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-2963950242867969724</id><published>2009-02-15T17:32:00.002+01:00</published><updated>2009-02-15T22:41:02.028+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-15T22:41:02.028+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="racjonalizm" /><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><category scheme="http://www.blogger.com/atom/ns#" term="finanse" /><category scheme="http://www.blogger.com/atom/ns#" term="ewolucja" /><title>Ekonomia i dlaczego to takie ważne</title><content type="html">&lt;span style="font-weight:bold;font-size:18pt"&gt;Zastanawiam się&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ostatnio wiele nad kwestią 'co jest warte mojej uwagi', czyli nad czym warto się zastanawiać - takie meta-zastanawianie się. I po odrzuceniu pierwszej myśli fatalisytycznej 'cokolwiek, nad czym się zastanawiasz jest ważne, skoro się nad tym zastanawiasz' przeszedłem do &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:18pt"&gt;kryteriów 'ważności'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Wpływanie - ważne jest to, co wpływa na dużą liczbę osób (globalnie)&lt;br /&gt;&lt;li&gt;Umiejscowienie w hierarchii wpływania - Np. dla mnie tu istotne jest zdrowie i kondycja fizyczna, bo wpływa ona na wszystko inne, bez tego nie będę w stanie czerpać radości z żadnej innej rzeczy.&lt;br /&gt;&lt;li&gt;Ja - co jest ważne dla mnie - to kryterium jest słabe, bo z powodu punktu 2) - ważne dla nas osobiście rzeczy mogą okazać się trudniejsze do realizacji, gdy ważniejsze (1,2) rzeczy się zmienią.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:18pt"&gt;Ekonomia&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ekonomia jest tym, co się liczy, bo w dzisiejszej globalnej wiosce, choćbyśmy nie wiem jak się starali, możemy i tak stracić na skutek działań makroekonomicznych. Nie sposób jednocześnie patrzeć na ekonomię, bez patrzenia na społeczeństwo, historię ludzkości i wiele innych 'humanistycznych' nauk.&lt;br /&gt;&lt;br /&gt;I nie interesują mnie tu księgi, rachunkowość, babranie się w kruczkach prawnych czy lukach podatkowych. Raczej dążenie w kierunku zrozumienia całości systemu - przy założeniu, że informacja nigdy nie jest pełna - zrozumienia jak największej liczby równocześnie zachodzących procesów.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:18pt"&gt;Nauki wychodzące z cienia&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Równolegle istotne wydają mi się rzeczy pozwalające odkryć nam samego siebie i świat w koło. Widzę dużą przyszłość w genetyce i sprawach powiązanych z ewolucjonizmem, stąd mój wstępny plan podjęcia studiów na kierunku Bioinformatyka - połączenie przyjemnego z pożytecznym.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:18pt"&gt;Niezależne źródła&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;font-size:7pt"&gt;A na pewno mniej zależne, niż mass-media&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Co do ekonomii, aktualnej sytuacji - chciałem polecić pewne źródła wiedzy i 'aktywatory myślenia' - dobrze napisane, nie wciskające nieuzasadnionych mądrości, a raczej skłaniające do własnej nauki i przemyśleń:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.adamduda.pl/"&gt;Pieniądz, ekonomia&lt;/a&gt; - &lt;a href="http://www.adamduda.pl/"&gt;Adam duda, Myśli niedokończone&lt;/a&gt;, a w szczególności:&lt;br /&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.adamduda.pl/2008/09/23/jak-sie-drukuje-pieniadze/"&gt;Jak Się drukuje pieniądze&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.adamduda.pl/2009/02/06/jak-bankrutuje-bank/"&gt;Jak bankrutuje bank&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://dwagrosze.blogspot.com/"&gt;dwa grosze&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://rewolucjajestteraz.blogspot.com/"&gt;Alternatywne spojrzenie na póki co największą gospodarkę świata : http://rewolucjajestteraz.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Zastanówcie się, co według Was jest Ważne. To, nad czym myślicie i co robicie - określa Was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-2963950242867969724?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/lH1xqntHkN8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/2963950242867969724/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=2963950242867969724" title="Komentarze (5)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2963950242867969724?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2963950242867969724?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/02/ekonomia-i-dlaczego-to-takie-wazne.html" title="Ekonomia i dlaczego to takie ważne" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry gd:etag="W/&quot;DUMFQHg7eCp7ImA9WxVRGEQ.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-244770582193750142</id><published>2009-01-25T14:11:00.005+01:00</published><updated>2009-01-25T16:30:11.600+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-25T16:30:11.600+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pasja" /><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="ciekawe" /><category scheme="http://www.blogger.com/atom/ns#" term="recenzja" /><title>MIT Sketching, PHUN, symulacje fizyczne</title><content type="html">Obejrzyjcie to i pomyślcie, jak byłoby pięknie, gdyby w każdej pracowni fizycznej w szkole podstawowej i średniej była możliwość przeprowadzania takich zajęć.. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NZNTgglPbUA&amp;hl=pl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NZNTgglPbUA&amp;hl=pl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Wyobrażam sobie, że takie symulacje będą niebawem umożliwiać działanie na wyższym poziomie abstrakcji - biblioteki umożliwiające wstawianie całych modułów, np. pojazdów, elementów oddziałujących elektrycznie, a także symulację 3D!&lt;br /&gt;&lt;br /&gt;Co, jeśli nie mamy takiego tabletu? Prócz MIT Sketching istnieje też program &lt;a href="http://www.phunland.com/wiki/Home"&gt;PHUN&lt;/a&gt;, który można sobie &lt;a href="http://www.phunland.com/wiki/Download"&gt;zainstalować i pobawić się&lt;/a&gt;. A rozszerzenie tego programu ma takie możlwości :&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qa9xn-xYQQk&amp;hl=pl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/qa9xn-xYQQk&amp;hl=pl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;więcej&lt;a href="http://www.phunland.com/wiki/Media"&gt; inspirującego, niesamowitego materiału&lt;/a&gt;: &lt;br /&gt;&lt;br /&gt;Rewelacja ;-) Moje dziecko na pewno dostanie taką zabawkę :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-244770582193750142?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/cl8Au11_x30" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/244770582193750142/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=244770582193750142" title="Komentarze (4)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/244770582193750142?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/244770582193750142?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/01/mit-sketching-phun-symulacje-fizyczne.html" title="MIT Sketching, PHUN, symulacje fizyczne" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;C0ICRX08eCp7ImA9WxVREEk.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-927780986091581047</id><published>2009-01-15T18:22:00.003+01:00</published><updated>2009-01-15T18:46:04.370+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-15T18:46:04.370+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="używalność" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="biznes" /><title>Coraz mniej do wymyślenia..</title><content type="html">Dziś spłodziłem wynalazek ogromny. Potrzeba okazała się jego matką, jak to w przypadku wynalazków bywa.&lt;br /&gt;&lt;br /&gt;Słuchawki, które automatycznie pauzują muzykę, gdy się je zdejmie z głowy. Aby nie przegapić żadnej piosenki oczywiście. Świetna sprawa, nie planowałem zrobić na tym biznesu, ale myślałem, że coś takiego nie zostało opisane ;-) myliłem się :&lt;br /&gt;&lt;a href="http://www.halfbakery.com/idea/Auto-pause_20headphones"&gt;http://www.halfbakery.com/idea/Auto-pause_20headphones&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ale wdrożone nie zostało, niektóre urządzenia potrafią zatrzymać odtwarzanie, gdy wyjmie się wtyczkę, to dla mnie za mało.&lt;br /&gt;&lt;br /&gt;No więc kto to opatentuje i stworzy? ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-927780986091581047?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/MW48lSviM3w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/927780986091581047/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=927780986091581047" title="Komentarze (3)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/927780986091581047?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/927780986091581047?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/01/coraz-mniej-do-wymylenia.html" title="Coraz mniej do wymyślenia.." /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;DkcCQH8_fip7ImA9WxVSF0k.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-1287448459889780022</id><published>2009-01-12T07:51:00.002+01:00</published><updated>2009-01-12T08:07:41.146+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-12T08:07:41.146+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="bezpieczeństwo" /><title>Świat nienawiści</title><content type="html">Bardzo ciekawa (może nie wnikliwa, ale to nie zawsze potrzebne) analiza konfliktu w strefie Gazy. Polecem:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.racjonalista.pl/kk.php/s,6285"&gt;Setki trupów w Gazie - http://www.racjonalista.pl/kk.php/s,6285&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-1287448459889780022?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/SL7kEoxBJUc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/1287448459889780022/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=1287448459889780022" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1287448459889780022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1287448459889780022?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/01/wiat-nienawici.html" title="Świat nienawiści" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkMERn86fCp7ImA9WxVSFk0.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3162112758860918206</id><published>2009-01-10T18:07:00.004+01:00</published><updated>2009-01-10T18:26:47.114+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-10T18:26:47.114+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="racjonalizm" /><category scheme="http://www.blogger.com/atom/ns#" term="motoryzacja" /><category scheme="http://www.blogger.com/atom/ns#" term="ekologia" /><category scheme="http://www.blogger.com/atom/ns#" term="warszawa" /><title>Carpooling czyli "podwieź sąsiada"</title><content type="html">&lt;a href="http://pl.wikipedia.org/wiki/Carpooling"&gt;Carpooling &lt;/a&gt;to idea optymalizacyjna ;-)&lt;br /&gt;&lt;br /&gt;Jeśli jeździsz samochodem codziennie do pracy, albo wybierasz się na masową imprezę daleko - możesz dzięki temu podróżować taniej, gdy podwieziesz sąsiada, który akurat pracuje w tym samym rejonie co Ty, no i też jedzie na ten mecz.. :) Jasne, że nie zawsze jest tak różowo, a współpasażerów łatwiej znaleźć przez internet, gdzie z kolei nie wiesz, kogo zapraszasz do samochodu, ale - gra warta świeczki.&lt;br /&gt;&lt;br /&gt;Wszystko ma na celu zmniejszenie korków, zużycia paliw, zanieczyszczeń itd. - idea ciekawa, ale czy to aby ma sens?&lt;br /&gt;&lt;br /&gt;Ja stawiam,że tak - na pewno spore grono korzystających z tej formy transportu też mówi że tak.&lt;br /&gt;&lt;br /&gt;Zagranicą istnieją pewne przywileje, dla samochodów wypełnionych większą ilością pasażerów - np. zarezerwowane pasy, miejsca parkingowe. Tylko gdy jedziesz z sąsiadem - to skłania do spróbowania. Przy magicznych korkach, jak np. w Warszawie - jest to naprawdę uzasadnione. No chyba, że ktoś ma tak &lt;a href="http://www.youtube.com/watch?v=fBfQgcLvg-c"&gt;dobry dojazd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dlatego jeśli ktoś codziennie jeździ samochodem do pracy z okolic metra Racławicka, w okolice Muzeum Powstania Warszawskiego, to (jeśli powie, że trwa to krócej niż 30 minut) chętnie się z nim zabiorę uczestnicząc w kosztach, a jakże!&lt;br /&gt;Myślę, że nawet wrzucę takie ogłoszenie na jakiś portal carpoolingu, a co. Raz kozie śmierć.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3162112758860918206?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/Oev9wk9NcqY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3162112758860918206/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3162112758860918206" title="Komentarze (3)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3162112758860918206?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3162112758860918206?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/01/carpooling-czyli-podwie-ssiada.html" title="Carpooling czyli &quot;podwieź sąsiada&quot;" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;AkEDQnY7fCp7ImA9WxVTGUQ.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-6432038888460219671</id><published>2009-01-03T16:50:00.004+01:00</published><updated>2009-01-03T17:04:33.804+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-03T17:04:33.804+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="ekologia" /><category scheme="http://www.blogger.com/atom/ns#" term="bezpieczeństwo" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><title>Elektrownia atomowa</title><content type="html">Elektrownia atomowa w Polsce? Zamiast węgla?&lt;br /&gt;&lt;br /&gt;Ja jestem za tym, by to wprowadzić.&lt;br /&gt;Wygląda na to, że taka energia jest tańsza i mniej szkodliwa dla środowiska, po prostu sposób uciążliwości jest inny niż w przypadku elektrowni tradycyjnych.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mg.gov.pl/NR/rdonlyres/2291BE8E-55EB-4E4A-A4E6-CD6A29728DB1/47904/Polityka_energetyczna_Polski_do_roku_2031.pdf"&gt;Polityka energetyczna&lt;/a&gt;&lt;br /&gt;to przewiduje, więc niejako decyzja została częściowo podjęta. (Lepiej byłoby to chyba nazwać Strategią energetyczną)&lt;br /&gt;&lt;br /&gt;Tak naprawdę to jeśli ktoś się boi tego typu energii, to niech spojrzy na &lt;a href="http://wedrujacyswiat.pl/data/3-24.pdf"&gt;Mapę elektrowni atomowych w Europie&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Jesteśmy otoczeni! A jako że awarie takich elektrownii mogą mieć zasięg większy niż lokalny, więc i tak jesteśmy narażeni.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-6432038888460219671?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/7HajYw0aOPQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/6432038888460219671/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=6432038888460219671" title="Komentarze (4)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/6432038888460219671?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/6432038888460219671?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2009/01/elektrownia-atomowa.html" title="Elektrownia atomowa" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;DkAFSXg6cSp7ImA9WxVTF04.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-6556795442806243787</id><published>2008-12-31T15:37:00.003+01:00</published><updated>2008-12-31T15:45:18.619+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-31T15:45:18.619+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="certyfikaty" /><category scheme="http://www.blogger.com/atom/ns#" term="ejb" /><category scheme="http://www.blogger.com/atom/ns#" term="scbcd" /><category scheme="http://www.blogger.com/atom/ns#" term="jee 5" /><category scheme="http://www.blogger.com/atom/ns#" term="english" /><title>SCBCD - 2. Session beans</title><content type="html">&lt;ol&gt;&lt;br /&gt; &lt;li&gt;Session beans are not Persistent, are not Entity Beans&lt;br /&gt; &lt;li&gt;When the bean is not used - container can do anything with the bean - it can be destroyed.&lt;br /&gt; &lt;li&gt;Two types of beans:&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Stateless - does not have state - different instances of those beans even for two consequent interacts from the same client.&lt;br /&gt;   &lt;ol&gt;&lt;br /&gt;   &lt;li&gt;you may put sth in the stateless bean - but only things that are:&lt;br /&gt;    &lt;ol&gt;&lt;br /&gt;    &lt;li&gt;inmutable during the application lifetime&lt;br /&gt;    &lt;li&gt;global for all application scope&lt;br /&gt;    &lt;/ol&gt;&lt;br /&gt;   &lt;li&gt;can be a webservice endpoint &lt;br /&gt;   &lt;/ol&gt;&lt;br /&gt;  &lt;li&gt;Stateful - has state - During one session interact with the same bean instance - &lt;br /&gt;   &lt;ol&gt;&lt;br /&gt;   &lt;li&gt;we may put some data there in methodA, and use its state in methodB&lt;br /&gt;   &lt;li&gt;if not used for long time &lt;br /&gt;    &lt;ol&gt;&lt;br /&gt;    &lt;li&gt;passivated ( serialized data and written into some external storage)&lt;br /&gt;    &lt;li&gt;passivation for everything except other beans and container managed objects&lt;br /&gt;    &lt;li&gt;and next: activated (deserialized, set up for use)&lt;br /&gt;    &lt;li&gt;this saves memory for other beans in container - strategy dependant on container and its configuration&lt;br /&gt;    &lt;/ol&gt;&lt;br /&gt;   &lt;li&gt;special activation and passivation (pre and post) callbacks if You really need sth special. (with annotations)    &lt;br /&gt;    &lt;ul&gt;&lt;li&gt;@PrePassivate, @PostPassivate, @PreActivate, @PostActivate&lt;/ul&gt;&lt;br /&gt;   &lt;li&gt;special callbacks for init and destroying of the bean&lt;br /&gt;    &lt;ul&gt;&lt;li&gt;@PostConstruct, @PreDestroy&lt;/ul&gt;&lt;br /&gt;   &lt;li&gt;special annotation for forcing bean removal (when invoked this method - bean is destroyed!)&lt;br /&gt;    &lt;ul&gt;&lt;li&gt;@Remove   &lt;/ul&gt;&lt;br /&gt;   &lt;li&gt;each JNDI lookup from even the same runtime code is a seperate session!   &lt;br /&gt;    &lt;ol&gt;&lt;br /&gt;    &lt;li&gt;these should be called a reference-session bean, because it holds your state as long as You hold a reference to the bean&lt;br /&gt;    &lt;li&gt;if you lose yous reference, and lookup the same bean once more - you get brand new bean state!&lt;br /&gt;    &lt;/ol&gt;&lt;br /&gt;   &lt;/ol&gt;&lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-6556795442806243787?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/-GE5MlDYh3A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/6556795442806243787/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=6556795442806243787" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/6556795442806243787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/6556795442806243787?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/scbcd-2-session-beans.html" title="SCBCD - 2. Session beans" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEUBQXc5eCp7ImA9WxVTFks.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-1420403832754205907</id><published>2008-12-30T20:29:00.003+01:00</published><updated>2008-12-30T20:44:10.920+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-30T20:44:10.920+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="racjonalizm" /><category scheme="http://www.blogger.com/atom/ns#" term="optymizm" /><category scheme="http://www.blogger.com/atom/ns#" term="ateizm" /><category scheme="http://www.blogger.com/atom/ns#" term="ewolucja" /><title>Żądajcie dowodów!</title><content type="html">I to nie osobistych, ani sądowych.&lt;br /&gt;&lt;br /&gt;Pytajcie 'dlaczego?'.&lt;br /&gt;&lt;br /&gt;No właśnie - a dlaczego?&lt;br /&gt;&lt;br /&gt;A dlatego, że duża dawka wnikania w to, jak naprawdę mają się sprawy tego świata wyjdzie Wam na dobre.&lt;br /&gt;Ktoś mówi, że człowiek powstał jako 'inteligentny projekt', (słowo 'kreacjonizm' wychodzi z mody podobno). Zażądajcie dowodów. Takich nie ma. Zaś na podobieństwo do małpy i teorię ewolucji - są. &lt;br /&gt;&lt;br /&gt;By dotrzeć do sedna sprawy często trzeba zapytać &lt;a href="http://biz.blox.pl/2008/11/5-razy-dlaczego.html"&gt;5 razy 'dlaczego?'&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Jeśli nauczycie siebie i swoje dzieci &lt;a href="http://prometheusongebonde.wordpress.com/2008/12/03/thirteen-things-we-should-tell-our-children-about-life-gods-and-our-origins/"&gt;tych 13 prawd&lt;/a&gt;, to będziecie żyć sceptycznie jako wolni ludzie, z wybranym przez samego siebie światopoglądem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-1420403832754205907?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/fJWT4-x0lsY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/1420403832754205907/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=1420403832754205907" title="Komentarze (11)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1420403832754205907?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1420403832754205907?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/dajcie-dowodw.html" title="Żądajcie dowodów!" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total></entry><entry gd:etag="W/&quot;A0INQH05eCp7ImA9WxVTE0w.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-2200424671011506258</id><published>2008-12-26T20:06:00.003+01:00</published><updated>2008-12-26T20:26:31.320+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-26T20:26:31.320+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="certyfikaty" /><category scheme="http://www.blogger.com/atom/ns#" term="scbcd" /><category scheme="http://www.blogger.com/atom/ns#" term="english" /><title>SCBCD - 1. Basics</title><content type="html">First step on my road to SCBCD:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;chap1: Why EJB (Enterprise Java Beans)?&lt;br /&gt; &lt;ol&gt;&lt;br /&gt; &lt;li&gt;Components, seperation of concepts (SoC), DRY (Don't Repeat Yourself[at least not too often]), many roles in the process of creating software,&lt;br /&gt; &lt;li&gt;Application Server should address the need of many things, that You should have otherwise programm by hand, like:&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Transaction Management, Security services, Scaleability of Components, Dependency Injection.&lt;br /&gt;  &lt;li&gt; (of course today we know that there are multiple approaches to solve those problems)&lt;br /&gt;  &lt;li&gt;All to make You (a developer) not repeat Yourself in every project and concentrate solely on the business side of software. &lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt; &lt;li&gt;Need to know: WHY we are using this whole EJB stuff? &lt;br /&gt; &lt;/ol&gt;&lt;br /&gt;&lt;li&gt;chap2:&lt;br /&gt; &lt;ol&gt;&lt;br /&gt; &lt;li&gt;Today we have EJB 3.0, but to go here we had EJB 2.x. It didn't suceed 'enough', due to:&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;too many necessary coding - overbloat in classes/implementing methods, programming model.&lt;br /&gt;  &lt;li&gt;too many xml&lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt; &lt;li&gt;Need to know: WHY it is better to use 3.0 than 2.x?&lt;br /&gt; &lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;chap3:javax.ejb&lt;br /&gt; &lt;ol&gt;&lt;br /&gt; &lt;li&gt;Beans reside in a container. It is its environment to live, ecosystem.&lt;br /&gt; &lt;li&gt;What is it's purpose? It's to guarantee multiple things and let You take care only about business logic. &lt;br /&gt; &lt;li&gt;You leave the rest to the container:&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Transaction (Java Transaction API) -TBC&lt;br /&gt;  &lt;li&gt;Security&lt;br /&gt;  &lt;li&gt;Resources &amp; Lifecycle&lt;br /&gt;  &lt;li&gt;accessible remotely.&lt;br /&gt;  &lt;li&gt;concurrent requests OOTB&lt;br /&gt;  &lt;li&gt;clustering &amp; load balancing - not covered by spec&lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;li&gt;Type of beans&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;Session - components of business logic&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt; Stateless - do not have state, just serving some service basing on parameter. &lt;br /&gt;    It looks as if every call to the stateless bean would be a call to seperate instance&lt;br /&gt;  &lt;li&gt; Stateful - have client-specific state. You get one instance per user session.&lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt;  &lt;li&gt;Message Driven - for asynchronous comunication - you tell it to do sth and don't have to wait for response.&lt;br /&gt;  &lt;li&gt;Entity - represents business objects. &lt;br /&gt;  &lt;/ol&gt; &lt;br /&gt; &lt;li&gt;RMI-IIOP - this is the protocol used by the AS to handle communication with beans.&lt;br /&gt; &lt;li&gt;This gives a programming model called 'location transparency' - &lt;br /&gt;  You operate on the beans just as if they were located locally inside Your application.&lt;br /&gt; &lt;li&gt;The bean can be 'accessed' by JNDI. all beans are put in the AS JNDI Context under the "java:comp/env" variable.&lt;br /&gt;&lt;br /&gt; &lt;li&gt;Step forward from 2.x into 3.0 &lt;br /&gt; &lt;li&gt;Old beans 2.x can be accessed within 3.0 container. spec guarantee that Those beans can coexist with each other. &lt;br /&gt;  it is both backward and forward compatibility.&lt;br /&gt; &lt;li&gt;Hello annotations!&lt;br /&gt; &lt;br /&gt; &lt;li&gt;Deployment descriptor is a file that gives AS instructions on how should the environment for every entity look like.&lt;br /&gt;  &lt;ol&gt;&lt;br /&gt;  &lt;li&gt;DD is not necessary - the annotations can serve this purpose.&lt;br /&gt;  &lt;li&gt;DD can coexist with annotated metadata - if so - DD instructions override annotations - great.&lt;br /&gt;  &lt;li&gt;additionaly optional is vendor-specific DD - gives more instructions for specific AS vendor about how to set up EJB environment.&lt;br /&gt;  &lt;/ol&gt;&lt;br /&gt; &lt;li&gt;Declarative access to another beans, resources and context&lt;br /&gt; &lt;li&gt;Packaging - all beans in one jar file with DD&lt;br /&gt; &lt;li&gt;Smallest example: POJI (plain Old Java Interface) + POJO with some annotations&lt;br /&gt; &lt;br /&gt; &lt;li&gt;Need to know : Why to use EJB at all? Quite a few types of EJBS there. Infrastructure, protocols, services in EJBs world&lt;br /&gt; &lt;/ol&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-2200424671011506258?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/THmxkMuhKsk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/2200424671011506258/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=2200424671011506258" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2200424671011506258?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2200424671011506258?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/scbcd-1-basics.html" title="SCBCD - 1. Basics" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEADSH0-fyp7ImA9WxVTE08.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-1291324512650566725</id><published>2008-12-25T15:25:00.001+01:00</published><updated>2008-12-26T21:19:39.357+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-26T21:19:39.357+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="racjonalizm" /><category scheme="http://www.blogger.com/atom/ns#" term="organizacja" /><category scheme="http://www.blogger.com/atom/ns#" term="gtd" /><title>Przegląd noworoczny</title><content type="html">Przegląd roczny.&lt;br /&gt;&lt;br /&gt;Przegląd roczny czynność, która w ułatwia i pomaga Wam w osiąganiu zamierzonych celów długoterminowych.&lt;br /&gt;&lt;br /&gt;Myślenie&lt;br /&gt;Przegląd to głównie przemyślenia i analiza. Ale o czym myśleć dokonując przeglądu?&lt;br /&gt;&lt;br /&gt;Obszary &lt;br /&gt;Na pewno trzeba podzielić swoje sprawy na obszary - prywatny emocjonalno-uczuciowy, prywatny hobbystyczny, &lt;br /&gt;publiczny społeczny, publiczny profesjonalny, ludzki-wewnętrzny...&lt;br /&gt;Granice obszarów są często dośc płynne - stąd - dobierzcie je według własnych podziałów i kryteriów.&lt;br /&gt;Można też granice obszarów interpretować jako rola, jaką odgrywacie w różnych sytuacjach/grupach/miejscach:&lt;br /&gt;ojciec/żona/dziecko/dyrektor/wolontariusz/trener/pasjonat&lt;br /&gt;&lt;br /&gt;Pierwszy przegląd&lt;br /&gt;Jeśli na co dzień nie stosujecie żadnej choć odrobinę uformalizowanej metody zarządzania celami i zadaniam (jak np. GTD), &lt;br /&gt;to Wasz przegląd będzie wyglądał troche inaczej.&lt;br /&gt;Musicie zastanwoić się nad obszarami swojego życia oraz zdefiniować cele, zidentyfikować aktualnie trwające oraz zaplanowane projekty.&lt;br /&gt;Jest w tym trochę z początkowego działania porządkowania spraw, kiedy wyciągacie wszytkie sprawy z szaf, szuflad, teczek, emaili, głowy..&lt;br /&gt;&lt;br /&gt;Weryfikacja&lt;br /&gt;Wewnątrz każdego obszaru trzeba zwrócić szczególną uwagę na postęp osiągnięty w każdym projekcie/celu. &lt;br /&gt;Jeśli to Wasz pierwszy przegląd, to nie macie szacunkowego postępu lub zamierzonego efektu na koniec roku.&lt;br /&gt;Nie martwcie się, bo jest to jednocześnie najlepszy moment, by wyznaczyć sobie takie cele.&lt;br /&gt;&lt;br /&gt;To najważniejszy moment przeglądu rocznego - weryfikacja aktualnej listy projektów i celów długoterminowych, oraz ocena sytuacji.&lt;br /&gt;&lt;br /&gt;Czy trenowałem wystarczająco dużo, by za pół roku wystąpić w maratonie?&lt;br /&gt;Czy nie trenowałem zbyt intensywnie, jak na początkującego?&lt;br /&gt;&lt;br /&gt;To pytania z mojego przeglądu ;-), jak widać są tu sprzeczne tendencje - tak jest z większością spraw.&lt;br /&gt;&lt;br /&gt;Planowanie&lt;br /&gt;Kolejny etap to zaplanowanie najbliższego roku - &lt;br /&gt;1. Usuńcie zamknięte projekty z pola widzenia&lt;br /&gt;2. Dołóżcie nowe projekty/cele&lt;br /&gt;3. Ustalcie priorytety&lt;br /&gt;4. Usuńcie nadmiarowe elementy z listy&lt;br /&gt;&lt;br /&gt;1. Wszystkie zrealizowane projekty lub takie, których jednak nie zamierzacie zrealizować powinny zostać skreślone/usunięte&lt;br /&gt;2. Co nowego okazało się dla Was ważne w minionym roku? Jeśli nie macie listy 'Kiedyś/Może', to otwórzcie po prostu się na to, &lt;br /&gt;co podpowiada Wam Wasza dusza&lt;br /&gt;3. Jeśli np. w minionym roku urodziło Wam się dziecko lub przydarzyła inna Wielka Rzecz - to na pewno rola ojca otrzyma większy priorytet&lt;br /&gt;niż np. hobbysty fotografii, choć można je z powodzeniem łączyć ;)&lt;br /&gt;4. Jeśli jesteście optymistami, to na Waszej liście w tym momencie znalazło się bardzo dużo rzeczy. Niestety zazwyczaj planujemy więcej,&lt;br /&gt;niż jesteśmy w stanie zrealizować. Czas na realną ocenę - pozostawcie tylko tyle projektów i celów, które jesteście w stanie wykonać &lt;br /&gt;w ciągu jednego roku&lt;br /&gt;&lt;br /&gt;To takie postanowienia noworoczne - tylko nie na poziomie nawyków ("rzucę palenie", "zacznę chodzić na siłownię"), a na poziomie celów.&lt;br /&gt;&lt;br /&gt;Mój przegląd roczny niewiele różni się od mojego &lt;a href="http://racjonalny.blogspot.com/2008/08/przegld-miesiczny.html"&gt;przeglądu miesięcznego&lt;/a&gt;.&lt;br /&gt;Na pewno jest i szerszy i głębszy - wydobyć tu należy wszystkie sprawy.&lt;br /&gt;Dokonywać ją należy raz na rok, choć jeśli wolicie, to można tą samą listę tematów poruszać częściej - rzadziej chyba nie, bo tracimy perspektywę.&lt;br /&gt;&lt;br /&gt;To tylko moje sugestie. w Waszym systemie dostosujecie wszystko do własnych potrzeb.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-1291324512650566725?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/DuUpmML9VjU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/1291324512650566725/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=1291324512650566725" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1291324512650566725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/1291324512650566725?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/przegld-noworoczny.html" title="Przegląd noworoczny" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUIGQng5eip7ImA9WxVTE08.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-2287805111186695310</id><published>2008-12-21T22:30:00.007+01:00</published><updated>2008-12-26T21:32:03.622+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-26T21:32:03.622+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="polityka" /><category scheme="http://www.blogger.com/atom/ns#" term="referendum" /><category scheme="http://www.blogger.com/atom/ns#" term="demokracja bezpośrednia" /><title>Demokracja bezpośrednia</title><content type="html">Co myślicie o realnym dojściu do demokracji bezpośredniej?&lt;br /&gt;Nie tylko w Polsce ale i na całym świecie!&lt;br /&gt;Ale powoli. &lt;br /&gt;&lt;h4&gt;Definicja&lt;/h4&gt;&lt;br /&gt;Co to takiego ta &lt;a href="http://pl.wikipedia.org/wiki/Demokracja_bezpo%C5%9Brednia"&gt;demokracja bezpośrednia&lt;/a&gt; - najlepiej poczytajcie na wiki.&lt;br /&gt;&lt;h4&gt;Szwajcarski system&lt;/h4&gt;&lt;br /&gt;W Szwajcarii wiele decyzji podejmowanych jest przez referenda! WOW, to mi się podoba :)&lt;br /&gt;&lt;h4&gt;Utopia&lt;/h4&gt;&lt;br /&gt;Nigdy nie wprowadzimy tego w 100% - to nierealne, by wszystkie decyzje podejmowało grono np miliarda Chińczyków.&lt;br /&gt;&lt;h4&gt;Niedojrzałość&lt;/h4&gt;&lt;br /&gt;Nie wszyscy ludzie są na tyle dojrzali, by kierować Państwem. Jakie pojęcie ma lump, który nie skończył podstawówki o ekonomii, by decydować np. o budżecie Państwa?&lt;br /&gt;&lt;h4&gt;Koszty&lt;/h4&gt;&lt;br /&gt;Organizacja referendum to duże koszta&lt;br /&gt;Sam sobie wymyślam kontrargumenty, by potem je obalić :)&lt;br /&gt;Obalać będę w następnym poście.&lt;br /&gt;&lt;br /&gt;Co myślicie? Czy gdyby zostało zapewnione, że taki system będzie tani ( tańszy od dzisiejszych wyborów parlamentarnych wraz z obsługą sejmu ) i bezpieczny (autentyczne wyniki, nie korupcjogenny), to czy byście popierali taką inicjatywę? dlaczego? Co to może zmienić w którym kraju? Co może zmienić w Polsce?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-2287805111186695310?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/K9N6Jz5mR2c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/2287805111186695310/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=2287805111186695310" title="Komentarze (2)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2287805111186695310?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/2287805111186695310?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/demokracja-bezporednia.html" title="Demokracja bezpośrednia" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;CkAARXsycCp7ImA9WxRaF08.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3702909871736429019</id><published>2008-12-19T21:04:00.007+01:00</published><updated>2008-12-19T22:05:44.598+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-19T22:05:44.598+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ekonomia" /><category scheme="http://www.blogger.com/atom/ns#" term="radość" /><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="mapa myśli" /><category scheme="http://www.blogger.com/atom/ns#" term="przyszłość" /><category scheme="http://www.blogger.com/atom/ns#" term="państwo" /><category scheme="http://www.blogger.com/atom/ns#" term="ewolucja" /><category scheme="http://www.blogger.com/atom/ns#" term="szczęście" /><category scheme="http://www.blogger.com/atom/ns#" term="książka" /><category scheme="http://www.blogger.com/atom/ns#" term="bieda" /><category scheme="http://www.blogger.com/atom/ns#" term="recenzja" /><category scheme="http://www.blogger.com/atom/ns#" term="podatki" /><title>Wędrujący świat</title><content type="html">Dziś pierwsza recenzja (?) książki w formie &lt;a href="http://en.wikipedia.org/wiki/Mind_map"&gt;mind map&lt;/a&gt; - &lt;a href="http://pl.wikipedia.org/wiki/Mapa_my%C5%9Bli"&gt;mapy myśli&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Książka to "Wędrujący Świat" Grzegorza Kołodki&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Zgodnie z zasadą, że należy też czytać książki, z którymi sie nie zgadzamy - zabrałem się za tą, bo choć temat i recenzje w necie interesujące - to autor kojarzył mi się bardzo z ekipą Leszka Millera, który nie pozostawił po sobie najlepszego wrażenia, ale to raczej odbiór emocjonalny.&lt;br /&gt;&lt;br /&gt;Nie zawiodłem się ani na chwilę. Książka rewelacyjnie otwiera na wiele tematów (mnie otworzyła), o których będziemy jeszcze na naszej planecie Ziemi długo rozprawiać. Dodatkowo dołączony jest &lt;a href="http://wedrujacyswiat.pl/index.php"&gt;nawigator po wędrującym świecie&lt;/a&gt;, który oferuje wiele ciekawych zasobów a jednocześnie daje okazje prowadzić i kontynuować dyskusję na tematy, które zostały poruszone w książce.&lt;br /&gt;&lt;br /&gt;Największą zaletą treści jest to, że daje bardzo mało (sic!) ostatecznych rozwiązań. Jest jakby szkieletem, ale nie książki, a szkieletem rozważań i dyskusji. &lt;br /&gt;&lt;br /&gt;Zresztą zaczyna się od słowa, które jest ważna. Słowa są ważne i wpływają.&lt;br /&gt;&lt;br /&gt;Mapę zrobiłem po to, by dać Wam okazję szybkiego ogarnięcia tematów, o których mowa w książce, oraz po to, by zachować dla siebie notatkę - w postaci mapy myśli. Systematyzuje wiedzę, pozwala wrócić szybko do tematów tu poruszanych w przyszłości.&lt;br /&gt;&lt;br /&gt;To eksperyment - zobaczymy czy się sprawdzi.&lt;br /&gt;&lt;br /&gt;Mapa w formacie mm (dla posiadaczy programu FreeMind - kliknij prawym i od razu zapisz jako.. - Serwer nie wysyła informacji o typie MIME, więc jeśli masz standardową przeglądarkę, to możesz mieć problem - w razie czego pisz w komentarzach) : &lt;a href="http://stud.ics.p.lodz.pl/~kretes/blog/wswiat.mm"&gt;Wędrujący świat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mapa w png:&lt;a href="http://stud.ics.p.lodz.pl/~kretes/blog/wswiat.png"&gt;Wędrujący świat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mapa w html:&lt;a href="http://stud.ics.p.lodz.pl/~kretes/blog/wswiat.mm.html"&gt;Wędrujący świat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mapa w formacie txt:P:&lt;br /&gt;&lt;br /&gt;&lt;script language="JavaScript"&gt;&lt;br /&gt;   // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and&lt;br /&gt;   // Mozilla 0.9.6.&lt;br /&gt;&lt;br /&gt;   if (document.layers) {&lt;br /&gt;      //Netscape 4 specific code&lt;br /&gt;      pre = 'document.';&lt;br /&gt;      post = ''; }&lt;br /&gt;   if (document.getElementById) {&lt;br /&gt;      //Netscape 6 specific code&lt;br /&gt;      pre = 'document.getElementById("';&lt;br /&gt;      post = '").style'; }&lt;br /&gt;   if (document.all) {&lt;br /&gt;      //IE4+ specific code&lt;br /&gt;      pre = 'document.all.';&lt;br /&gt;      post = '.style'; }&lt;br /&gt;&lt;br /&gt;function layer_exists(layer) {&lt;br /&gt;   try {&lt;br /&gt;      eval(pre + layer + post);&lt;br /&gt;      return true; }&lt;br /&gt;   catch (error) {&lt;br /&gt;      return false; }}&lt;br /&gt;&lt;br /&gt;function show_layer(layer) {&lt;br /&gt;   eval(pre + layer + post).position = 'relative'; &lt;br /&gt;   eval(pre + layer + post).visibility = 'visible'; }&lt;br /&gt;&lt;br /&gt;function hide_layer(layer) {&lt;br /&gt;   eval(pre + layer + post).visibility = 'hidden';&lt;br /&gt;   eval(pre + layer + post).position = 'absolute'; }&lt;br /&gt;&lt;br /&gt;function hide_folder(folder) {&lt;br /&gt;    hide_folding_layer(folder)&lt;br /&gt;    show_layer('show'+folder);&lt;br /&gt;&lt;br /&gt;    scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function show_folder(folder) {&lt;br /&gt;    // Precondition: all subfolders are folded&lt;br /&gt;&lt;br /&gt;    show_layer('hide'+folder);&lt;br /&gt;    hide_layer('show'+folder);&lt;br /&gt;    show_layer('fold'+folder);&lt;br /&gt;&lt;br /&gt;    scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)&lt;br /&gt;&lt;br /&gt;    var i;&lt;br /&gt;    for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {&lt;br /&gt;       show_layer('show'+folder+'_'+i); }&lt;br /&gt;}&lt;br /&gt;function show_folder_completely(folder) {&lt;br /&gt;    // Precondition: all subfolders are folded&lt;br /&gt;&lt;br /&gt;    show_layer('hide'+folder);&lt;br /&gt;    hide_layer('show'+folder);&lt;br /&gt;    show_layer('fold'+folder);&lt;br /&gt;&lt;br /&gt;    scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)&lt;br /&gt;&lt;br /&gt;    var i;&lt;br /&gt;    for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {&lt;br /&gt;       show_folder_completely(folder+'_'+i); }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function hide_folding_layer(folder) {&lt;br /&gt;   var i;&lt;br /&gt;   for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {&lt;br /&gt;       hide_folding_layer(folder+'_'+i); }&lt;br /&gt;&lt;br /&gt;   hide_layer('hide'+folder);&lt;br /&gt;   hide_layer('show'+folder);&lt;br /&gt;   hide_layer('fold'+folder);&lt;br /&gt;&lt;br /&gt;   scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function fold_document() {&lt;br /&gt;   var i;&lt;br /&gt;   var folder = '1';&lt;br /&gt;   for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {&lt;br /&gt;       hide_folder(folder+'_'+i); }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function unfold_document() {&lt;br /&gt;   var i;&lt;br /&gt;   var folder = '1';&lt;br /&gt;   for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {&lt;br /&gt;       show_folder_completely(folder+'_'+i); }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;W&amp;#281;druj&amp;#261;cy &amp;#346;wiat&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')"&gt;-&lt;/Span&gt;&lt;br /&gt;1. &amp;#346;wiat, s&amp;#322;owa, tre&amp;#347;ci&lt;br /&gt;&lt;ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;S&amp;#322;owa znacz&amp;#261;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;rodzaje prawdy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ekonomia normatywna i pozytywna&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;dyskusje, pogl&amp;#261;dy, k&amp;#322;amstwa&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;przekonywanie, wprowadzanie w b&amp;#322;&amp;#261;d&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;brednie, Mumbo-jumbo, populizm&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')"&gt;-&lt;/Span&gt;&lt;br /&gt;3. Kr&amp;#243;tka historia &amp;#347;wiata i co z niej wynika&lt;br /&gt;&lt;ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;Patrzymy w przesz&amp;#322;o&amp;#347;&amp;#263;, by przewidzie&amp;#263; przysz&amp;#322;o&amp;#347;&amp;#263;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;cz&amp;#322;owiek to tylko u&amp;#322;amek linii czasu ca&amp;#322;ego wszech&amp;#347;wiata'&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;w&amp;#281;dr&amp;#243;wki, pa&amp;#324;stwa, d&amp;#322;ugo&amp;#347;&amp;#263; &amp;#380;ycia ro&amp;#347;nie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;wszystkie rejony/pa&amp;#324;stwa si&amp;#281; rozwijaj&amp;#261; i wida&amp;#263; ogromn&amp;#261; r&amp;#243;&amp;#380;nic&amp;#281; wzgl&amp;#281;dem ostatnich setek lat&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;nie ka&amp;#380;dy si&amp;#281; rozwija wystarczaj&amp;#261;co szybko&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;trzy g&amp;#322;&amp;#243;wne prawdy ekonomii to mity&lt;br /&gt;&lt;ul&gt;&lt;li&gt;mit o maksymalizacji bogactwa jako si&amp;#322;y nap&amp;#281;dowej gospodarki&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mit o racjonalno&amp;#347;ci decyzji ekonomicznych&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mit o samoistnej regulacji rynku&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')"&gt;-&lt;/Span&gt;&lt;br /&gt;2. Jak to si&amp;#281; dzieje&lt;br /&gt;&lt;ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;Rzeczy dziej&amp;#261; si&amp;#281; tak ,poniewa&amp;#380; wiele rzeczy dzieje si&amp;#281; naraz&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;futurologia, przewidywanie przysz&amp;#322;o&amp;#347;ci, tendencje&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Przysz&amp;#322;o&amp;#347;&amp;#263; to znak zapytania&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;reformy, zast&amp;#243;j&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ewolucja&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_4" class="foldclosed" onClick="show_folder('1_4')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_4" class="foldopened" onClick="hide_folder('1_4')"&gt;-&lt;/Span&gt;&lt;br /&gt;4. Globalizacja i co dalej&lt;br /&gt;&lt;ul id="fold1_4" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;TIGER&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mylenie definicji, inne poj&amp;#281;cia&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Lenin, nie wiemy w jakich czasach &amp;#380;yjemy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;brak &amp;#347;wiatowych struktur&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;globalizacja to proces, ma swoje fazy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;demokracja bezposrednia to utopia, ale bedizemy blizej tego modelu&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;inicjatywy, dobra publiczne&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;standardy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;waluty globalne i unie walutowe, dolar, euro, jen, rubel, funt, frank&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;global ma swoje + i -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;+koniec spekulacji, ryzyk kursowych, niepotrzebnej pracy - kantory/administracje&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;+ni&amp;#380;sze koszty transakcji&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;-koniec z indywidualn&amp;#261; polityk&amp;#261; monetarn&amp;#261; lokalnych spo&amp;#322;eczno&amp;#347;ci&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;-koniec my&amp;#347;lenia kr&amp;#243;tkoterminowego ( tak, niekt&amp;#243;rzy uznaj&amp;#261; to za minus)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;interesy globalne&lt;br /&gt;&lt;ul&gt;&lt;li&gt;internet&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;idealny rynek na wz&amp;#243;r aukcji internetowych nie powstanie w realu&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;migracja kapita&amp;#322;u jest&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;migracji ludno&amp;#347;ci nie ma&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jednoczenie - USA, EU&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;silne wsp&amp;#243;&amp;#322;zale&amp;#380;no&amp;#347;ci, ale nie wszystko od wszystkiego&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;manifest komunistyczny&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;buraki cukrowe a zniesienie niewolnictwa&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;G7 nie radzi sobie spo&amp;#322;ecznie/humanistycznie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;globalizacja by&amp;#322;a w XV w, ale nie by&amp;#322;o za du&amp;#380;o w latach 1945-1980, po 80 tak&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;przecenianie skali globalizacji&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Bogaci psiocza na biednych, biedni na bogatych&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;globalne ciasto - wi&amp;#281;kszo&amp;#347;&amp;#263; ma mniejsz&amp;#261; cz&amp;#281;&amp;#347;&amp;#263; (procentowo) od wi&amp;#281;kszego ciasta, wi&amp;#281;c jest zadowolony&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;du&amp;#380;e dysproporcje prowadz&amp;#261; do rewolucji, buntu, migracji, terroryzmu&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jeste&amp;#347;my uzale&amp;#380;nienie od siebie, wi&amp;#281;c du&amp;#380;e dysproporcje nie s&amp;#261; na r&amp;#281;k&amp;#281; te&amp;#380; bogatym&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;konieczno&amp;#347;&amp;#263; instytucjonalizacji&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_5" class="foldclosed" onClick="show_folder('1_5')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_5" class="foldopened" onClick="hide_folder('1_5')"&gt;-&lt;/Span&gt;&lt;br /&gt;5. &amp;#346;wiat jaki jest&lt;br /&gt;&lt;ul id="fold1_5" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;&lt;p&gt;ka&amp;#380;dy widzi, ale ka&amp;#380;dy inaczej&lt;br /&gt;&lt;p&gt;inne opisywanie, aspekty kutlutalne, charaktery&lt;br /&gt;&lt;p&gt;PKB to nie tylko bogactwo ,a te&amp;#380; zasoby&lt;br /&gt;&lt;p&gt;por&amp;#243;wntywanie dochod&amp;#243;w - zr&amp;#243;&amp;#380;nicowanie &amp;#347;wiatowe&lt;br /&gt;&lt;p&gt;rozw&amp;#243;j vs. zast&amp;#243;j&lt;br /&gt;&lt;p&gt;10 lat to du&amp;#380;e zmiany&lt;br /&gt;&lt;p&gt;czynniki wp&amp;#322;ywaj&amp;#261;ce na rozw&amp;#243;j s&amp;#261; r&amp;#243;&amp;#380;norakie, polityczne, kulturalne, nawet pogodowe&lt;br /&gt;&lt;p&gt;zr&amp;#243;&amp;#380;nicowanie wewn&amp;#261;trz kraj&amp;#243;w, pomi&amp;#281;dzy krajami, pomi&amp;#281;dzy spo&amp;#322;ecze&amp;#324;stwem &amp;#347;wiatowym..&lt;br /&gt;&lt;p&gt;wsp&amp;#243;&amp;#322;czynnik Giniego&lt;br /&gt;&lt;p&gt;r&amp;#243;&amp;#380;na interpretacja tych samych wynik&amp;#243;w&lt;br /&gt;&lt;p&gt;maj&amp;#261;tek nie ma wp&amp;#322;ywu, ma tylko doch&amp;#243;d&lt;br /&gt;&lt;p&gt;relacje dochod&amp;#243;w decylowe, kwintylowe&lt;br /&gt;&lt;p&gt;du&amp;#380;e r&amp;#243;&amp;#380;nice w Afryce, ma&amp;#322;e w Azji, Japonii, Czechach&lt;br /&gt;&lt;p&gt;wysokie r&amp;#243;&amp;#380;nice - napi&amp;#281;ta atmosfera&lt;br /&gt;&lt;p&gt;Chiny dobrze zmniejszaj&amp;#261; liczb&amp;#281; biedak&amp;#243;w&lt;br /&gt;&lt;p&gt;za ma&amp;#322;e pieni&amp;#261;dze na wsi mo&amp;#380;na prze&amp;#380;y&amp;#263;, w miastach trudniej - slumsy&lt;br /&gt;&lt;p&gt;&amp;#380;ycie w Nigrze, &amp;#380;ycie w Szwajcarii - to samo szcz&amp;#281;&amp;#347;cie, r&amp;#243;&amp;#380;ne problemy&lt;br /&gt;&lt;p&gt;&amp;#379;yjemy coraz d&amp;#322;u&amp;#380;ej&lt;br /&gt;&lt;p&gt;wska&amp;#378;nik HDI, Human Development Index&lt;br /&gt;&lt;p&gt;zdrowie, standard &amp;#380;ycia, PKB, wiedza, edukacja&lt;br /&gt;&lt;p&gt;HDI jest wysoki tam gdzie si&amp;#281; nie wydaje, &amp;#380;e powinno by&amp;#263; dobrze&lt;br /&gt;&lt;p&gt;choroby masowe - b&amp;#281;d&amp;#261;&lt;br /&gt;&lt;p&gt;masa transportowa, du&amp;#380;a wymiana, epidemie, SARS&lt;br /&gt;&lt;p&gt;leki drogie, farmaceutyka to ogromny biznes&lt;br /&gt;&lt;p&gt;HDI mo&amp;#380;e by&amp;#263; wysokie tam gdzie wska&amp;#378;nik Giniego wysoki ale te&amp;#380; niski&lt;br /&gt;&lt;p&gt;HDI ro&amp;#347;nie na przestrzeni czasu&lt;br /&gt;&lt;p&gt;wska&amp;#378;nik wolnej prasy&lt;br /&gt;&lt;p&gt;demokracja - trzeba do niej doj&amp;#347;&amp;#263; samemu a nie narzuca&amp;#263;&lt;br /&gt;&lt;p&gt;wolno&amp;#347;ci gospodarcze nie zawsze id&amp;#261; w parze z politycznymi - Chiny&lt;br /&gt;&lt;p&gt;rankingi - na spokojnie analizowa&amp;#263;m nie ignorowac&lt;br /&gt;&lt;p&gt;nie upraszcza&amp;#263;, samemu ocenia&amp;#263;&lt;br /&gt;&lt;p&gt;media daj&amp;#261; cz&amp;#281;sto co&amp;#347; &amp;#322;atwego, ale bez sensu&lt;br /&gt;&lt;p&gt;Zjadamy &amp;#347;rodowisko, mniej gatunk&amp;#243;w &lt;br /&gt;&lt;p&gt;rapa nui, cywilizacja KHmer&amp;#243;w&lt;br /&gt;&lt;p&gt;majowie zniszczyli swoje &amp;#347;rodowisko, zgin&amp;#281;li&lt;br /&gt;&lt;p&gt;my niszczymy ca&amp;#322;&amp;#261; planet&amp;#281;..&lt;br /&gt;&lt;p&gt;ograniczamy CO2, odkrywamy gatunki (w przyrodzie ich jednak nie przyby&amp;#322;o)&lt;br /&gt;&lt;p&gt;wsp&amp;#243;&amp;#322;zale&amp;#380;no&amp;#347;&amp;#263;&lt;br /&gt;&lt;p&gt;nier&amp;#243;wnowaga finansowa, nadwy&amp;#380;ki ,po&amp;#380;yczki, rezerwy walutowe&lt;br /&gt;&lt;p&gt;handel r&amp;#243;&amp;#380;nymi instrumentami pochodnymi&lt;br /&gt;&lt;p&gt;banki sprzedaj&amp;#261; i kupuj&amp;#261; ten sam pochodny towar&lt;br /&gt;&lt;p&gt;od przyp&amp;#322;ywu kapita&amp;#322;u lepsze s&amp;#261; inwestycje bezpo&amp;#347;rednie, bo hotelu nie mo&amp;#380;na schowa&amp;#263; do walizki i wywie&amp;#378;&amp;#263; zagranic&amp;#281;&lt;br /&gt;&lt;p&gt;Norwegia odk&amp;#322;ada na przysz&amp;#322;o&amp;#347;&amp;#263;, kiedy zabraknie ropy&lt;br /&gt;&lt;p&gt;Singapur si&amp;#281; zd&amp;#322;u&amp;#380;a&lt;br /&gt;&lt;p&gt;Arabia w og&amp;#243;le nie zabezpiecza si&amp;#281; na czasy gdy nie b&amp;#281;dzie nafty&lt;br /&gt;&lt;p&gt;Chiny maj&amp;#261; ogromne rezerwy walutowe, ch&amp;#261; dzi&amp;#281;ki temu wp&amp;#322;yn&amp;#261;&amp;#263; na &amp;#347;wiatow&amp;#261; gospodark&amp;#281; w odpowiednim momencie&lt;br /&gt;&lt;p&gt;Polska ma du&amp;#380;e rezerwy walutowe jak na sw&amp;#243;j niedu&amp;#380;y import&lt;br /&gt;&lt;p&gt;Ogromny d&amp;#322;ug USA&lt;br /&gt;&lt;p&gt;Du&amp;#380;y Chin, Rosji, Polski(28. na &amp;#347;wiecie)&lt;br /&gt;&lt;p&gt;Czasem dzia&amp;#322;ania dobre - anulowanie zad&amp;#322;u&amp;#380;e&amp;#324; najbiedniejszym&lt;br /&gt;&lt;p&gt;Za du&amp;#380;e d&amp;#322;ugi ,nier&amp;#243;wnowaga&lt;br /&gt;&lt;p&gt;OECD coraz wi&amp;#281;cej inwestuje w biednych krajach&lt;br /&gt;&lt;p&gt;Chiny utrzymuj&amp;#261; niski kurs swojej waluty, zwi&amp;#281;kszaja eksport&lt;br /&gt;&lt;p&gt;Na skutek niezdrowego uk&amp;#322;adu biedni dotuj&amp;#261; bogatych&lt;br /&gt;&lt;p&gt;USA manipuluje kursem dolara by zarobi&amp;#263;&lt;br /&gt;&lt;p&gt;Podatek Tobina przeciwko spekulacjom mi&amp;#281;dzynarodowym&lt;br /&gt;&lt;p&gt;Grupy interes&amp;#243;w s&amp;#261; ju&amp;#380; zbyt silne by to pozwoli&amp;#263; na wprowadzenie tego normaln&amp;#261; drog&amp;#261;&lt;br /&gt;&lt;p&gt;Idzie kryzys, a gospodarka sama si&amp;#281; nie uzdrowi&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_6" class="foldclosed" onClick="show_folder('1_6')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_6" class="foldopened" onClick="hide_folder('1_6')"&gt;-&lt;/Span&gt;&lt;br /&gt;6.Updaj&amp;#261;cy neoliberalizm i jego marna spu&amp;#347;cizna&lt;br /&gt;&lt;ul id="fold1_6" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;&lt;p&gt;Neoliberalizm senso stricte jest z&amp;#322;y&lt;br /&gt;&lt;p&gt;Wi&amp;#281;kszo&amp;#347;&amp;#263; os&amp;#243;b ma z&amp;#322;udn&amp;#261; wiedz&amp;#281; o definicji neoliberalizmu&lt;br /&gt;&lt;p&gt;73-80 to inflacja&lt;br /&gt;&lt;p&gt;potem stagflacja&lt;br /&gt;&lt;p&gt;socjalizm - gospodarka niedobor&amp;#243;w&lt;br /&gt;&lt;p&gt;inflacja szkodzi wszystkim&lt;br /&gt;&lt;p&gt;populizm&lt;br /&gt;&lt;p&gt;neoliberalizm zacz&amp;#261;&amp;#322; si&amp;#281; w krajach anglosaskich'&lt;br /&gt;&lt;p&gt;szybko wskoczy&amp;#322; do post-socjalistycznych, europa wschodnia, P&amp;#322;d Ameryka&lt;br /&gt;&lt;p&gt;po 89 - radykalizacja gospodarki, wierzono w cuda&lt;br /&gt;&lt;p&gt;Solidarno&amp;#347;&amp;#263; i UW jest z&amp;#322;a - gdyby nie oni, rozw&amp;#243;j by&amp;#322;by szybszy&lt;br /&gt;&lt;p&gt;USA - kolebka liberalizmu - jest blisko kryzysu&lt;br /&gt;&lt;p&gt;w Europie sucesywnie maleje czas pracym, w USA stoi, a wzrost PKB jest taki sam&lt;br /&gt;&lt;p&gt;USA si&amp;#281; bogac&amp;#261; bardziej nier&amp;#243;wnomiernie&lt;br /&gt;&lt;p&gt;Na ca&amp;#322;ym &amp;#347;wiecie nastroje antyameryka&amp;#324;skie&lt;br /&gt;&lt;p&gt;Japonia wybra&amp;#322;a inn&amp;#261; drog&amp;#281;, a sukces&lt;br /&gt;&lt;p&gt;Chiny to dzi&amp;#347; 2-ga si&amp;#322;a a niebawem pierwsza&lt;br /&gt;&lt;ul&gt;&lt;li&gt;77 - odbicie od komuny&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;89 - duszenie demokracji&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2001 - WTO&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;Chi&amp;#324;ska droga to silne pa&amp;#324;stwo&lt;br /&gt;&lt;p&gt;Chiny maj&amp;#261; BILION czyli miliard miliard&amp;#243;w USD od&amp;#322;o&amp;#380;one i to wykorzystaj&amp;#261;&lt;br /&gt;&lt;p&gt;Chiny to 1,3 miliarda os&amp;#243;b, razem z Indiami to 37% ziemskiej populacji&lt;br /&gt;&lt;p&gt;Wietnam to powtarza, brak demokracji&lt;br /&gt;&lt;p&gt;Nie mo&amp;#380;e by&amp;#263; du&amp;#380;ej i silnej gospodarki przy ma&amp;#322;ym i s&amp;#322;abym Pa&amp;#324;stwie&lt;br /&gt;&lt;p&gt;Pa&amp;#324;stwo nie powinno by&amp;#263; tanie, bo wtedy b&amp;#281;dzie s&amp;#322;abe&lt;br /&gt;&lt;p&gt;Wszystko co dotyka og&amp;#243;&amp;#322; musi zosta&amp;#263; poddane kontroli - atom, dynamit&lt;br /&gt;&lt;p&gt;Neoliberalizm unika kontroli przez co kontroluje Pa&amp;#324;stwo, korumpuje procesy, wstrzykuje swoje idee i potrzeby&lt;br /&gt;&lt;p&gt;Ka&amp;#380;dy chce Pa&amp;#324;stwa, kt&amp;#243;re spe&amp;#322;nia tylko jego potrzeby, zbiorowy egoizm, nale&amp;#380;y dogodzi&amp;#263; wi&amp;#281;kszo&amp;#347;ci&lt;br /&gt;&lt;p&gt;"Rozmiar" Pa&amp;#324;stwa - jego instytucji i dzia&amp;#322;ania jest kontekstowy - zmienia si&amp;#281; zale&amp;#380;nie od kultury, czas&amp;#243;w...&lt;br /&gt;&lt;p&gt;Dzi&amp;#347; to kapita&amp;#322; kontroluje Pa&amp;#324;stwa. powinno by&amp;#263; na odwr&amp;#243;t&lt;br /&gt;&lt;p&gt;Celem kapita&amp;#322;u jest maksymalizacja zysku cz&amp;#281;sto kr&amp;#243;tkoterminowa&lt;br /&gt;&lt;p&gt;Celem prawdziwym powinna by&amp;#263; maksymalizacja szcz&amp;#281;&amp;#347;cia jak najwi&amp;#281;kszej liczby ludzi&lt;br /&gt;&lt;p&gt;Dlaczego ofiary systemu broni&amp;#261; go?&lt;br /&gt;&lt;p&gt;Zach&amp;#322;anno&amp;#347;&amp;#263; motytwuje - do dzia&amp;#322;ania kr&amp;#243;tkoterminowego, kt&amp;#243;re nie jest korzystne dla rozwoju&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_7" class="foldclosed" onClick="show_folder('1_7')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_7" class="foldopened" onClick="hide_folder('1_7')"&gt;-&lt;/Span&gt;&lt;br /&gt;7. Co to jest rozw&amp;#243;j i od czego zale&amp;#380;y?&lt;br /&gt;&lt;ul id="fold1_7" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;Od neoliberalizmu powinni&amp;#347;my ucieka&amp;#263; do przodu&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Kapita&amp;#322; to tylko warunek konieczny a nie wystarczaj&amp;#261;cy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Perspektywa kr&amp;#243;tkoterminowa a d&amp;#322;ugoterminowa ( zmienne warunki zewn&amp;#281;trzne dla gospodarki )&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Panstwo musi byc, by byl rozwoj&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pracodawca nie dba o to, by za 20 lat byli ludzie do pracy, a Panstwo dba&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Rozwoj to nie tylko zwiekszanie wolumenu, ilosci towaru, to takze lepsza jakosc, mniejsze zuzycie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Jak mierzyc rozw&amp;#243;j, PKB?HDI?Gini?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Czynnik szcz&amp;#281;&amp;#347;cia (Buthan)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ka&amp;#380;dy musi sobie sam zdefiniowa&amp;#263; rozw&amp;#243;j i to pomo&amp;#380;e mu okre&amp;#347;li&amp;#263; sposoby mierzenia&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;propozycja autora&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PKB per capita&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;zdrowie/wyskzta&amp;#322;cenie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;stan &amp;#347;rodowiska&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;czas wolny/kultura&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;szcz&amp;#281;&amp;#347;cie to czy pomy&amp;#347;lno&amp;#347;&amp;#263;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;cele milenijne 2015 nie zostan&amp;#261; osi&amp;#261;gni&amp;#281;te&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;wzrost produkcji b&amp;#281;dzie musia&amp;#322; stan&amp;#261;&amp;#263; co wtedy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;za ma&amp;#322;o zasob&amp;#243;w, by ca&amp;#322;y &amp;#347;wiat mia&amp;#322; poziom konsumpcji jak Zach&amp;#243;d&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;walka o wod&amp;#281;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;czy mo&amp;#380;liwy permanentny rozw&amp;#243;j?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jak dzieli&amp;#263; doch&amp;#243;d&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;teorie rozwoju&lt;br /&gt;&lt;ul&gt;&lt;li&gt;surowcowa&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;industrializacja&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;antyimportowo&amp;#347;&amp;#263;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;proeksportowo&amp;#347;&amp;#263;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;dynamizacja zawodowa kobiet&lt;br /&gt;&lt;ul&gt;&lt;li&gt;im wiecej kobiet, tym gospodarka bardziej prospo&amp;#322;eczna&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;zr&amp;#243;wnowa&amp;#380;ony w r&amp;#243;&amp;#380;nych ga&amp;#322;&amp;#281;ziach&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;wiedzologia i spo&amp;#322;ecze&amp;#324;stwo informacyjne&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;przemys&amp;#322; ci&amp;#281;&amp;#380;ki&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;modele wzrostu powinny by&amp;#263; wieloczynnikowe&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;rozw&amp;#243;j powstrzymuj&amp;#261;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;brak namiastek w&amp;#322;asno&amp;#347;ci i rynku&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;dominacja stagnacyjnych warto&amp;#347;ci, brak praw jednostki&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;brak post&amp;#281;pu technicznego&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Na rozw&amp;#243;j wp&amp;#322;ywaj&amp;#261;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Warto&amp;#347;ci&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Instytucje&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Polityka&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_8" class="foldclosed" onClick="show_folder('1_8')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_8" class="foldopened" onClick="hide_folder('1_8')"&gt;-&lt;/Span&gt;&lt;br /&gt;8. Instytucje, Polityka i kultura a zast&amp;#243;j i rozw&amp;#243;j&lt;br /&gt;&lt;ul id="fold1_8" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;znaczenie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;instytucje stoj&amp;#261; na stra&amp;#380;y zasad, kt&amp;#243;re trzeba wcze&amp;#347;niej zdefiniowa&amp;#263;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;brak og&amp;#243;lno&amp;#347;wiatowych zasad&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;przyk&amp;#322;ad zasady - prawo drogowe, ta akurat jest podobna globalnie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;niekt&amp;#243;re instytucje kreuj&amp;#261; stagnacj&amp;#281;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;patentowanie to miecz obosieczny&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;instytucje&lt;br /&gt;&lt;ul&gt;&lt;li&gt;obja&amp;#347;niaj&amp;#261;ce&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;kontorluj&amp;#261;ce&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;r&amp;#243;wnowa&amp;#380;&amp;#261;ce&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;dynamizuj&amp;#261;ce&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;dostosowuj&amp;#261;ce&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;rynek musi honorowa&amp;#263; instytucje, harmonia&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;polityka, interesy - kr&amp;#243;tkowzrocznei d&amp;#322;ugo&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;w&amp;#261;ska grupa interesu, brak rozwoju&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;USA wprowadza demokracj&amp;#281; na si&amp;#322;&amp;#281;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;To naj&amp;#322;atwiejszy ustr&amp;#243;j do kontroli&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;wygl&amp;#261;da jak or&amp;#281;downik dobrego&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;przez podstawionych ludzi i media mo&amp;#380;e wiele za mniej&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;w europie powoli - dorastanie&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jakby dzi&amp;#347; w Afryce, to tak jakby w Europie w &amp;#347;redniowieczu&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;kultura wp&amp;#322;ywa na ekonomi&amp;#281;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;kultura jak ludzie, r&amp;#243;zne chraktery&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;po&amp;#322;o&amp;#380;enie geograficzne, powodzenie gospodaercze&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mieszanka kulturowa bywa pozytywna ale te&amp;#380; negatywna&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Londyn, Amsterdam - ACEH&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_9" class="foldclosed" onClick="show_folder('1_9')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_9" class="foldopened" onClick="hide_folder('1_9')"&gt;-&lt;/Span&gt;&lt;br /&gt;9. Koincydencji teoria rozwoju i nowy pragmatyzn&lt;br /&gt;&lt;ul id="fold1_9" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;&lt;p&gt;zdefiniowa&amp;#263; rozw&amp;#243;j by go uzyska&amp;#263;/utrzyma&amp;#263;&lt;br /&gt;&lt;p&gt;odej&amp;#347;&amp;#263; od uniwersalizmu, dogmatyzmu&lt;br /&gt;&lt;p&gt;teoria koincydencji &amp;#322;&amp;#261;czy wiele nauk - jest interdyscyplinarna&lt;br /&gt;&lt;p&gt;odr&amp;#243;&amp;#380;ni&amp;#263; &amp;#347;rodki od cel&amp;#243;w&lt;br /&gt;&lt;p&gt;metoda por&amp;#243;wnawcza, elastyczne instrumenty dzia&amp;#322;ania&lt;br /&gt;&lt;p&gt;potrzebny wielki pragmatyzm&lt;br /&gt;&lt;p&gt;skrzynka narz&amp;#281;dzi ekonomicznych r&amp;#243;wnie&amp;#380; ewoluuje, nie ma idealnej r&amp;#243;wnowagi (z&amp;#322;otego &amp;#347;rodka) interwencji Pa&amp;#324;stwa i wolnego rynku&lt;br /&gt;&lt;p&gt;interwencjonizm jest potrzebny w pewnych sprawach - kt&amp;#243;rych to kwestia dyskusji&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span id="show1_10" class="foldclosed" onClick="show_folder('1_10')" style="POSITION: absolute"&gt;+&lt;/span&gt; &lt;span id="hide1_10" class="foldopened" onClick="hide_folder('1_10')"&gt;-&lt;/Span&gt;&lt;br /&gt;10. Niepewna przysz&amp;#322;o&amp;#347;&amp;#263;&lt;br /&gt;&lt;ul id="fold1_10" style="POSITION: relative; VISIBILITY: visible;"&gt;&lt;li&gt;Tuzin rzeczy, kt&amp;#243;re na ni&amp;#261; wp&amp;#322;yn&amp;#261;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;tempo i granice wzrostu gospodarczego&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ewolucja warto&amp;#347;ci i ich kulturowe&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ewolucja warto&amp;#347;ci i ich kulturowe implikacje dla proces&amp;#243;w &amp;nbsp;rozwojowych&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;instytucjonalizacja globalizacji versus narastaj&amp;#261;cy brak &amp;nbsp;koordynacji &amp;nbsp;i chaos&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;integracja regionalna i sprz&amp;#281;&amp;#380;enie z globalizacj&amp;#261;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;pozycja i rola organizacji pozarz&amp;#261;dowych&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&amp;#347;rodowisko przyrodnicze i konkurencja o wyczerpuj&amp;#261;ce si&amp;#281; &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;zasoby naturalne&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;procesy demograficzne i migracje ludno&amp;#347;ci&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;bieda, n&amp;#281;dza i nier&amp;#243;wno&amp;#347;ci spo&amp;#322;eczne&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;gospodarka i spo&amp;#322;ecze&amp;#324;stwo oparte na wiedzy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;post&amp;#281;p naukowo-techniczny&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ewolucja sieci i jej gospodarcze konsekwencje&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;konflikty i bezpiecze&amp;#324;stwo, wojna i pok&amp;#243;j&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;SCRIPT language=JavaScript&gt;&lt;br /&gt;fold_document();&lt;br /&gt;&lt;/SCRIPT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3702909871736429019?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/-6f203KiD0E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3702909871736429019/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3702909871736429019" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3702909871736429019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3702909871736429019?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/wdrujcy-wiat.html" title="Wędrujący świat" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CUYERns7eSp7ImA9WxRaF0Q.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3269101718208795085</id><published>2008-12-14T22:50:00.004+01:00</published><updated>2008-12-20T18:11:47.501+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-20T18:11:47.501+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="konkursy" /><category scheme="http://www.blogger.com/atom/ns#" term="prywatne" /><title>6 miejsce w konkursie na blog IT listopada!</title><content type="html">Hurra!&lt;br /&gt;&lt;br /&gt;Miejsce może nie jakieś wybitne, zwłaszcza na 18 blogów, ale to jednak sukces mojego młodego i nieopierzonego bloga. &lt;br /&gt;By ułatwić nawigację, najczęściej odwiedzane treści to te, dotyczące certyfikatów, w szczególności &lt;a href="http://racjonalny.blogspot.com/search/label/scjp"&gt;SCJP&lt;/a&gt;, a także najszerzej komentowane czyli:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://racjonalny.blogspot.com/2008/11/moe-boga-nie-ma.html"&gt;A może Boga nie ma?&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://racjonalny.blogspot.com/2008/10/krytyka-javy-poszerzanie-horyzontw.html"&gt;Krytyka Javy a poszerzanie horyzontów&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://racjonalny.blogspot.com/2008/11/zmniejszamy-podatki.html"&gt;Zmniejszamy podatki&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://racjonalny.blogspot.com/2008/11/nie-byem-na-cmentarzach.html"&gt;Nie byłem na cmentarzach&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://racjonalny.blogspot.com/2008/06/racjonalizm.html"&gt;Racjonalizm&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Jak widać nie są to tematy do końca IT, ale nie samym IT człowiek żyje :)&lt;br /&gt;&lt;br /&gt;Na &lt;a href="http://polishwords.com.pl/konkurs-na-blog-informatyczny-2.php"&gt;stronie konkursu&lt;/a&gt; możecie przejrzeć pozostałe blogi. Wybrałem po jednym ciekawym wpisie z każdego z konkurentów na wyższych pozycjach:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mobimaniak.pl/2326/dysk-ssd-2-szybszy-od-hdd-super-talent-ultradrive-le-oraz-me/"&gt;MobiManiak&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://blog-it.pl/2008/12/10/prawie-cale-usa-w-google-street-view/"&gt;Blog-IT&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.weblogit.pl/2008/12/09/myszka-konczy-40-lat/"&gt;Myszka ma 40 lat - WeblogIT&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://bartekszafko.pl/2008/10/12/po-mts-2008/"&gt;Blog Bartek Szafko&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.devnull.ddl2.pl/?p=134"&gt;Blog dev/null&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;No cóż, konkurenci na pewno biją mój blog wyglądem, ale i tym przyjdzie czas się zająć.&lt;br /&gt;Może w następnej edycji wystartuje więcej blogów, także Javowych!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3269101718208795085?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/9t7CGTctuo4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3269101718208795085/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3269101718208795085" title="Komentarze (0)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3269101718208795085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3269101718208795085?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/6-miejsce-w-konkursie-na-blog-it.html" title="6 miejsce w konkursie na blog IT listopada!" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CEMDSX84fCp7ImA9WxRbFkU.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-3351193215130152449</id><published>2008-12-07T14:36:00.005+01:00</published><updated>2008-12-07T21:41:18.134+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-07T21:41:18.134+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="produktywność" /><category scheme="http://www.blogger.com/atom/ns#" term="nauka" /><category scheme="http://www.blogger.com/atom/ns#" term="rozwoj osobisty" /><title>Tyle bogactwa w internecie!</title><content type="html">Chyba nigdy uczenie się nie było tak łatwe jak dziś.&lt;br /&gt;Chcesz poczytać o genetyce? proszę. o ptaszkach i robaczkach? proszę. O technice, fizyce, ludziach,...... proszę.&lt;br /&gt;&lt;br /&gt;Ciekawe zbiory materiałów:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;, polska, angielska.&lt;br /&gt;&lt;br /&gt;Materiały do kursów &lt;a href="http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm"&gt;MIT - Open Course Ware &lt;/a&gt;- Amerykański uniwersytet udostępnia całą masę materiałów do organizowanych zajęć - zupełnie za darmo, bez rejestracji. Tak jakby doskonałe notatki ze studiów. Masa ciekawych tematów.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wazniak.mimuw.edu.pl/index.php?title=Strona_g%C5%82%C3%B3wna"&gt;&lt;br /&gt;Nauka informatyki - Ważniak.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Biblioteki internetowe - &lt;a href="http://books.google.pl/"&gt;Google books&lt;/a&gt;, &lt;a href="http://www.ulib.org/"&gt;Universal library&lt;/a&gt;, &lt;a href="http://www.pbi.edu.pl/index.html"&gt;Polska biblioteka internetowa&lt;/a&gt;, &lt;a href="http://www.audiobooksforfree.com/screen_main.asp"&gt;audio booki&lt;/a&gt;, &lt;a href="http://www.gutenberg.org/browse/categories/1"&gt;Projekt Gutenberg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pozostała część otchłani internetu.&lt;br /&gt;&lt;br /&gt;Chcąc uczyć się przez całe życie - istotne jest gromadzenie zróżnicowanych i bogatych źródeł wiedzy. Ja aktualnie przerabiam sobie kursy z MIT niektóre.&lt;br /&gt;&lt;br /&gt;Co jeszcze? Mile widziane komentarze z zasobami ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-3351193215130152449?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/BM_hZpQSI-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/3351193215130152449/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=3351193215130152449" title="Komentarze (3)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3351193215130152449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/3351193215130152449?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/tyle-bogactwa-w-internecie.html" title="Tyle bogactwa w internecie!" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;A04CQn04cSp7ImA9WxRbFUo.&quot;"><id>tag:blogger.com,1999:blog-2728070411182828304.post-8953923077031498347</id><published>2008-12-06T17:07:00.003+01:00</published><updated>2008-12-06T17:12:43.339+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-06T17:12:43.339+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="optymizm" /><category scheme="http://www.blogger.com/atom/ns#" term="radość" /><category scheme="http://www.blogger.com/atom/ns#" term="satysfakcja" /><category scheme="http://www.blogger.com/atom/ns#" term="szczęście" /><category scheme="http://www.blogger.com/atom/ns#" term="praca" /><title>Naprawdę satysfakcjonująca  praca</title><content type="html">Naprawdę satysfakcjonująca praca to taka, że jeśli w sobotę wygrasz milion na loterii, to w poniedziałek nadal będziesz miał ochotę tam pracować.&lt;br /&gt;&lt;br /&gt;Życzę wszystkim takiej pracy i dążenia do niej.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2728070411182828304-8953923077031498347?l=racjonalny.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RacjonalnyDeveloper/~4/RD-RyasG34E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://racjonalny.blogspot.com/feeds/8953923077031498347/comments/default" title="Komentarze do posta" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2728070411182828304&amp;postID=8953923077031498347" title="Komentarze (3)" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/8953923077031498347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2728070411182828304/posts/default/8953923077031498347?v=2" /><link rel="alternate" type="text/html" href="http://racjonalny.blogspot.com/2008/12/naprawd-satysfakcjonujca-praca.html" title="Naprawdę satysfakcjonująca  praca" /><author><name>Tomasz Bartczak</name><uri>http://www.blogger.com/profile/02602153344304433039</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03467802667386642209" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry></feed>
