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

<channel>
	<title>/dev/null &#187; Fun</title>
	<atom:link href="http://www.nulldevice.de/tag/fun/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nulldevice.de</link>
	<description>Static is evil.</description>
	<lastBuildDate>Fri, 18 Nov 2011 17:28:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Dependency Management</title>
		<link>http://www.nulldevice.de/2011/02/dependency-management/</link>
		<comments>http://www.nulldevice.de/2011/02/dependency-management/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 09:47:24 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=1270</guid>
		<description><![CDATA[Right now, I try to find out what works best for me &#8211; in all areas. For example: Keep the Facebook account or delete it? Teach people about SQL and JS or keep it to myself? Get in touch with people from the past or ignore them? Enjoy the nightlife in Berlin or sit at [...]]]></description>
			<content:encoded><![CDATA[<p>Right now, I try to find out what works best for me &#8211; in all areas. For example:</p>
<ul>
<li>Keep the Facebook account or delete it?</li>
<li>Teach people about SQL and JS or keep it to myself?</li>
<li>Get in touch with people from the past or ignore them?</li>
<li>Enjoy the nightlife in Berlin or sit at home every evening and live healthy?</li>
<li>Use git or Subversion?</li>
<li>Wear black cloths or more colorful stuff?</li>
<li>Get a new car or wait until my Civic dies?</li>
<li>Listen to music or enjoy the silence?</li>
</ul>
<p>These are really tough questions and I won&#8217;t be able to answer them without breakfast. This is what the title refers to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2011/02/dependency-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cassandra</title>
		<link>http://www.nulldevice.de/2010/08/cassandra/</link>
		<comments>http://www.nulldevice.de/2010/08/cassandra/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 01:36:06 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[NoSQL]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=1181</guid>
		<description><![CDATA[Just one short note, before I go to bed. At FrOSCon I saw the talk about the NoSQL database Cassandra. The guy was pretty convincing. He also said, SQL joins are slow and cumbersome for some use cases (his example was Twitter). Then his slides showed how nicely Cassandra can provide the same data as [...]]]></description>
			<content:encoded><![CDATA[<p>Just one short note, before I go to bed.</p>
<p>At FrOSCon I saw the talk about the NoSQL database <a href="http://cassandra.apache.org/">Cassandra</a>. The guy was pretty convincing. He also said, SQL joins are slow and cumbersome for some use cases (his example was <a href="http://twitter.com/lastzero">Twitter</a>). Then his slides showed how nicely Cassandra can provide the same data as some kind of materialized view that is constantly updated after data changes. And how secure the storage is with multiple backups and smart fail-safe mechanisms.</p>
<p>I was impressed.</p>
<p>On the other hand, I am skeptical towards the promisses of the NoSQL advocates. And I normally don&#8217;t like any software that runs on Java (see Eclipse), but that&#8217;s another story. That kind of stuff sounds nice on the paper, but fails randomly in the real world. Probably because it is too smart and advanced.</p>
<p>Directly after I came back home from FrOSCon, I noticed that certain feeds (like replies to me) show very recent tweets only. Nothing older than about 4 days. The search results page says: &#8220;Older tweets are temporarily unavailable.&#8221; Oh, really?</p>
<p>Imagine you would use this kind of technology to run a bank: &#8220;Sorry, we lost your account transactions. We are sure you had at least 10 dollars on your account, so that is all you can get today. Maybe we find the rest later.&#8221;</p>
<p>Hopefully they can restore their fail-safe materialized views. Somebody should convince police and government to use NoSQL databases: &#8220;Sorry, we lost your criminal record of the last 20 years. You are free to go.&#8221;</p>
<p>I know, most NoSQL databases are not made for banking or even business applications. Friends &#8211; for example &#8211; are not that important/critical and that&#8217;s probably why <a href="http://www.facebook.com/micha.mayer">Facebook</a>, the other big Cassandra showcase project, does not really know how many I have. The number changes frequently by ± 1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2010/08/cassandra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Perfect Development Environment</title>
		<link>http://www.nulldevice.de/2010/08/the-perfect-development-environment/</link>
		<comments>http://www.nulldevice.de/2010/08/the-perfect-development-environment/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 06:49:38 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=1152</guid>
		<description><![CDATA[This is a reply to http://thinkvitamin.com/dev/the-perfect-development-environment/ Work Setting I prefer to be alone, with no one walking around, having conversations on the phone or asking questions. And yes, barking dogs are bad while you try to focus on source code^^ If people can not keep their mouth shut, loud music helps a lot. Use the headphones, [...]]]></description>
			<content:encoded><![CDATA[<p>This is a reply to <a href="http://thinkvitamin.com/dev/the-perfect-development-environment/">http://thinkvitamin.com/dev/the-perfect-development-environment/</a></p>
<h4>Work Setting</h4>
<p>I prefer to be alone, with no one walking around, having conversations on the phone or asking questions. And yes, barking dogs are bad while you try to focus on source code^^</p>
<p>If people can not keep their mouth shut, loud music helps a lot. Use the headphones, whenever other people are around.</p>
<p>If you do an on-site consulting job, better not keep the client from asking questions though: This is what he (or she) pays for! Same is true, if you happen to be in the role of a lead developer. There is no way to hide behind your screen(s). Not matter how many you have.</p>
<h4>Desk &amp; Chair</h4>
<p>I prefer a simple chair. All the fancy furniture didn&#8217;t work for me:</p>
<p><a href="http://www.nulldevice.de/wp-content/uploads/2010/08/variable_mystic1.jpg"><img class="alignnone size-full wp-image-1154" title="Fancy Chair" src="http://www.nulldevice.de/wp-content/uploads/2010/08/variable_mystic1.jpg" alt="" width="254" height="219" /></a></p>
<p>And a desk made of real wood, not that crappy and cheap IKEA stuff made of plastic and particle board. No dinning room table, those are usually too high (76cm). Remember that the keyboard/notebook has a certain height too. The perfect desk is 73cm high. I agree it should be simple, without &#8220;cubby holes, drawers and cord hiders&#8221;.</p>
<h4>Monitor Setup</h4>
<p>As a freelance developer, I need a lot of space on my desk to draw diagrams and sign my invoices. Or just to put the Amazon Kindle. It&#8217;s a good replacement for the obligatory PDF readers or word processors that are open in the background and hold the customer requirements.</p>
<p>There are some scientific results that suggest that any screen larger than 17 inch will decrease productivity. Not sure about that. But certainly I don&#8217;t want to move my head all the time to collect information from different screens. I was able to work on a JavaScript project with more than 50k lines of code on a 10 inch netbook without problems.</p>
<h4>Mouse &amp; Keyboard</h4>
<p>I normally have to use the keyboard built into my ThinkPad, which does it&#8217;s job quite well. The best keyboard I ever had was a Cherry G80-3000 with MX gold crosspoint technology and without Windows keys. Those times are gone forever. Everything has to be flat in this century and you can get used to it.</p>
<p>As a PHP/JS/C/Perl developer, you will be happy with a US layout. As a consultant not living in the States, you might want to use a local layout, so that you can easily access non-ascii chars while writing your important business documents.</p>
<p>The best mouse I found so far is the Logitech Basic mouse and it is very cheap at the same time. It is available in gray and black. Perfect.<br />
<a href="http://www.nulldevice.de/wp-content/uploads/2010/08/Logitech-Optical-Wheels-Mou.jpg"><img class="alignnone size-full wp-image-1155" title="Logitech Mouse" src="http://www.nulldevice.de/wp-content/uploads/2010/08/Logitech-Optical-Wheels-Mou.jpg" alt="" width="300" height="300" /></a></p>
<h4>Minimizing Distractions</h4>
<p>I usually outperform other developers, even those with 3 screens, not because I am cool, but because I don&#8217;t use Windows when not working on some Office document. This reduces the times when I have to explain my customer or co-worker that &#8220;it does not work and I don&#8217;t know why&#8221;. Also it&#8217;s easy to get rid of 3D effects, playful window borders and desktop widgets that distract you. Skype looks less like a computer game too, but works equally well. The UMTS modem works every time, not not just every second time (if it fails, you will see a meaningful error message). There is no need to think a lot about which applications to use and there is a standard way for pretty much everything. Last but not least most servers run Unix too, so you don&#8217;t experience those strange &#8220;file not found&#8221; problems after the code was deployed to the production environment. Windows isn&#8217;t case sensitive.</p>
<h4>System Shortcuts &amp; Project Management</h4>
<p>You normally have 3 or 4 windows open that matter:</p>
<ol>
<li>the console (to run the unit tests and do svn/git commits)</li>
<li>the text editor (gedit)</li>
<li>the Web browser (2 tabs, one with the app and one with google open to search for documentation)</li>
<li>and maybe GIMP (if you work on graphics too) or Skype for talking with other people about the project</li>
</ol>
<p>Remember that we outsourced requirements documents to the Kindle or real paper where you can scratch around.</p>
<p>Those windows fit into any task bar, even on small screens. You don&#8217;t want to see your desktop wallpaper, while you&#8217;re working. Maximize your windows and use the full space available (Mac users will complain now, as far as I remember).</p>
<p>Tortoise SVN is crap, but the best you can get on Windows, I guess. Better use the command line applications on Unix. If you do Open Source or want to be cool, you use git and tell all your friends that svn is bad.</p>
<h4>IDE &amp; Other Programs</h4>
<p>Most editors fail when working on large projects. Eclipse (also known as Aptana, Zend Studio, PDT) used to have a CSS editor that was so slow, that it took several minutes to open large CSS files. The memory management did not work really well &#8211; eventually I found a garbage collection plugin, which added small trash button in the bottom right corner that I had to press every time, the memory usage went to high (WTF!?). Just today I enabled the option &#8220;insert spaces for tabs&#8221;, pressed the tab key and it inserted a&#8230; tab. Crap.</p>
<p>Besides those annoyances, the Eclipse file/folder tree does not update automatically and the SVN plugin (there are many with different bugs to chose from, right?) seems as waste of time compared to the straight forward usage of the default command line tools.</p>
<p>Therefore my recommendation is to use gedit, the default editor that comes with Gnome. It&#8217;s only downside is that it can not save files on SMB shares (VirtualBox shared folders) because of a bug, and that really is the only reason for me to use Aptana from time to time.</p>
<p>gedit&#8217;s major features:</p>
<ul>
<li>It is stable</li>
<li>You see the character on the screen, directly after you pressed a key (no delay)</li>
<li>You write nice looking code that is readable, even without additional tools, filters and beautifiers</li>
<li>The file/folder tree updates automatically</li>
<li>Syntax highlighting for JavaScript, PHP and other languages</li>
<li>Automatic indentation</li>
<li>UTF-8 is default &#8211; you never accidentally break the encoding again and get hurt by your co-workers for this</li>
<li>Low memory usage</li>
<li>The save button works every time (not true for Eclipse, as I had to find out painfully)</li>
<li>It doesn&#8217;t occupy a lot of the valuable space on the screen</li>
</ul>
<p>And yes, it can use plug-ins and you can write your own, if you feel something is missing. I am happy with how it is.</p>
<h4>Conclusion</h4>
<p>I don&#8217;t know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2010/08/the-perfect-development-environment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The new Apple iPad</title>
		<link>http://www.nulldevice.de/2010/01/the-new-apple-ipad/</link>
		<comments>http://www.nulldevice.de/2010/01/the-new-apple-ipad/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:08:52 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=1079</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apple.com/ipad/"><img class=" alignnone" title="iPad" src="http://i.imgur.com/Wo27t.jpg" alt="Bulky iPhone" width="648" height="792" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2010/01/the-new-apple-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do not</title>
		<link>http://www.nulldevice.de/2009/02/do-not/</link>
		<comments>http://www.nulldevice.de/2009/02/do-not/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:50:51 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=986</guid>
		<description><![CDATA[reverse_and_create : function(files){ var sorted = [], instances =[]; for(var id in files){ sorted.push(files[id]) } for(var i = 0; i < sorted.length; i++){ if (sorted[i].id) { instances.push(this.create_as_existing(sorted[i])); } } return instances; }, do_not_reverse_and_create : function(files){ if(files != undefined){ var instances =[]; for(var i = 0; i < files.length; i++){ if (files[i].id) { instances.push(this.create_as_existing(files[i])); } } [...]]]></description>
			<content:encoded><![CDATA[<pre>
    reverse_and_create : function(files){
        var sorted = [], instances =[];
        for(var id in files){
            sorted.push(files[id])
        }
        for(var i = 0; i < sorted.length; i++){
            if (sorted[i].id) {
                instances.push(this.create_as_existing(sorted[i]));
            }
        }
        return instances;
    },

    do_not_reverse_and_create : function(files){
        if(files != undefined){
            var instances =[];
            for(var i = 0; i < files.length; i++){
                if (files[i].id) {
                    instances.push(this.create_as_existing(files[i]));
                }
            }
            return instances;
        }
    } </pre>
<p>What a shame!</p>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2009/02/do-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merry Christmas!</title>
		<link>http://www.nulldevice.de/2008/12/merry-christmas/</link>
		<comments>http://www.nulldevice.de/2008/12/merry-christmas/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 13:45:34 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=972</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://imgs.xkcd.com/comics/christmas_back_home.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2008/12/merry-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dolphin Submarine</title>
		<link>http://www.nulldevice.de/2008/09/dolphin-submarine/</link>
		<comments>http://www.nulldevice.de/2008/09/dolphin-submarine/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 12:48:59 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Dolphin]]></category>
		<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=875</guid>
		<description><![CDATA[How cool is that?]]></description>
			<content:encoded><![CDATA[<p>How cool is <a href="http://www.ananova.com/news/story/sm_2994343.html">that</a>?</p>
<p><a href="http://www.nulldevice.de/wp-content/uploads/2008/09/dolphin.png"><img class="alignleft size-medium wp-image-876" title="Dolphin Mini-Sub" src="http://www.nulldevice.de/wp-content/uploads/2008/09/dolphin.png" alt="" width="410" height="308" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2008/09/dolphin-submarine/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google greift Microsoft an</title>
		<link>http://www.nulldevice.de/2008/09/google-greift-microsoft-an/</link>
		<comments>http://www.nulldevice.de/2008/09/google-greift-microsoft-an/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 17:14:00 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Heise Forum]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=870</guid>
		<description><![CDATA[Q: Wenn ich den Links zum der Browser-Crash Demo Folge, dann brauch ich bei der letzten Seite nur noch mit der Maus über den &#8220;HERE&#8221; &#8211; Button zu fahren und mein ( mit allen Updates versehenes ) Vista friert sofort vollständig ein&#8230; Spricht das jetzt eher gegen Google oder Microsoft..? A: Der Tenor nach der [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Q: Wenn ich den Links zum der Browser-Crash Demo Folge, dann brauch ich<br />
bei der letzten Seite nur noch mit der Maus über den &#8220;HERE&#8221; &#8211; Button<br />
zu fahren und mein ( mit allen Updates versehenes ) Vista friert<br />
sofort vollständig ein&#8230; Spricht das jetzt eher gegen Google oder Microsoft..? <img src='http://www.nulldevice.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>A:  Der Tenor nach der Veröffentlichung des Browsers lautet doch: Google<br />
greift Microsoft an. qed.</p></blockquote>
<p>Aus dem <a href="http://www.heise.de/security/news/foren/S-Re-Die-Browser-Crash-Demo-killt-mein-Vista/forum-143398/msg-15503730/read/">heise forum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2008/09/google-greift-microsoft-an/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About Internet Explorer 8 Beta</title>
		<link>http://www.nulldevice.de/2008/09/about-internet-explorer-8-beta/</link>
		<comments>http://www.nulldevice.de/2008/09/about-internet-explorer-8-beta/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 16:50:20 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Beta]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=848</guid>
		<description><![CDATA[&#8220;Consuming twice as much RAM as Firefox and saturating the CPU with nearly six times as many execution threads, Microsoft&#8217;s latest beta release of Internet Explorer 8 is in fact more demanding on your PC than Windows XP itself, research firm Devil Mountain Software found in performance tests.&#8221; &#8220;We finally found something that sucks more [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p style="text-align: left;"><a href="http://www.nulldevice.de/wp-content/uploads/2008/09/ie8.png"><img class="size-thumbnail wp-image-853 alignright" title="Internet Explorer 8 Logo" src="http://www.nulldevice.de/wp-content/uploads/2008/09/ie8-150x150.png" alt="" width="90" height="90" /></a>&#8220;Consuming twice as much RAM as Firefox and saturating the CPU with nearly six times as many execution threads, Microsoft&#8217;s latest beta release of Internet Explorer 8 is in fact <a href="http://weblog.infoworld.com/enterprisedesktop/archives/2008/09/ie_8_consumes_m.html">more demanding on your PC than Windows XP itself</a>, research firm Devil Mountain Software found in performance tests.&#8221;</p>
<p style="text-align: left;">&#8220;We finally found something that sucks more CPU power than Crysis.&#8221;</p>
</blockquote>
<p style="text-align: left;"><em>Found on <a href="http://tech.slashdot.org/comments.pl?sid=950891&amp;cid=24843757">Slashdot</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2008/09/about-internet-explorer-8-beta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java Recruiting</title>
		<link>http://www.nulldevice.de/2008/09/java-recruiting/</link>
		<comments>http://www.nulldevice.de/2008/09/java-recruiting/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 17:20:44 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Recruiting]]></category>
		<category><![CDATA[Slashdot]]></category>

		<guid isPermaLink="false">http://www.nulldevice.de/?p=835</guid>
		<description><![CDATA[From http://ask.slashdot.org/askslashdot/08/09/01/1246201.shtml: Recruiting for Java posts is a minefield &#8211; it&#8217;s full of people who should be stacking shelves in a supermarket. If you want a Java job, just update your resume to say that you know Java. I have met lots of J2EE experts at work, who would not be able to code a [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://ask.slashdot.org/askslashdot/08/09/01/1246201.shtml">http://ask.slashdot.org/askslashdot/08/09/01/1246201.shtml</a>:</p>
<ul>
<li>Recruiting for Java posts is a minefield &#8211; it&#8217;s full of people who should be stacking shelves in a supermarket.</li>
<li>If you want a Java job, just update your resume to say that you know Java. I have met lots of J2EE experts at work, who would not be able to code a &#8220;Hello World&#8221; program, if their jobs depended on it. Also learn lots of buzz words.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nulldevice.de/2008/09/java-recruiting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

