<?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>daniel.haxx.se &#187; libssh2</title>
	<atom:link href="http://daniel.haxx.se/blog/category/floss/libssh2/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel.haxx.se/blog</link>
	<description>Technology is life</description>
	<lastBuildDate>Sat, 11 Feb 2012 18:53:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Three out of one hundred</title>
		<link>http://daniel.haxx.se/blog/2011/10/31/three-out-of-one-hundred/</link>
		<comments>http://daniel.haxx.se/blog/2011/10/31/three-out-of-one-hundred/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 21:38:26 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IT Politics]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[c-ares]]></category>
		<category><![CDATA[cURL and libcurl]]></category>
		<category><![CDATA[libssh2]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=2715</guid>
		<description><![CDATA[If I&#8217;m not part of the solution, I&#8217;m part of the problem and I don&#8217;t want to be part of the problem. More specifically, I&#8217;m talking about female presence in tech and in particular in open source projects.
I&#8217;ve been an open source and free software hacker, contributor and maintainer for almost 20 years. I&#8217;m the perfect [...]]]></description>
			<content:encoded><![CDATA[<p>If I&#8217;m not part of the solution, I&#8217;m part of the problem and <em>I don&#8217;t want to be part of the problem</em><strong>.</strong> More specifically, I&#8217;m talking about female presence in tech and in particular in open source projects.</p>
<p><img class="alignright size-full wp-image-2982" title="3 out of 100" src="http://daniel.haxx.se/blog/wp-content/uploads/2011/08/3of100.png" alt="3 out of 100" width="225" height="220" />I&#8217;ve been an open source and free software hacker, contributor and maintainer for almost 20 years. I&#8217;m the perfect stereo-type too: a white, hetero, 40+ years old male living in a suburb of a west European city. (I just lack a beard.) I&#8217;ve done more than 20,000 commits in public open source code repositories.  In the projects I maintain, and have a leading role in, and for the sake of this argument I&#8217;ll limit the discussion to <a href="http://curl.haxx.se/">curl</a>, <a href="http://www.libssh2.org/">libssh2</a>, and <a href="http://c-ares.haxx.se/">c-ares</a>, we&#8217;re certainly no better than the ordinary average male-dominated open source projects. We&#8217;re basically only men (boys?) talking to other men and virtually all the documentation, design and coding is done by male contributors (to a significant degree).</p>
<p>Sure, we have female contributors in all these projects, but for example in the curl case we have <a href="http://curl.haxx.se/docs/thanks.html">over 850 named contributors</a> and while I&#8217;m certainly not sure who is a woman and who is not when I get contributions, there&#8217;s only like 10 names in the list that are typically western female names. Let&#8217;s say there are 20. or 30. Out of a total of 850 the proportions are devastating no matter what. It might be up to 3%. Three. <strong>THREE</strong>. I know women are under-represented in technology in general and in open source in particular, but I think 3% is even lower than the already low bad average open source number. (Although, some reports claim the number of female developers in foss is as low as just above 1%, <a href="http://geekfeminism.wikia.com/wiki/FLOSS">geekfeminism</a> says 1-5%).</p>
<h2>Numbers</h2>
<p>Three percent. (In a project that&#8217;s been alive and kicking for <a href="http://daniel.haxx.se/blog/2011/03/20/curlyears-plus-equals-one/">thirteen years</a>&#8230;) At this level after this long time, there&#8217;s already a bad precedent and it of course doesn&#8217;t make it easier to change now. It is also three percent of the contributors when we consider all contributors alike. If we&#8217;d count the number of female persons in <em>leading roles</em> in these projects, the amount would be even less.</p>
<p>It could be worth noting that we don&#8217;t really have any recent reliable stats for &#8220;real world&#8221; female share either. Most sources that I find on the Internet and people have quoted in talks tend to repeat old numbers that were extracted using debatable means and questions. The comparisons I&#8217;ve seen repeated many times on female participation in FOSS vs commercial software, are very often based on stats that are really not comparable. If someone has reliable and somewhat fresh data, please point them out for me!</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 106px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&#8220;Ghosh, R. A.; Glott, R.; Krieger, B.;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 106px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Robles, G. 2002. Free/Libre and Open Source Software: Survey and Study. Part</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 106px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">IV: Survey of Developers. Maastricht: International Institute of Infonomics</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 106px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/Merit.</div>
<h2>A design problem of &#8220;the system&#8221;</h2>
<p>I would blame &#8220;the system&#8221;. I&#8217;m working in embedded systems professionally as a consultant and contract developer. I&#8217;ve worked as a professional developer for some 20 years. In my niche, there&#8217;s not even 10% female developers. A while ago I went through my past assignments in order to find the last female developer that I&#8217;ve worked with, in a project, physically located in the same office. The last time I met a fellow developer at work who was female was early 2007. I&#8217;ve worked in 17 (seventeen!) projects since then, without even once having had a single female developer colleague. I usually work in smaller projects with like 5-10 people. So one female in 18 projects makes it something like <em>one out of 130</em> or so. I&#8217;m not saying this is a number that is anything to draw any conclusions from since it just me and my guesstimates. It does however hint that the problem is far beyond &#8220;just&#8221; FOSS.  It is a tech problem. Engineering? Software? Embedded software? Software development? I don&#8217;t know, but I know it is present both in my professional life as well as in my volunteer open source work.</p>
<p><a href="http://geekfeminism.wikia.com/wiki/Technology_industry">Geekfeminism says the share is 10-30%</a> in the &#8220;tech industry&#8221;. My experience says the share gets smaller and smaller the closer to &#8220;the metal&#8221; and low level programming you get &#8211; but I don&#8217;t have any explanation for it.</p>
<h2>Fixing the problems</h2>
<p>What are we (I) doing wrong? Am I at fault? Is the the way I talk or the way we run these projects in some subtle &#8211; or obvious &#8211; ways not friendly enough or downright hostile to women?  What can or <em>should</em> we change in these projects to make us less hostile? The sad reality is that I don&#8217;t think we have any such fatal flaws in our projects that create the obstacles. I don&#8217;t think many females ever show up near enough the projects to even get mistreated in the first place.</p>
<p>I have a son and I have a daughter &#8211; they&#8217;re both still young and unaware of this kind of differences and problems. I hope I will be able to motivate and push and raise them equally. I don&#8217;t want to live in a world where my daughter will have a hard time to get into tech just because she&#8217;s a girl.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2011/10/31/three-out-of-one-hundred/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fosdem 2011: my libcurl talk on video</title>
		<link>http://daniel.haxx.se/blog/2011/02/08/fosdem-2011-my-libcurl-talk-on-video/</link>
		<comments>http://daniel.haxx.se/blog/2011/02/08/fosdem-2011-my-libcurl-talk-on-video/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 23:14:44 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[cURL and libcurl]]></category>
		<category><![CDATA[libssh2]]></category>
		<category><![CDATA[Fosdem]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=2582</guid>
		<description><![CDATA[Kai Engert was good enough to capture all the talks in the security devroom at Fosdem 2011, and while I&#8217;m seeding the full torrent I&#8217;ve made my own talk available as a direct download from here:
Fosdem 2011: security-room at 14:15 by Daniel Stenberg
The thing is about 107MB big, 640&#215;480 resolution and is roughly 26 minutes [...]]]></description>
			<content:encoded><![CDATA[<p>Kai Engert was good enough to capture all the talks in the security devroom at Fosdem 2011, and while I&#8217;m seeding <a href="http://kuix.de/misc/fosdem_2011_talks_webm.torrent">the full torrent</a> I&#8217;ve made <a href="http://daniel.haxx.se/blog/2011/02/05/libcurl-seven-ssl-libs-and-one-ssh-lib/">my own talk</a> available as a direct download from here:</p>
<p style="padding-left: 30px;"><a href="http://daniel.haxx.se/media/fosdem2011-security-room-1415_stenberg.webm">Fosdem 2011: security-room at 14:15 by Daniel Stenberg</a></p>
<p>The thing is about 107MB big, 640&#215;480 resolution and is roughly 26 minutes playing time. WebM format.</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/y3cfEP05LDA" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2011/02/08/fosdem-2011-my-libcurl-talk-on-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://daniel.haxx.se/media/fosdem2011-security-room-1415_stenberg.webm" length="112045228" type="video/webm" />
		</item>
		<item>
		<title>libcurl, seven SSL libs and one SSH lib</title>
		<link>http://daniel.haxx.se/blog/2011/02/05/libcurl-seven-ssl-libs-and-one-ssh-lib/</link>
		<comments>http://daniel.haxx.se/blog/2011/02/05/libcurl-seven-ssl-libs-and-one-ssh-lib/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 16:50:33 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[cURL and libcurl]]></category>
		<category><![CDATA[libssh2]]></category>
		<category><![CDATA[Fosdem]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[yassl]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=2574</guid>
		<description><![CDATA[I did a talk today at Fosdem with this title. The room only had 48 seats and it was completely packed with people standing everywhere it was possible around the seated guys.
The English slides from my talk are below. It was also recorded on video so I hope I&#8217;ll be able to post once it [...]]]></description>
			<content:encoded><![CDATA[<p>I did a talk today at <a href="http://fosdem.org/2011/schedule/event/libcurl">Fosdem with this title</a>. The room only had 48 seats and it was completely packed with people standing everywhere it was possible around the seated guys.</p>
<p>The English slides from my talk are below. It was also recorded on video so I hope I&#8217;ll be able to post once it becomes available online</p>
<div id="__ss_6822974" style="width: 425px;"><strong style="display:block;margin:12px 0 4px"><a title="libcurl, seven SSL libraries and one SSH library" href="http://www.slideshare.net/bagder/libcurl-seven-ssl-libraries-and-one-ssh-library">libcurl, seven SSL libraries and one SSH library</a></strong><br />
<object id="__sse6822974" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fosdem2011-libcurl-ssl-110205101715-phpapp02&amp;rel=0&amp;stripped_title=libcurl-seven-ssl-libraries-and-one-ssh-library&amp;userName=bagder" /><param name="name" value="__sse6822974" /><param name="allowfullscreen" value="true" /><embed id="__sse6822974" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fosdem2011-libcurl-ssl-110205101715-phpapp02&amp;rel=0&amp;stripped_title=libcurl-seven-ssl-libraries-and-one-ssh-library&amp;userName=bagder" name="__sse6822974" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2011/02/05/libcurl-seven-ssl-libs-and-one-ssh-lib/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making SFTP transfers fast</title>
		<link>http://daniel.haxx.se/blog/2010/12/08/making-sftp-transfers-fast/</link>
		<comments>http://daniel.haxx.se/blog/2010/12/08/making-sftp-transfers-fast/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 07:57:50 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[libssh2]]></category>
		<category><![CDATA[IETF]]></category>
		<category><![CDATA[SFTP]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=2320</guid>
		<description><![CDATA[SFTP, the SSH File Transfer Protocol, is a misleading name. It gives you the impression that it might be something like a secure version of FTP, perhaps something like FTPS but modeled over SSH instead of SSL. But it isn&#8217;t!
I think a more suitable name would&#8217;ve been SNFS or FSSSH. That is: networked file system [...]]]></description>
			<content:encoded><![CDATA[<p>SFTP, the SSH File Transfer Protocol, is a misleading name. It gives you the impression that it might be something like a secure version of FTP, perhaps something like FTPS but modeled over SSH instead of SSL. But it isn&#8217;t!<img class="alignright size-full wp-image-2343" title="The OpenSSH fish" src="http://daniel.haxx.se/blog/wp-content/uploads/2010/12/openssh-fish.png" alt="The OpenSSH fish" width="155" height="152" /></p>
<p style="text-align: justify;">I think a more suitable name would&#8217;ve been SNFS or FSSSH. That is: <em>networked file system operations over SSH</em>, as that is in fact what SFTP is. The SFTP protocol is closer to NFS in nature than FTP. It is a protocol for sending and receiving binary packets over a (secure) SSH channel to read files, write files, and so on. But not on the basis of entire files, like FTP, but by sending OPEN file as FILEHANDLE, &#8220;WRITE this piece of data at OFFSET using FILEHANDLE&#8221; etc.</p>
<p style="text-align: justify;">SFTP was being defined by a working group with IETF but the effort died before any specification was finalized. I wasn&#8217;t around then so I don&#8217;t know how this happened. During the course of their work, they released several drafts of the protocol using <a href="http://www.greenend.org.uk/rjk/2007/sftpversions.html">different protocol versions</a>. Version 3, 4, 5 and 6 are the ones most used these days. Lots of SFTP implementations today still only implement the <a href="http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-02.txt">version 3 draft</a>. (like <a href="http://www.libssh2.org/">libssh2</a> does for example)</p>
<p>Each packet in the SFTP protocol gets a response from the server to acknowledge it was received. It also includes an error code etc. So, the basic concept to write a file over SFTP is:</p>
<pre>[client] OPEN &lt;filehandle&gt;</pre>
<pre>[server] OPEN OK</pre>
<pre>[client] WRITE &lt;data&gt; &lt;filehandle&gt; &lt;offset 0&gt; &lt;size N&gt;</pre>
<pre>[server] WRITE OK</pre>
<pre>[client] WRITE &lt;data&gt; &lt;filehandle&gt; &lt;offset N&gt; &lt;size N&gt;</pre>
<pre>[server] WRITE OK</pre>
<pre>[client] WRITE &lt;data&gt; &lt;filehandle&gt; &lt;offset N*2&gt; &lt;size N&gt;</pre>
<pre>[server] WRITE OK</pre>
<pre>[client] CLOSE &lt;filehandle&gt;</pre>
<pre>[server] CLOSE OK</pre>
<p>This example obviously assumes the whole file was written in three WRITE packets. A single SFTP packet cannot be larger than 32768 bytes so if your client could read the entire file into memory, it can only send it away using very many small chunks. I don&#8217;t know the rationale for selecting such a very small maximum packet size, especially since the SSH channel layer over which SFTP packets are transferred over doesn&#8217;t have the same limitation but allows much larger ones! Interestingly, if you send a READ of N bytes from the server, you apparently imply that you can deal with packets of that size as then the server can send packets back that are N bytes (plus header)&#8230;</p>
<p>Enter network latency.</p>
<p style="text-align: justify;">More traditional transfer protocols like FTP, HTTP and even SCP work on entire files. Roughly like &#8220;send me that file and keep sending until the entire thing is sent&#8221;. The use of <a href="http://en.wikipedia.org/wiki/Sliding_window_protocol">windowing</a> in the transfer layer (TCP for FTP and HTTP and within the SSH channels for SCP) allows flow control to work without having to ACK every single little packet. This is a great concept to keep the flow going at high speed and still allow the receiver to not get drowned. Even if there&#8217;s a high network latency involved.</p>
<p style="text-align: justify;">The nature of SFTP and its ACK for every <em>small </em>data chunk it sends, makes an initial naive SFTP implementation suffer badly when sending data over high latency networks. If you have to wait a few hundred milliseconds for each 32KB of data then there will <em>never</em> be fast SFTP transfers. This sort of naive implementation is what libssh2 has offered up until and including libssh2 1.2.7.</p>
<p style="text-align: justify;">To achieve speedy transfers with SFTP, we need to &#8220;pipeline&#8221; the packets. We need to send out several packets before we expect the answers to previous ones, to make the sending of an SFTP packet and the checking of the corresponding ACKs asynchronous. Like in the above example, we would send all WRITE commands before we wait for/expect the ACKs to come back from the server. Then the round-trip time essentially becomes a non-factor (or at least a very small one).</p>
<h2 style="text-align: center;"><img class="aligncenter size-full wp-image-589" title="libssh2" src="http://daniel.haxx.se/blog/wp-content/uploads/2009/03/logo1-250.jpg" alt="libssh2" width="250" height="61" /></h2>
<p style="text-align: justify;">We&#8217;ve worked on implementing this kind of pipelining for SFTP uploads in <a href="http://www.libssh2.org/">libssh2</a> and it seems to have paid off. In <a href="http://www.libssh2.org/mail/libssh2-devel-archive-2010-12/0024.shtml">some measurements</a> libssh2 is now one of the faster SFTP clients.</p>
<p style="text-align: justify;">In <a href="http://www.libssh2.org/mail/libssh2-devel-archive-2010-12/0017.shtml">tests I did</a> over a high-latency connection, I could boost libssh2&#8217;s SFTP upload performance 8 (<strong>eight</strong>) times compared to the former behavior. In fact, that&#8217;s compared to earlier git behavior, comparing to the latest libssh2 release version (1.2.7) would most likely show an even greater difference.</p>
<p style="text-align: justify;">My plan is now to implement this same concept for SFTP downloads in libssh2, and then look over if we shouldn&#8217;t offer a slightly modified API to allow applications to use pipelined transfers better and easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2010/12/08/making-sftp-transfers-fast/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Re-evaluating the criticism</title>
		<link>http://daniel.haxx.se/blog/2010/12/05/re-evaluating-the-criticism/</link>
		<comments>http://daniel.haxx.se/blog/2010/12/05/re-evaluating-the-criticism/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 13:53:26 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[libssh2]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=2285</guid>
		<description><![CDATA[
A long while ago I posted my first version of the comparison of libssh vs libssh2. I have since then kept it updated and modified it over time. (Reminder: I am the libssh2 maintainer)
In that page, I included the performance differences I had measured which at the time showed libssh2 to be significantly faster when doing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.libssh2.org/"><img class="alignright size-thumbnail wp-image-589" style="margin: 8px;" title="libssh2" src="http://daniel.haxx.se/blog/wp-content/uploads/2009/03/logo1-250-150x36.jpg" alt="libssh2" width="150" height="36" /></a></p>
<p>A long while ago I posted my first version of the comparison of <a href="http://daniel.haxx.se/blog/2009/06/14/libssh2-vs-libssh/">libssh vs libssh2</a>. I have since then kept it updated and modified it over time. (Reminder: I am the <a href="http://www.libssh2.org/">libssh2</a> maintainer)</p>
<p>In that page, I included the performance differences I had measured which at the time showed libssh2 to be <em>significantly</em> faster when doing SCP operations.</p>
<p>The libssh guys always <a href="http://www.libssh2.org/mail/libssh2-devel-archive-2010-01/0130.shtml">claimed I was wrong</a>:</p>
<blockquote><p><em>Please don&#8217;t be ridiculous. No competent network developer will take you seriously when you tell that libssh2 is 2.3 times faster that libssh.</em></p></blockquote>
<p><em><span style="font-style: normal;">and have even used rather <a href="https://bugs.launchpad.net/ubuntu/+source/libssh/+bug/492931/comments/4">harsh words</a> when saying so.</span></em></p>
<blockquote><p><em>you read this FUD page on the libssh2 website. I don&#8217;t want to start arguing here, the page is complete crap</em></p></blockquote>
<p>(These two quotes are from the two leading libssh developers.)</p>
<p><em><span style="font-style: normal;">Due to their complaints I withdrew the mentioning of the speed differences from the comparison page. Maybe I had done something wrong after all and since I didn&#8217;t care properly to go back and verify my methods and redo everything, I decided to just take it off until I have more backing or more accurate tests.</span></em></p>
<p><em><span style="font-style: normal;">Fast forward to current time and Mark Riordan does his extensive performance tests of various SSH/SFTP </span></em>implementations. He <a href="http://www.libssh.org/archive/libssh/2010-12/0000000.html">mailed the libssh mailing list about it</a>, and his test results are interesting. I&#8217;m including it below for easier reading and just in case <a href="http://60bits.net/sni/libssh2-perf.htm">Mark&#8217;s original</a> won&#8217;t be around as long as this.</p>
<p>It repeats very similar numbers to mine and shows the same speed difference that I was told cannot happen. Isn&#8217;t that funny? Am I still ridiculous?</p>
<blockquote>
<h2>SSH file transfer performance</h2>
<p style="font-family: Verdana; font-size: 10pt;">The following table summarizes performance of SSH clients.</p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td style="font-family: Verdana; font-size: 10pt;" colspan="5"></td>
<td style="font-family: Verdana; font-size: 10pt;" colspan="2">LAN: 1 Gbit/sec</td>
<td style="font-family: Verdana; font-size: 10pt;" colspan="2">WAN: 6 Mb down, 0.9 Mb up</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;" colspan="9"><strong>Solaris x86 server</strong></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Client</td>
<td style="font-family: Verdana; font-size: 10pt;">Client OS</td>
<td style="font-family: Verdana; font-size: 10pt;">Server</td>
<td style="font-family: Verdana; font-size: 10pt;">Comp<br />
Enable</td>
<td style="font-family: Verdana; font-size: 10pt;">File<br />
Cmp</td>
<td style="font-family: Verdana; font-size: 10pt;">UL MB/s</td>
<td style="font-family: Verdana; font-size: 10pt;">DL MB/s</td>
<td style="font-family: Verdana; font-size: 10pt;">UL MB/s</td>
<td style="font-family: Verdana; font-size: 10pt;">DL MB/s</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">0.147</td>
<td style="font-family: Verdana; font-size: 10pt;">12.2</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">0.82</td>
<td style="font-family: Verdana; font-size: 10pt;">11.8</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh 0.4.6</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Bitvise Tunnelier</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">13.50</td>
<td style="font-family: Verdana; font-size: 10pt;">3.95</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Bitvise Tunnelier</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">8.541</td>
<td style="font-family: Verdana; font-size: 10pt;">10.2</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">psftp</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">9.4</td>
<td style="font-family: Verdana; font-size: 10pt;">5.06 or 0.46</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">WS_FTP 12.3</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">8.07</td>
<td style="font-family: Verdana; font-size: 10pt;">7.65</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Ubuntu sftp</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Solaris</td>
<td style="font-family: Verdana; font-size: 10pt;">?</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">29.6</td>
<td style="font-family: Verdana; font-size: 10pt;">11.5</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;" colspan="9"><strong>Linux server</strong></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">9.5</td>
<td style="font-family: Verdana; font-size: 10pt;">8.1</td>
<td style="font-family: Verdana; font-size: 10pt;">0.059</td>
<td style="font-family: Verdana; font-size: 10pt;">0.26</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh2</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">7.4</td>
<td style="font-family: Verdana; font-size: 10pt;">7.4</td>
<td style="font-family: Verdana; font-size: 10pt;">0.083</td>
<td style="font-family: Verdana; font-size: 10pt;">0.267</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh 0.4.6</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">15.4</td>
<td style="font-family: Verdana; font-size: 10pt;">2.8</td>
<td style="font-family: Verdana; font-size: 10pt;">0.10</td>
<td style="font-family: Verdana; font-size: 10pt;">0.13</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh 0.4.6</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">8.97</td>
<td style="font-family: Verdana; font-size: 10pt;">2.8</td>
<td style="font-family: Verdana; font-size: 10pt;">0.099</td>
<td style="font-family: Verdana; font-size: 10pt;">0.189</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh 0.4.6</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">Yes</td>
<td style="font-family: Verdana; font-size: 10pt;">19.7</td>
<td style="font-family: Verdana; font-size: 10pt;">3.3</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">libssh latest</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">14.1</td>
<td style="font-family: Verdana; font-size: 10pt;"><span style="color: #ff0000;">1.38</span></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">psftp</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">4.59</td>
<td style="font-family: Verdana; font-size: 10pt;">6.58</td>
<td style="font-family: Verdana; font-size: 10pt;">0.070</td>
<td style="font-family: Verdana; font-size: 10pt;">0.10</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">WS_FTP 12.3</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">23.0</td>
<td style="font-family: Verdana; font-size: 10pt;">8.5</td>
<td style="font-family: Verdana; font-size: 10pt;">0.113</td>
<td style="font-family: Verdana; font-size: 10pt;">0.361</td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Bitvise Tunnelier</td>
<td style="font-family: Verdana; font-size: 10pt;">Win</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
<td style="font-family: Verdana; font-size: 10pt;"></td>
</tr>
<tr>
<td style="font-family: Verdana; font-size: 10pt;">Ubuntu sftp</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">Linux</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">No</td>
<td style="font-family: Verdana; font-size: 10pt;">16.2</td>
<td style="font-family: Verdana; font-size: 10pt;">6.6</td>
<td style="font-family: Verdana; font-size: 10pt;">0.11</td>
<td style="font-family: Verdana; font-size: 10pt;">0.51</td>
</tr>
</tbody>
</table>
</blockquote>
<h2>What about SFTP?</h2>
<p style="font-family: Verdana; font-size: 10pt;">It should be noted that in my original claim and in this test above we speak SSH speeds (like SCP), not SFTP. SFTP has its own slew of problems and libssh2 is in fact not very good at doing SFTP speedily yet. We have work in progress to improve this situation, but we&#8217;re not there yet. I&#8217;ll post a follow-up on SFTP speeds soonish as things have been developing nicely in there recently.</p>
<h2>What about speeds compared to other clients?</h2>
<p style="font-family: Verdana; font-size: 10pt;">libssh2 is not fully on par with for example openssh when it comes to raw SCP speed, but it is in the same &#8220;neighborhood&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2010/12/05/re-evaluating-the-criticism/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>libssh2 release again</title>
		<link>http://daniel.haxx.se/blog/2010/08/18/libssh2-release-again/</link>
		<comments>http://daniel.haxx.se/blog/2010/08/18/libssh2-release-again/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 22:01:51 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[libssh2]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=1954</guid>
		<description><![CDATA[We&#8217;ve mostly been fixing bugs and making things internally look better in the libssh2 source code during the recent months so the new release I just uploaded, called version 1.2.7, isn&#8217;t really exciting to any particular level for outsiders. Existing users should however be fairly happy as we&#8217;ve addressed a fair bunch of bugs and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.libssh2.org/"><img class="alignright size-full wp-image-589" style="border: 0pt none; margin: 8px;" title="libssh2" src="http://daniel.haxx.se/blog/wp-content/uploads/2009/03/logo1-250.jpg" alt="libssh2" width="250" height="61" /></a>We&#8217;ve mostly been fixing bugs and making things internally look better in the <a href="http://www.libssh2.org/">libssh2</a> source code during the recent months so the new release I just uploaded, called <strong>version 1.2.7</strong>, isn&#8217;t really exciting to any particular level for outsiders. Existing users should however be fairly happy as we&#8217;ve addressed a fair bunch of bugs and some of them have been annoying us in the project for a long time.</p>
<p>I&#8217;m convinced this is the best libssh2 release we&#8217;ve ever made.</p>
<p>The list of bug-fixes include these:</p>
<ul>
<li>Better handling of invalid key files</li>
<li>inputchecks: make lots of API functions check for NULL pointers</li>
<li>libssh2_session_callback_set: extended the man page</li>
<li>SFTP: limit write() to not produce overly large packets</li>
<li>agent: make libssh2_agent_userauth() work blocking properly</li>
<li>_libssh2_userauth_publickey: reject method names longer than the data</li>
<li>channel_free: ignore problems with channel_close()</li>
<li>typedef: make ssize_t get typedef without LIBSSH2_WIN32</li>
<li>_libssh2_wait_socket: poll needs milliseconds</li>
<li>libssh2_wait_socket: reset error code to &#8220;leak&#8221; EAGAIN less</li>
<li>Added include for sys/select.h to get fd.set on some platforms</li>
<li>session_free: free more data to avoid memory leaks</li>
<li>openssl: make use of the EVP interface</li>
<li>Fix underscore typo for 64-bit printf format specifiers on Windows</li>
<li>Make libssh2_debug() create a correctly terminated string</li>
<li>userauth_hostbased_fromfile: packet length too short</li>
<li>handshake: Compression enabled at the wrong time</li>
<li>Don&#8217;t overflow MD5 server hostkey</li>
</ul>
<p>If you find other bugs or have patches, just bring them all to us!</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2010/08/18/libssh2-release-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>two competitors or one united</title>
		<link>http://daniel.haxx.se/blog/2010/03/04/two-competitors-or-one-united/</link>
		<comments>http://daniel.haxx.se/blog/2010/03/04/two-competitors-or-one-united/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 23:08:59 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[libssh2]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=1540</guid>
		<description><![CDATA[In a discussion on the libssh2 mailing list, the founder and maintainer of the libssh project got involved. The actual discussion is not what I want to talk about here, but something he touched on in one of his mails:
&#8220;I think a bit of competition in open source is fair and leads to innovation&#8221;
Recall that [...]]]></description>
			<content:encoded><![CDATA[<p>In a discussion on the <a href="http://www.libssh2.org/">libssh2</a> mailing list, the founder and maintainer of the <a href="http://www.libssh.org/">libssh</a> project got involved. The actual discussion is not what I want to talk about here, but something he touched on in one of his mails:</p>
<blockquote><p><em>&#8220;I think a bit of competition in open source is fair and leads to innovation&#8221;</em></p></blockquote>
<p>Recall that there are only two existing SSH libraries written in C that are free and open. These two libs have roughly the same features, the same goals and a lot of other similarities.</p>
<p>So, does it help open source projects to have an identified and known competitor to compete against and to try to steal users from and to try to outperform in other ways? Is there any research done that proves this theory?</p>
<p>Or is it just so that we have a number of developers with a certain amount of time, and if we divide those in two or more groups we therefore make sure that neither is advancing as fast as they could if all those persons would participate in the same project? Open Source projects are so often driven and developed by volunteers, and within a given area (say people interested in a SSH library) there is only a given amount of people and to make the best use of that limited set, wouldn&#8217;t it be better if they all would work together in a single project?</p>
<p>Would OpenBSD, NetBSD and FreeBSD  have been better off by not having split up? Would KDE and GNOME have reached further today if they had been a united project?</p>
<p>I don&#8217;t know the answers here, and most probably the answer isn&#8217;t very clear or binary applying to all cases anyway as I bet all situations are slightly different and thus should be considered separately.</p>
<p>In the history of FOSS, many forked projects end up getting merged again but we don&#8217;t often see two independently created projects merge. I guess the <a href="http://lwn.net/Articles/229690/">Compiz and Beryl fusion</a> is an exception. I think the sense of &#8220;my pet project&#8221; is often too strong, not to mention that different licenses and different development cultures make mergers hard to take place.</p>
<p>Look, I&#8217;m not really advocating that libssh2 and libssh should merge at this point. I&#8217;m just playing with the idea and trying to see the issue from different angles.</p>
<p>There are of course several things that would speak against projects to merge: different views on what licenses that are suitable, religious things such as how to indent source code or what build system to use. Quite possibly also other social aspects: development and team &#8220;culture&#8221; and behavior and why not just the &#8220;Not Invented Here&#8221; syndrome &#8211; it isn&#8217;t always that easy to give up what you made yourself or to appreciate someone else&#8217;s work.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2010/03/04/two-competitors-or-one-united/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>libssh2 version 1.2.3</title>
		<link>http://daniel.haxx.se/blog/2010/02/03/libssh2-version-1-2-3/</link>
		<comments>http://daniel.haxx.se/blog/2010/02/03/libssh2-version-1-2-3/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 18:40:23 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[libssh2]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=1500</guid>
		<description><![CDATA[The team behind libssh2 isn&#8217;t very big, but we&#8217;ve managed to yet again ship a new release (version 1.2.3) that adds new features such as support for SSH-agent and the new libssh2_trace_sethandler() function, while also fixing a few bugs.
Enjoy!

]]></description>
			<content:encoded><![CDATA[<p>The team behind <a href="http://www.libssh2.org/">libssh2</a> isn&#8217;t very big, but we&#8217;ve managed to yet again ship a new release (version 1.2.3) that adds new features such as support for <a href="http://www.libssh2.org/libssh2_agent_init.html">SSH-agent</a> and the new <a href="http://www.libssh2.org/libssh2_trace_sethandler.html">libssh2_trace_sethandler()</a> function, while also fixing a few bugs.</p>
<p>Enjoy!</p>
<p style="text-align: center;"><a href="http://www.libssh2.org/"><img class="size-full wp-image-589  aligncenter" title="libssh2" src="http://daniel.haxx.se/blog/wp-content/uploads/2009/03/logo1-250.jpg" alt="libssh2" width="250" height="61" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2010/02/03/libssh2-version-1-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adapting to being behind</title>
		<link>http://daniel.haxx.se/blog/2009/11/19/adapting-to-being-behind/</link>
		<comments>http://daniel.haxx.se/blog/2009/11/19/adapting-to-being-behind/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 07:37:29 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[c-ares]]></category>
		<category><![CDATA[cURL and libcurl]]></category>
		<category><![CDATA[libssh2]]></category>
		<category><![CDATA[Haxx]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=1301</guid>
		<description><![CDATA[For many years I&#8217;ve always kept up to speed with my commitments in my primary open source projects. I&#8217;ve managed to set aside enough time to close the bug reports as fast as they have poured in. This, while still having time to work on new features every now and then.
During this last year (or [...]]]></description>
			<content:encoded><![CDATA[<p>For many years I&#8217;ve always kept up to speed with my commitments in my primary open source projects. I&#8217;ve managed to set aside enough time to close the bug reports as fast as they have poured in. This, while still having time to work on new features every now and then.</p>
<p>During this last year (or so) however, I&#8217;ve come to realize that I no longer can claim to be in that fortunate position and I now find myself seeing the pile of open bugs get bigger and bigger over time. I get more bug reports than I manage to close.</p>
<p>There are of course explanations for this. In both ends of the mix actually. I&#8217;ve got slightly less time due my recent decision to go working for <a href="http://www.haxx.se/">Haxx </a>full-time, and how I&#8217;ve decided to focus slightly more on paid work which thus leads to me having less time for the unpaid work I&#8217;m doing.</p>
<p>Also, I&#8217;ve seen activity raise in the <a href="http://curl.haxx.se/">curl </a>project, in the <a href="http://www.libssh2.org/">libssh2 </a>project and in the <a href="http://c-ares.haxx.se/">c-ares </a>project. All of these projects have the same problem of various degrees: a lack of participating developers working on fixing bugs. Especially bugs reported by someone else.</p>
<p>Since this situation is still fairly new to me, I need to learn on how to adapt to it. How to deal with a stream of issues that is overwhelming and I must select what particular things I care about and what to &#8220;let through&#8221;. This of course isn&#8217;t ideal for the projects but I can&#8217;t do much more than proceed to the best of my ability, to try to make people aware of that this is happening and try to get more people involved to help out!</p>
<p>Don&#8217;t get fooled by my focus on &#8220;time&#8221; above. Sometimes I even plainly lack the energy necessary to pull through. It depends a lot on the tone or impression I get from the report or reporter how I feel, but when a reporter is rude or just too &#8220;demanding&#8221; (like constantly violating the mailing list etiquette or just leaving out details even when asked) I can&#8217;t but help to feel that <em>at times </em>working as a developer during my full-day paid hours can make it a bit hard to then work a couple of hours more in the late evening debugging further.</p>
<p>The upside, let&#8217;s try to see it as a positive thing, is that now I can actually &#8220;punish&#8221; those that clearly don&#8217;t deserve to get helped since I now focus on the nice people, the good reports, the ones which seem to be written by clever people with an actual interest to see their problems addressed. Those who don&#8217;t do their part I&#8217;ll just happily ignore until they shape up.</p>
<p>I will deliberately just let issues &#8220;slip through&#8221; and not get my attention and require that if they are important enough people will either report it again, someone else will step up and help fix them or perhaps someone will even consider paying for the fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2009/11/19/adapting-to-being-behind/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My FSCONS 2009 libssh2 slides</title>
		<link>http://daniel.haxx.se/blog/2009/11/18/my-fscons-2009-libssh2-slides/</link>
		<comments>http://daniel.haxx.se/blog/2009/11/18/my-fscons-2009-libssh2-slides/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 23:00:17 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[libssh2]]></category>
		<category><![CDATA[FSCONS]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://daniel.haxx.se/blog/?p=1382</guid>
		<description><![CDATA[I also did a talk about libssh2 at FSCONS 2009 (in addition to the Rockbox talk) and the slides from it are now available to browse or download.
Libssh2 at FSCONS 2009
View more presentations from FSCONS 2009.

The talk was recorded on video, and I&#8217;ll make sure to let you know as soon as it is available [...]]]></description>
			<content:encoded><![CDATA[<p>I also did a talk about <a href="http://www.libssh2.org/">libssh2</a> at <a href="http://fscons.org/">FSCONS</a> 2009 (in addition to the <a href="http://daniel.haxx.se/blog/2009/11/17/my-rockbox-talk-at-fscons-2009/">Rockbox talk</a>) and the slides from it are now available to browse or <a href="http://daniel.haxx.se/media/libssh2-fscons2009.odp">download</a>.</p>
<div id="__ss_2518735" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Libssh2 at FSCONS 2009" href="http://www.slideshare.net/fscons2009/libssh2-at-fscons-2009">Libssh2 at FSCONS 2009</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=libssh2-091117071727-phpapp02&amp;stripped_title=libssh2-at-fscons-2009" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=libssh2-091117071727-phpapp02&amp;stripped_title=libssh2-at-fscons-2009" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/fscons2009">FSCONS 2009</a>.</div>
</div>
<p>The talk was recorded on video, and I&#8217;ll make sure to let you know as soon as it is available online somewhere. That might take a while.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.haxx.se/blog/2009/11/18/my-fscons-2009-libssh2-slides/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

