<?xml version="1.0" encoding="utf-8"?>
        <?xml-stylesheet type="text/css" href="http://blog.ngas.ch/styles/feed.css"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title>Filed under: general | Pas un Geek en tant que tel</title>
<atom:link href="http://blog.ngas.ch/archives/general/index-rss.xml" rel="self" type="application/rss+xml" />
<link>http://blog.ngas.ch</link>
<description>No Geek As Such</description>
<dc:language>en-us</dc:language>
<dc:creator><a href=&quot;https://plus.google.com/114292582268779510325&quot;>Tonnerre Lombard</a></dc:creator>
<dc:date>2011-12-12T21:20:42+01:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />

<item>
<link>http://blog.ngas.ch/archives/2009/02/03/fun_with_packages_from_steg/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2009/02/03/fun_with_packages_from_steg/index.html</guid>
<title>Fun with packages from Steg</title>
<dc:date>2009-02-03T19:38:12+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 Last thursday, I was ordering a quad core Phenom and a new mainboard from
 Steg Computer. Since my two workstations just failed, I ordered express
 because I wanted to get the stuff <i>Real Soon Now</i>.
</p>
<p>
 On monday morning, <a href="http://www.sygroup.ch/">we</a> received a
 small piece of paper saying that we can now fetch the package at the
 local post office. So I did, but the postmen couldn't hand me the
 package, unfortunately, because the recipient address had magically
 changed to the CEO of our company. <i>(Remember it was a private order
 from my private account.)</i>
</p>
<p>
 So I called the number which was written in the confirmation email from
 a company SIP phone to complain (041/259 00 88) &mdash; refused. I
 retried with my cell phone, which said &rdquo;The number you dialed is
 not valid.&ldquo;
</p>
<p>
 Now I had a look at the
 <a href="http://www.stegcomputer.ch/de/filialen/littau.php?active=43">web
  site</a> for the telephone number, but unfortunately it was the same
 unreachable phone number.
</p>
<p>
 So I sat down and wrote a very irate fax telling them to keep the package
 and remove all of my customer records (so they wouldn't mix anyone else up
 with me and disclose personal information), and sent it to the fax number of
 Steg. It came back &mdash; invalid number. So I wrote &rdquo;Fraud?!&ldquo;
 on the fax in <b>big</b> letters and faxed it to all Steg stores in the
 German part of Switzerland (the fax was in German, otherwise I'd have sent
 it to the french stores as well).
</p>
<p>
 Later in the evening, while I was attending
 <a href="http://swinog.mrmouse.ch/">SwiNOG Beer Event</a>, the Steg people
 called up our office and reached <a href="http://www.koechlinux.ch/">Sandro</a>
 who told them that they are not very likely to get me back as a customer.
 I concur.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/11/14/migration_between_operating_systems_or_countries/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/11/14/migration_between_operating_systems_or_countries/index.html</guid>
<title>Migration between operating systems or countries</title>
<dc:date>2008-11-14T14:06:59+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 I noticed today that sometimes there are serious parallels in migration
 between operating systems, just as there are between different countries.
</p>
<p>
 Windows, for example, is somewhat like Germany. It will confront you with
 a large amount of bureaucracy in order to approve your immigration, and
 will sometimes refuse it claiming blatantly that you're a terrorist. If
 problems arise, you have to find someone to pay to fix them, who will
 usually be an immigrant. On the other hand, it lets go of you rather
 easily. If you attempt to immigrate into other operating systems, it may
 force you to choose either one.
</p>
<p>
 MacOS (Versions 10, earlier and later) can be compared to the US. You
 have to be rich enough to immigrate in the first place. Your appartment
 comes with a record of the latest speech of the President himself. When
 you're finally there, everyone will keep iterating how everything is
 shiny, but looking out into the streets you quickly realize that there
 are many things seriously wrong. Despite borrowing various things from
 other countries (the Statue of Liberty is a glamorous example), they
 aren't really connected. Nevertheless, everyone will tell you how much
 they believe in their country. When emigrating, you're declared to be
 one of the greedy Germans, no matter where you go.
</p>
<p>
 Solaris is like the british empire. When you immigrate, you first
 have to come to a much higher level. But then you are granted access to
 the most high-valued ressources of the entire Empire, and the Lords
 themselves will invite you to discuss their matters with them. When
 leaving, a message of regret is sent after you.
</p>
</p>
 Linux is very much comparable to China. If you immigrate, you're greeted
 at first glance, but as soon as you start to critizise, you are outlawed.
 People will hate you, you may even be detained. People will try to prevent
 you from speaking at all. Once you try emigration, you will be chased
 until the end of the world by people trying to bring you back to the
 motherland.
<p>
<p>
 OpenBSD, on the other hand, is a lot like Finland. You are welcome to join
 the country, but don't expect anyone to approach you with immigration forms.
 During your life, you will have to fix a lot of things on your own, and if
 you're doing that well, people will whisper words of thank to you when
 they're sure nobody listens. In the end, however, if you emigrate,
 everyone will say it's good riddance. (But most will not mean it.)
</p>
<p>
 NetBSD has very strong parallels to Greece. You are welcomed warm-heartedly
 and people will bring cookies and other food and hard drinks. You're being
 asked by emigrated brits if you would care for tea. During your life,
 everyone keeps making jokes about problems, and one day someone comes up
 and fixes it. Since the majority of inhabitants is old and bearded, you
 use to meet for sitting on a bench and laughing benevolently about the
 mistakes of your own and other countries. People are assoicated with the
 things they do, if you need help in a specific area there is always a
 Mister or Miss Specific Area, who will be rather difficult to get hold
 of. Sometimes you're even referred to the wrong Mister Specific Area,
 because most of the time their name is Matt. When emigrating, people give
 you presents for the way and don't worry, as they know you will return
 either way.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/10/31/if_you_forgot_screen_in_irssi/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/10/31/if_you_forgot_screen_in_irssi/index.html</guid>
<title>If you forgot screen in irssi</title>
<dc:date>2008-10-31T16:29:30+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 There's always something new to learn on #netbsd. If you happened to
 forget to start irssi inside screen, it suffices to run:
</p>
<p><code>
 /upgrade /usr/pkg/bin/screen /usr/pkg/bin/irssi
</code></p>
<p>
 &hellip;and your session will be running inside screen.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/10/19/military_invasion_at_the_local_coop/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/10/19/military_invasion_at_the_local_coop/index.html</guid>
<title>Military invasion at the local Coop</title>
<dc:date>2008-10-19T23:13:16+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 When my train arrived from Geneva tonight, I went to the Coop Pronto to
 get some bread. And then the Coop suddenly started to get crowded with
 military. As Miguel appropriately noticed, these people appear to live
 on shrink-wrapped sandwiches and barley juice.
</p>
<img src="http://tonnerre.users.bsdprojects.net/social/gallery/Places/Delemont/Invasion_au_Coop_Sm.jpg" alt="Military invasion at the Coop" title="Military invasion at the Coop" width="480"/>
<p>
 As it turned out, they were apparently all waiting for a train to take
 them to their training camp.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/09/20/gajim_configuration_woes/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/09/20/gajim_configuration_woes/index.html</guid>
<title>gajim configuration woes</title>
<dc:date>2008-09-20T21:19:33+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 Tonight I finally got enough
 <a href="http://www.myrtlewoodgallery.com/get_a_round_tuit.htm">round
  tuits</a> to configure my Jabber client
 <a href="http://www.gajim.org/">Gajim</a> properly. Apart from the base
 configuration, there are a few options not properly exposed through the
 configuration interface.
</p>
<p>
 Firstly, every chat window contains a blue bar on top which contains a
 status logo, the name of the person one's talking to and the avatar of
 that person. It's huge, blue and in the way. To turn it off, one has to
 enter the Mozilla-like configuration editor (<i>Edit</i> &rarr;
 <i>Preferences</i> &rarr; <i>Advanced</i> &rarr; <i>Advanced
  Configuration Editor</i>).
</p>
<p>
 The option to turn off the blue bar is named <i>hide_chat_banner</i>.
 Also, the option to start all windows in compact mode by default has
 no &rdquo;compact&ldquo; at all in its name in case you're considering
 it: it is named <i>always_hide_chat_buttons</i>.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/08/24/you_have_0_optimism_points/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/08/24/you_have_0_optimism_points/index.html</guid>
<title>&quot;You have 0 optimism points&quot;</title>
<dc:date>2008-08-24T02:33:13+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general, chaos</dc:subject>
<description><![CDATA[<p>
 Just for fun, I recently participated in some personality evaluation
 test. And as expected, the most remarkable thing the tool constanted
 was pessimism. Since <i>Thomas &rdquo;maximus&ldquo; Deutsch</i>
 recently
 <a href="http://thomas.tuxpeople.org/post/46404606/licht-ins-dunkle-bringen">wrote 
  about his opinion on his attitude</a>, which also included pessimism, I
 got the idea that there is actually a difference between pessimism and
 pessimism.
</p>
<h2>Destructive Pessimism</h2>
<p>
 Most people know the <b>destructive pessimism</b> very well. Even the
 most cheerful people usually had a phase of depression at least during
 their puberty. In <b>destructive pessimism</b>, people stop believing
 in the sense of their life, their actions and everything surrounding
 them. As a consequence, these people find it useless to act at all.
</p>
<p>
 The cognitive aspect is also very discouraging. Destructive pessimists
 don't perceive positive developments and events at all. Maybe they became
 too ordinary to be perceived, but in any case these people act like they
 never happened. Bad events however are perceived as an affirmation and
 frustration.
</p>
<h2>Constructive Pessimism</h2>
<p>
 <b>Constructive pessimism</b> however, the type of pessimism I tend to
 adhere to, does not have the expectation of everything to fail. The
 pessimistic assumptions in <b>constructive pessimism</b> are way more
 moderate:
</p>
<ul>
 <li><b>You cannot expect other people to do work.</b> They most likely
  won't. They will overestimate their capacity and capability or never
  get to the job in the first place.</li>
 <li><b>If something can fail, it will.</b> This is basically a moderate
  version of <i>murphyism</i>. However, this principle leads to concepts
  like <i>redundancy</i>, thus it is an important part of the philosophy
  of engineers.</li>
 <li><b>Too few people make bad decisions.</b> Individuals tend to oversee
  aspects, so consulting an adequate number of people is always a nice
  idea. Too many people however tend to have problems comunicating.</li>
</ul>
<p>
 &hellip; and many more, but you get the idea. So the general rule is to
 have <i>low expectations</i>, as opposed to expecting failure.
</p>
<p>
 Other than the <b>destructive pessimist</b> who drowns in lethargy,
 <b>constructive pessimsts</b> draw their energy from their pessimism.
 The conclusion from the above assumptions is that it is best to do
 the job on one's own, and that one should verify every single component
 for proper operation. This principle is reflected for example in the
 rules of <i>Extreme Programming</i>.
</p>
<p>
 The differences are also very serious in the cognitive dimension. If
 a <b>constructive pessimist</b> perceives failure, it was what he
 expected, so it does not come as a deception. He prepared for the
 failure, in fact. If, however, he succeeds, then he is very positively
 surprised and perceives the success as such. Thus, disappointing a
 <b>constructive pessimist</b> is close to impossible, while the world
 is indeed full of positive surprises for them.
</p>
<p>
 As a conclusion it may be repeated that there are indeed different types
 of pessimism, and that not all of them necessarily lead to apathy. Indeed,
 pessimism can be quite inspiring.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/03/28/insanity_for_beginners_undeleting_open_files/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/03/28/insanity_for_beginners_undeleting_open_files/index.html</guid>
<title>Insanity for beginners: undeleting open files</title>
<dc:date>2008-03-28T22:14:54+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> programming, general</dc:subject>
<description><![CDATA[<p>
 If you have accidentally deleted a file which is still open, there is
 an easy way to undelete it. For this stunt, please make sure that the
 <i>/proc</i> file system is mounted.
</p>
<p>
 First, we create a file to test with:
</p>
<p><code>
 $ echo test &gt; testfile<br/>
 $ sha1 testfile<br/>
 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83<br/>
 $
</code></p>
<p>
 Then we create a process to hold the file open:
</p>
<p><code>
 $ tail -f testfile &amp;<br/>
 $ test
</code></p>
<p>
 Then we delete our test file:
</p>
<p><code>
 $ rm -f testfile<br/>
 $
</code></p>
<p>
 Now we determine the PID of the process which holds our file open:
</p>
<p><code>
 $ ps waux | grep [t]ail<br/>
 tonnerre 5962  0.0  0.0    44    616 ttyp8 S+   10:45PM  0:00.01 tail -f testfile<br/>
 $
</code></p>
<p>
 The remaining question is: which file descriptor is the one we're looking
 for?
</p>
<p><code>
 $ ls -l /proc/5962/fd<br/>
 ls: 8: Bad file descriptor<br/>
 total 2<br/>
 crw--w----  1 tonnerre  tty    3, 8 Mar 29 22:45 0<br/>
 crw--w----  1 tonnerre  tty    3, 8 Mar 29 22:45 1<br/>
 crw--w----  1 tonnerre  tty    3, 8 Mar 29 22:45 2<br/>
 -rw-r--r--  1 tonnerre  staff     5 Mar 29 22:45 3<br/>
 lr-xr-xr-x  1 tonnerre  staff     0 Mar 29 22:45 4 -&gt; [kqueue]<br/>
 prw-------  1 root      wheel     0 Mar 29 22:45 5<br/>
 prw-------  1 root      wheel     0 Mar 29 22:45 7<br/>
 $
</code></p>
<p>
 The only normal file here was 3, so let's get hold of it!
</p>
<p><code>
 $ ln /proc/5962/fd/3 test<br/>
 $ sha1 test<br/>
 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83<br/>
 $
</code></p>
<p>
 Congratulations! We got our file back.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/03/20/15_years_netbsd/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/03/20/15_years_netbsd/index.html</guid>
<title>15 years NetBSD</title>
<dc:date>2008-03-20T21:14:03+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> programming, general</dc:subject>
<description><![CDATA[<p>
 15 years ago, the network community had decided to polish up the old 4.2BSD
 source code and to create a new, free operating system from it. Due to
 the fact that the creation of this new operating system was only possible
 due to the Internet, the new system was called <i>NetBSD</i>.
</p>
<p>
 Congratulations and best wishes for the next 150 years!
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/03/20/microsoft_disses_its_new_productivity_suite_calls_outlook_volatile/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/03/20/microsoft_disses_its_new_productivity_suite_calls_outlook_volatile/index.html</guid>
<title>Microsoft disses its new productivity suite, calls Outlook volatile</title>
<dc:date>2008-03-20T16:52:02+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> general</dc:subject>
<description><![CDATA[<p>
 In its latest advertisement, <i>Microsoft</i> shows little confidence in
 its latest productivity suite <i>&laquo;Microsoft Dynamics&raquo;</i>.
 For Outlook, the judgement is even worse: it is paraphrased as volatile.
</p>
<p>
 <i>Do you need to rescue your segment of fresh products from expiration
  by selling? Now, this task is as simple as writing a mail in Outlook.</i>
</p>
<p>
 Certainly, no product can influence the volatility of the market. It is
 not a question of the product in use whether or not you can manage to
 sell your fresh products before they expire. Normally, in the end of
 the day, a small amount of fresh products is still left, because in order
 to serve all customers, there must be slightly more offer than demand in
 this sector.
</p>
<p>
 So evidently, the point Microsoft is trying to make is that Outlook's
 behavior when sending mail is rather volatile and that it never really
 works out fully except in really rare cases.
</p>
<p>
 On the other hand, Outlook is known to send weird documents instead of
 E-Mails, such as, for example, HTML format or even RTF and MS-TNEF. Also,
 Outlook tends to bug out when encountering various attachment formats,
 such as, for example PGP signatures. This means that it is not really
 usable as a mail program, and best replaced with a different mail
 product, such as, for example, <a href="http://www.claws-mail.org/">Claws
  Mail</a>.
</p>
<p>
 Since the advertisement explicitly declares the usability of the two
 applications as equivalent, this means that <i>Microsoft</i> has given
 itself a pretty bad evaluation of its new productivity suite &ndash;
 the notion of being barely usable.
</p>]]></description>

</item>
<item>
<link>http://blog.ngas.ch/archives/2008/02/17/the_openldap_way_of_concurrency/index.html</link>
<guid isPermaLink="true">http://blog.ngas.ch/archives/2008/02/17/the_openldap_way_of_concurrency/index.html</guid>
<title>The OpenLDAP way of concurrency</title>
<dc:date>2008-02-17T02:45:19+01:00</dc:date>
<dc:creator>Tonnerre Lombard</dc:creator>
<dc:subject> programming, general</dc:subject>
<description><![CDATA[<p>
 OpenLDAP is a multithreaded implementation of an LDAP server, licensed
 under a special derivate of a 2-clause BSD license called &laquo;OpenLDAP
 license&raquo;. It uses LDBM or BerkeleyDB as a storage backend or can
 alternatively be configured to read its information from an SQL database
 or other formats (which effectively disables writing to the database).
 Like for BSDprojects.net, BerkeleyDB is frequently used for user management
 (authorization, authentification, mail addresses, etc.). 
</p>
<p>
 Up to this point, all attempts to upgrade to OpenLDAP's BerkeleyDB backend
 have failed. There was always the same error: when the database has been
 filled with some data, any LDAP search request would crash the LDAP server.
 The stack trace usually ended in some call instruction or some other
 instruction immediately following a call.
</p>
<p>
 In an answer to
 <a href="http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=37997">NetBSD
  PR 37997</a>, I was reminded by Christos Zoulas that the problem might
 actually be no crash at all but an issue with the rlimit facility of
 NetBSD, so I experimented a bit with the stack limit.
</p>
<p>
 By default, NetBSD imposes a limit of 2 MB on the program stack. However,
 not even 4 or 8 MB seemed enough. A stack limit of 32 MB however solved
 the problem entirely.
</p>
<p>
 It seems that OpenLDAP attempts to avoid locking problems between threads
 by putting all information on the function local stack. This only works
 well with a low amount of data or with low parallelism. However, in the
 case of an LDAP server, shared data structures would indeed be desirable.
</p>
<p>
 LDBM itself does not use so much stack space, so it did not trigger the
 stack space limit. However, with parallel requests being handled by
 multiple LDAP threads, iit would undoubtedly only be a matter of time.
</p>
<p>
 Let's see how well the 32 MB stack limit works...
</p>]]></description>

</item>
</channel>
</rss>

