<?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>Nicolás Brailovsky &#187; Grumpy</title>
	<atom:link href="http://nicolasb.com.ar/category/grumpy/feed/" rel="self" type="application/rss+xml" />
	<link>http://nicolasb.com.ar</link>
	<description>A modern blog</description>
	<lastBuildDate>Thu, 02 Sep 2010 12:47:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>C++ Namespaces and g++</title>
		<link>http://nicolasb.com.ar/2010/08/c-namespaces-and-g/</link>
		<comments>http://nicolasb.com.ar/2010/08/c-namespaces-and-g/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 12:48:32 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=699</guid>
		<description><![CDATA[


Have you ever tried to leave open a C++ namespace after EOF (that is, openning a namespace in a headerfile but forgetting to close it). It&#8217;s a little bit like getting your balls caught by the door. The compiler will throw at you an incredible number of seemingly unrelated errors, all of which occur in [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td>Have you ever tried to leave open a C++ namespace after EOF (that is, openning a namespace in a headerfile but forgetting to close it). It&#8217;s a little bit like getting your balls caught by the door. The compiler will throw at you an incredible number of seemingly unrelated errors, all of which occur in a different file than the offending header.</p>
<p>Reaching EOF on a C++ file without closing all its namespaces should be ilegal; or at least you should have better error reporting, because right now it&#8217;s almost impossible to know what&#8217;s the source of the error (for g++, that is).</td>
<td><a href="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man.jpg"><img class="aligncenter size-medium wp-image-605" title="grumpy old man" src="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man-300x300.jpg" alt="" width="300" height="300" /></a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/08/c-namespaces-and-g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuuuuuuuuuuuuuu (Opera)</title>
		<link>http://nicolasb.com.ar/2010/07/fuuuuuuuuuuuuuu-opera/</link>
		<comments>http://nicolasb.com.ar/2010/07/fuuuuuuuuuuuuuu-opera/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 15:24:43 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=981</guid>
		<description><![CDATA[I hate ubuntu, but I hate windows the most. I hate firefox, but internet explorer makes me want to vomit. I don&#8217;t like gnome, but kde is uglier. But I love Opera. Well, loved it, I guess version 10.60 will be my last version.
It&#8217;s been a loyal application which I&#8217;ve been using since its 6.x [...]]]></description>
			<content:encoded><![CDATA[<p>I hate ubuntu, but I hate windows the most. I hate firefox, but internet explorer makes me want to vomit. I don&#8217;t like gnome, but kde is uglier. But I love Opera. Well, loved it, I guess version 10.60 will be my last version.</p>
<p>It&#8217;s been a loyal application which I&#8217;ve been using since its 6.x version. Always fast, with all the functionality I needed (some more too) and none of the bloated BS needed to make FF be a usable (though ugly) browser. It had it&#8217;s ussual screw-ups, everyone does, but after I updated to version 10.60 it has become unusable.</p>
<p>Its new features include random crashe, making gmail work really slow (or not at all: the fucking scrollbar won&#8217;t work anymore, and keyboard shortcuts in google reader (j &amp; k, next &amp; prev) are foobar&#8217;d. Scrolling on a large webpage eats 100% cpu, the upgrade fucked up my nice dark theme (and changed it back to a hellish abomination which seems to be a time-traveller from 1998), and it has random stupid bugs. And I mean STUPID, like, double click a word and the popup menu won&#8217;t go away.<br />
<img src="http://www.monosinfinitos.com.ar/wp-content/uploads/2010/04/emo-parker-300x187.jpg" alt="" /><br />
<small>I tried to insert this image through WP image uploader, but it doesn&#8217;t work anymore in Opera</small><br />
Fuck. I always liked you Opera, but it seems it may be time to give chrome a chance.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/07/fuuuuuuuuuuuuuu-opera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The truth about SNMP</title>
		<link>http://nicolasb.com.ar/2010/07/the-truth-about-snmp/</link>
		<comments>http://nicolasb.com.ar/2010/07/the-truth-about-snmp/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 12:50:06 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=999</guid>
		<description><![CDATA[Seen @ http://wiki.wireshark.org/SNMP:
After years thinking and reading RFCs and various other documents, today, I finally understood. &#8220;Simple&#8221; refers to &#8220;Network&#8221; not to &#8220;Management Protocol&#8221;! So it is a Management Protocol for Simple Networks not a Simple Protocol for Management of Networks&#8230; That explains why it&#8217;s called &#8220;Simple&#8221;. It was that Simple but it took me [...]]]></description>
			<content:encoded><![CDATA[<p>Seen @ http://wiki.wireshark.org/SNMP:</p>
<blockquote><p>After years thinking and reading RFCs and various other documents, today, I finally understood. &#8220;Simple&#8221; refers to &#8220;Network&#8221; not to &#8220;Management Protocol&#8221;! So it is a Management Protocol for Simple Networks not a Simple Protocol for Management of Networks&#8230; That explains why it&#8217;s called &#8220;Simple&#8221;. It was that Simple but it took me years to understand it! &#8212; LuisOntanon</p></blockquote>
<p>Thank you Luis. That explains a lot.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/07/the-truth-about-snmp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opera borks gmail</title>
		<link>http://nicolasb.com.ar/2010/07/opera-borks-gmail/</link>
		<comments>http://nicolasb.com.ar/2010/07/opera-borks-gmail/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 10:00:08 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=930</guid>
		<description><![CDATA[Ubuntu sucks, but less than windows. Gmail sucks, but less than hotmail. Opera rocks, but it tends to fuck up gmail every once in a while. After a lot of research and having found no help on the interweb I traced the problem to having a lot of tabs open for a lot of time [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu sucks, but less than windows. Gmail sucks, but less than hotmail. Opera rocks, but it tends to fuck up gmail every once in a while. After a lot of research and having found no help on the interweb I traced the problem to having a lot of tabs open for a lot of time (weeks, not hours).</p>
<p>In Firefox this shouldn&#8217;t be a problem as having a FF browser open for a week should hog all the memory on its host computer, forcing you to reboot. In Opera, being a little bit better behaved browser, this may actually be a problem.</p>
<p>Luckly the fix is simple: open a <a href="http://nicolasb.com.ar/category/vim/">Vim</a> editor or take out pencil and paper, make a list of all your open tabs, close opera and using your favourite console type &#8220;rm -rf ~/.opera/sessions&#8221; (i.e. delete the sessions folder in your .opera dir). Restart Opera and restore your tabs from your backup list. Problem should be gone.</p>
<p><a href="http://nicolasb.com.ar/archivos/2010/04/bork.jpg"><img class="aligncenter size-medium wp-image-937" title="bork" src="http://nicolasb.com.ar/archivos/2010/04/bork-239x300.jpg" alt="" width="239" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/07/opera-borks-gmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nooooooooooo</title>
		<link>http://nicolasb.com.ar/2010/06/nooooooooooo/</link>
		<comments>http://nicolasb.com.ar/2010/06/nooooooooooo/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 10:00:50 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=950</guid>
		<description><![CDATA[(gvim:13664): Gdk-CRITICAL **: gdk_window_get_user_data: assertion `GDK_IS_WINDOW (window)&#8217; failed
Vim: capté una señal de muerte SEGV
Vim: finalizado.


]]></description>
			<content:encoded><![CDATA[<p>(gvim:13664): Gdk-CRITICAL **: gdk_window_get_user_data: assertion `GDK_IS_WINDOW (window)&#8217; failed<br />
Vim: capté una señal de muerte SEGV<br />
Vim: finalizado.</p>
<p><a href="http://nicolasb.com.ar/archivos/2010/05/VaderscreamsNOOOOOOOOO.jpg"><img class="aligncenter size-medium wp-image-949" title="VaderscreamsNOOOOOOOOO" src="http://nicolasb.com.ar/archivos/2010/05/VaderscreamsNOOOOOOOOO-190x300.jpg" alt="" width="190" height="300" /></a></p>
<p><a href="http://nicolasb.com.ar/archivos/2010/06/no.jpg"><img class="aligncenter size-medium wp-image-968" title="no" src="http://nicolasb.com.ar/archivos/2010/06/no-300x291.jpg" alt="" width="300" height="291" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/06/nooooooooooo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh shit, the stack</title>
		<link>http://nicolasb.com.ar/2010/06/oh-shit-the-stack/</link>
		<comments>http://nicolasb.com.ar/2010/06/oh-shit-the-stack/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 10:00:49 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=857</guid>
		<description><![CDATA[* Post from the wayback machine. I wrote this a long time ago but it got way down the posts queue, don&#8217;t know why *
I liked my vacations very much, thank you. Some people enjoyed vacations from me too. At work they even decided to keep this gem for my return. Upon my arrival a [...]]]></description>
			<content:encoded><![CDATA[<p>* Post from the wayback machine. I wrote this a long time ago but it got way down the posts queue, don&#8217;t know why *</p>
<p>I liked my vacations very much, thank you. Some people enjoyed vacations from me too. At work they even decided to keep this gem for my return. Upon my arrival a nice coredump was waiting at my desk, so to speak. Check it out, isn&#8217;t it beautiful?</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="nu0">0</span> 0xff05d070 in inflate_fast <span class="br0">&#40;</span><span class="br0">&#41;</span> from /usr/lib/libz.<span class="me1">so</span></div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">1</span> 0xff05a13c in inflate <span class="br0">&#40;</span><span class="br0">&#41;</span> from /usr/lib/libz.<span class="me1">so</span></div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">2</span> 0&#215;00146224 in ZDecompress::<span class="me2">decompress</span> <span class="br0">&#40;</span>this=0xfbc7b300, sauce=@0xfbe7b740, dest=@0&#215;27c910<span class="br0">&#41;</span> at Compressor.<span class="me1">h</span>:<span class="nu0">134</span></div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">3</span> 0&#215;00145e80 in HandleClient::<span class="me2">get_client_data</span> <span class="br0">&#40;</span>this=0&#215;27c810, output_stream=0&#215;27c910<span class="br0">&#41;</span> at IPC/DataReceiver.<span class="me1">cpp</span>:<span class="nu0">54</span></div>
</li>
</ol>
</div>
<p>Yeah, that&#8217;s getting killed inside zlib. Nice way to start the year, a bug in zlib. What led me to that conclusion? Easy, the same compressed file worked in Ubuntu. Must be a bug in zlib then!</p>
<p>The next step was getting zlib&#8217;s code and adding enough printf&#8217;s to know the problem was in the middle of the file, not at the beginning nor the end; indeed, most of the file could be correctly decoded, but then it just died. This looked more and more like a bug in zlib.</p>
<p>I began to scramble things around, trying to isolate the problem. Things just got weirder, the same code worked fine if instead of being inside a thread I was on the main thread. If you have psychic powers you now have enough information to know what the problem was. Although I should have known too (this wasn&#8217;t even the first time I saw a problem like this one!) I was mindset on finding a bug in zlib, which now, it seems, only appears while interacting with ACE (in my defence, I did see these kind of bugs too).</p>
<p>Fiddling around with the code some more, even stranger backtraces began to appear. First this one:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">Program received signal SIGSEGV, Segmentation fault.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>Switching to LWP <span class="nu0">10</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">0xfd6b88fc in _pollsys <span class="br0">&#40;</span><span class="br0">&#41;</span> from /usr/lib/libc.<span class="me1">so</span><span class="nu0">.1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span>gdb<span class="br0">&#41;</span> bt</div>
</li>
<li class="li2">
<div class="de2"><span class="co2">#0 &nbsp;0xfd6b88fc in _pollsys () from /usr/lib/libc.so.1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#1 &nbsp;0&#215;696e7661 in ?? ()</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#2 &nbsp;0&#215;696e7661 in ?? ()</span></div>
</li>
</ol>
</div>
<p>And then this other one, which led me into the right direction:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">Program received signal SIGSEGV, Segmentation fault.</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>Switching to LWP <span class="nu0">9</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">0&#215;000b6784 in std::<span class="me2">operator</span>| <span class="br0">&#40;</span>__a=Cannot access memory at address 0xfbb7b094</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; at /usr/local/lib/gcc/sparc-sun-solaris2<span class="nu0">.10</span>/<span class="nu0">3.4</span><span class="nu0">.6</span>/../../../../include/c++/<span class="nu0">3.4</span><span class="nu0">.6</span>/bits/ios_base.<span class="me1">h</span>:<span class="nu0">124</span></div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">124</span> &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> <span class="kw1">return</span> _Ios_Openmode<span class="br0">&#40;</span>static_cast<span class="br0">&#40;</span>__a<span class="br0">&#41;</span> | static_cast<span class="br0">&#40;</span>__b<span class="br0">&#41;</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span>gdb<span class="br0">&#41;</span> bt</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#0 &nbsp;0&#215;000b6784 in std::operator| (__a=Cannot access memory at address 0xfbb7b094</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; at /usr/local/lib/gcc/sparc-sun-solaris2<span class="nu0">.10</span>/<span class="nu0">3.4</span><span class="nu0">.6</span>/../../../../include/c++/<span class="nu0">3.4</span><span class="nu0">.6</span>/bits/ios_base.<span class="me1">h</span>:<span class="nu0">124</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#1 &nbsp;0&#215;00152d5c in HandleClient::get_client_data (this=Cannot access memory at address 0xfbb7b088</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span> at IPC/DataReceiver.<span class="me1">cpp</span>:<span class="nu0">46</span></div>
</li>
</ol>
</div>
<p>That last stack trace got me to think how could it be possible for an otherwise working program to coredump while creating an stdlib object. I mean, stdlib is quite well tested, isn&#8217;t it? Then it struck me: the keyword isn&#8217;t stdlib but <strong>creating</strong>. It was allocating memory from the stack, upon entering the function.</p>
<p>Some more research later I found out that Solaris default thread size is about 1 mb, while in Ubuntu this thread is of about 8 mb. And I also noticed the buffer I was allocating for zlib was taking up space in&#8230; the stack.</p>
<p>If there&#8217;s something to learn from this story is that you should always know what goes in the stack: only small objects should live there, and you should always know the max stack depth a function could reach. Otherwise it may come back and bite you in the ass when you&#8217;re back from your vacations.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/06/oh-shit-the-stack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dealing with Office on Linux</title>
		<link>http://nicolasb.com.ar/2010/05/dealing-with-office-on-linux/</link>
		<comments>http://nicolasb.com.ar/2010/05/dealing-with-office-on-linux/#comments</comments>
		<pubDate>Tue, 18 May 2010 10:00:36 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=653</guid>
		<description><![CDATA[Seen @ bash.org:
&#60; adamkuj&#62; are there any good open source tools for working with Access DB&#8217;s (mdb files)?
&#60;@Dopey&#62; rm
Comment: #evilgeeks
True, so true&#8230; It&#8217;s been said a thousand times, but I kinda like ranting&#8230; like it or not Office files are a majority out there. If you work with Linux, using it in a real enterprise [...]]]></description>
			<content:encoded><![CDATA[<p>Seen @ bash.org:</p>
<blockquote><p>&lt; adamkuj&gt; are there any good open source tools for working with Access DB&#8217;s (mdb files)?<br />
&lt;@Dopey&gt; rm<br />
Comment: #evilgeeks</p></blockquote>
<p>True, so true&#8230; It&#8217;s been said a thousand times, but I kinda like ranting&#8230; like it or not Office files are a majority out there. If you work with Linux, using it in a real enterprise environment, sooner or later you&#8217;ll run into someone using a propietary Office format. You&#8217;ll also run into someone who doesn&#8217;t know that you need OOO to open those weird odf files. You may need to produce an adecuately formated document sometime, and <a href="/category/latex/">LaTeX</a> may not be an option.</p>
<p>Deal with it. Install a VM, or Wine, and a copy of MS Office. Resistance is futile.</p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/05/dealing-with-office-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random WTFs</title>
		<link>http://nicolasb.com.ar/2010/05/random-wtfs/</link>
		<comments>http://nicolasb.com.ar/2010/05/random-wtfs/#comments</comments>
		<pubDate>Mon, 10 May 2010 10:00:54 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=638</guid>
		<description><![CDATA[Random WTF 1
Note: Use dapper instead of edgy to use Ubuntu Dapper
Thank you captian obvious.
Random WTF 2
I&#8217;ve been working with a big-co supplied ACS server, but it&#8217;s IE only. WTF!? Aren&#8217;t ACS all XMLy so they can work everywhere? I hate you all.

]]></description>
			<content:encoded><![CDATA[<h3>Random WTF 1</h3>
<blockquote><p>Note: Use dapper instead of edgy to use Ubuntu Dapper</p></blockquote>
<p><a href="http://www.tatanka.com.br/ies4linux/page/Installation:Es/Ubuntu">Thank you captian obvious.</a></p>
<h3>Random WTF 2</h3>
<p>I&#8217;ve been working with a big-co supplied ACS server, but it&#8217;s IE only. WTF!? Aren&#8217;t ACS all XMLy so they can work everywhere? I hate you all.</p>
<p><a href="http://nicolasb.com.ar/archivos/2010/02/thestupiditburns.jpg"><img class="aligncenter size-medium wp-image-802" title="thestupiditburns" src="http://nicolasb.com.ar/archivos/2010/02/thestupiditburns-263x300.jpg" alt="" width="263" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/05/random-wtfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Sound still FUBAR&#8217;d</title>
		<link>http://nicolasb.com.ar/2010/05/ubuntu-sound-still-fubard/</link>
		<comments>http://nicolasb.com.ar/2010/05/ubuntu-sound-still-fubard/#comments</comments>
		<pubDate>Tue, 04 May 2010 10:00:39 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Grumpy]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/?p=790</guid>
		<description><![CDATA[



Remember my problems with dual screen support in Ubuntu? Well, I still love bashing Ubuntu, and the sound system in Linux is certainly a topic to rant a lot. Making the sound work fine in Ubuntu is an odyssey in pain and frustration, unless it works fine out of the box. And even if it [...]]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr>
<td><a href="http://nicolasb.com.ar/archivos/2010/02/music_box_open_b.jpg"><img class="aligncenter size-medium wp-image-791" title="music_box_open_b" src="http://nicolasb.com.ar/archivos/2010/02/music_box_open_b-300x300.jpg" alt="" width="300" height="300" /></a></td>
<td>Remember my problems with <a href="http://nicolasb.com.ar/2010/02/ubuntu-dual-screen-still-fubard/">dual screen support</a> in Ubuntu? Well, I still love bashing Ubuntu, and the sound system in Linux is certainly a topic to rant a lot. Making the sound work fine in Ubuntu is an odyssey in pain and frustration, unless it works fine out of the box. And even if it does, it may still have it&#8217;s kirks. Lots of them.</p>
<p>In my case the sound starts in mute. I know it&#8217;s a problem with pulse (which is a WTF in itself) and alsa, I don&#8217;t really care what&#8217;s the problem though, I just want to play my mp3s collection without having to carefully turn the knobs up to eleven in alsamixer.</td>
</tr>
</tbody>
</table>
<p>After trying a lot of the &#8220;solutions&#8221; found on the internets I&#8217;ve decided the best thing to do, short of switching back to windows me, is adding the following to my &#8220;fix_ubuntu_fuckups.sh&#8221; start script, which already contains my dual-screen pseudofix:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">amixer -c0 &#8212; sset Master playback -0dB unmute</div>
</li>
<li class="li1">
<div class="de1">amixer -c0 &#8212; sset Headphone playback 0dB unmute</div>
</li>
<li class="li1">
<div class="de1">amixer -c0 &#8212; sset Front playback 0dB unmute</div>
</li>
<li class="li1">
<div class="de1">amixer -c0 &#8212; sset PCM playback -16dB unmute</div>
</li>
</ol>
</div>
<p>This sets alsamixer to normal volume levels. As for the real fix, I&#8217;ll wait till the next Ubuntu version. I wonder which sound subsystem will they chose next time.</p>
<p><a href="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man.jpg"><img class="aligncenter size-medium wp-image-605" title="grumpy old man" src="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man-300x300.jpg" alt="" width="300" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/05/ubuntu-sound-still-fubard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I hearth Berkeley</title>
		<link>http://nicolasb.com.ar/2010/04/657/</link>
		<comments>http://nicolasb.com.ar/2010/04/657/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 10:00:36 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Grumpy]]></category>

		<guid isPermaLink="false">http://nicolasb.com.ar/2009/12/657/</guid>
		<description><![CDATA[


error: cannot convert ‘Db**’ to ‘DB**’ for argument ‘1’ to ‘int db_create&#40;DB**, DB_ENV*, u_int32_t&#41;’



Thank you very much, Oracle Berkeley, for having a type named Db and another one named DB, and for never using namespaces. It makes my work a much more interesting challenge (*).

(*) Yeah, I know, Db is for the C++ wrapper and [...]]]></description>
			<content:encoded><![CDATA[<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">error: cannot convert ‘Db**’ to ‘DB**’ <span class="kw1">for</span> argument ‘<span class="nu0">1</span>’ to ‘int db_create<span class="br0">&#40;</span>DB**, DB_ENV*, u_int32_t<span class="br0">&#41;</span>’</div>
</li>
</ol>
</div>
<p>Thank you very much, Oracle Berkeley, for having a type named Db and another one named DB, and for never using namespaces. It makes my work a much more interesting challenge (*).</p>
<p><a href="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man.jpg"><img class="aligncenter size-medium wp-image-605" title="grumpy old man" src="http://nicolasb.com.ar/archivos/2009/10/grumpy-old-man-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>(*) Yeah, I know, Db is for the C++ wrapper and DB is for the plain C API (**). So what, I hate you all anyway.<br />
(**) I&#8217;m working on a project with Berekley DB and it has enough WTF moments for a complete blog&#8230; I may post some of them, as a catharsis method. (***)<br />
(***) Or because it has some interesting stuff too&#8230; who knows. Recursive note FTW (**). I think I have already done that, haven&#8217;t I?</p>
]]></content:encoded>
			<wfw:commentRss>http://nicolasb.com.ar/2010/04/657/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
