<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for niemeyer</title>
    <link>http://www.advogato.org/person/niemeyer/</link>
    <description>Advogato blog for niemeyer</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 17 May 2008 17:25:56 GMT</pubDate>
    <item>
      <pubDate>Wed, 6 Feb 2002 22:26:59 GMT</pubDate>
      <title>6 Feb 2002</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=5</guid>
      <description>Wow!! It has been a long time since my last diary entry. 

&lt;p&gt; I've left Linuxconf development team coordination in favor 
of the Conectiva Linux port to the S390 platform 
coordination (ok, I'm mostly coordinating myself now :-). 
Most of the work is done. I have developed an acceptable 
installer (in Python!) and most of the packages are 
ported. We had some problems with IBM OCO modules (ick!), 
but we are already workarounding them (we gave up on some 
of our kernel patches, and I patched insmod to recognize 
OCO modules). Anyway, more information about this later 
(if I don't disappear for another year.. ;-)...

&lt;p&gt; In the process of porting Conectiva Linux to S390 and PPC 
(Harald Welve started the PPC port, and I'm keeping it up 
to date and working on missing stuff) we are learning some 
lessons. We are trying to use those lessons to build a 
defacto package building system using the Python language. 
Unfortunately, we don't have enough people here to develop 
it quickly, so we are trying a more realistic and 
evolutive approach this time. The first part of it is 
almost done. While devloping it, I've studied a little bit 
about process groups and extended python with a missing 
killpg() system call. I've also discovered that when 
python spawns a new thread, it blocks all signals. With 
this information in mind, I have also extended it with a 
new execv() syscall, that besides doing the usual work, 
unblocks every signal before the real call to execv(). I 
hope this project becomes real someday.

&lt;p&gt; I've also been playing with Python optimization lately. 
There's a big opportunity for somebody wanting to study 
and implement some concepts there. I've read some 
documentation about Stack Machine Optimization and made 
some tries (basically, optimizations around the inner loop 
and the Big Switch, stack caching, and other flavors of 
this joy). Today I found a paper from Skip Montanaro 
documenting some of the tries I've made (reading it first 
would save me a lot of time, but this knowledge will be 
useful anyway). You should have a look at &lt;a href="http://manatee.mojam.com/~skip/python/spam7/optimizer.html" &gt;his 
paper&lt;/a&gt; if you have any interest in the topic. Oh, don't 
forget to
get yourself a copy of Lemburg's &lt;a href=" 
http://www.lemburg.com/files/python/" &gt;pybench&lt;/a&gt; to have 
a general idea of what you're doing (don't trust too much 
on it, it's just a benchmark). I've written Skip a mail to 
discuss a little bit about what could be integrated into 
the interpreter. Let's see where we get.

&lt;p&gt; Oh... I must not forget to update the people I've 
certified in the past to reflect what they've been doing.
</description>
    </item>
    <item>
      <pubDate>Sat, 27 Jan 2001 16:39:59 GMT</pubDate>
      <title>27 Jan 2001</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=4</guid>
      <description>I've just tested the patch floppy_cs on kernel 2.2.17 and it
works just
fine!!! I had no problems applying it. Now my Libretto 50CT
has a
floppy drive. Maybe Conectiva Linux can ship with this
patch. The
only drawback is that floppy support must be modular.

&lt;p&gt; &lt;p&gt; &lt;p&gt; In the few last days, I've implemented support for
Inputgrid
into
gnome-linuxconf. It allows one to define sensitive areas
into a
drawing area. Gurus are already working with it.

&lt;p&gt; &lt;p&gt; &lt;p&gt; I've also created two new commands for Linuxconf's
gui
protocol:
Splash and Hidesplash. Linuxconf will send them while it is
starting,
and the graphic frontend is suposed to show a nice splash
screen.
Support in gnome-linuxconf has also been implemented with
an image designed by Everaldo (thanks!!!).

&lt;p&gt; &lt;p&gt; &lt;p&gt; Btw, yesterday I've fixed a bug in Python's bsddb
module. It
was 
handling DB_RECNO databases with string keys. As the
documentation says, these databases must use, in key's
"data" field, a pointer to a memory location holding a
recno_t
type.

&lt;p&gt; &lt;p&gt; &lt;p&gt; My parents have arrived yesterday!! They'll stay
here
until
monday
and then will go to Minas Gerais, visiting Raul and Lulude.
</description>
    </item>
    <item>
      <pubDate>Mon, 22 Jan 2001 00:51:45 GMT</pubDate>
      <title>22 Jan 2001</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=3</guid>
      <description>Yesterday I've implemented a message signing module for
Mailman. Darian (aka dmalloc), from openprojects.net has
asked
if I could do such module to use on lists.openprojects.net.
(I said yes... ;-). I'm going to ask the people here
at Conectiva
if they want to use this module in some of our lists.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; Pybot has a few new features: CTCP
handling/sending,
timer
module,
unhandled messages hook, and something else I probably
forgot.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; About Linuxconf, I have spent the last days
fixing a
few
simple
bugs introduced in 1.24r2 and in the last modules developed
by
Conectiva. I hope to release a Linuxconf update to Conectiva
6.0
tomorrow.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; gnome-linuxconf has won a home with screenshots
and
everything else at &lt;A
HREF="http://distro.conectiva.com/projetos/45"&gt;http://distro.conectiva.com/projetos/45&lt;/a&gt;.
I've also published it at &lt;A
HREF="http://freshmeat.net/projects/gnome-linuxconf/"&gt;freshmeat&lt;/a&gt;
and put files to download at &lt;A
HREF="http://sourceforge.net/projects/gnome-linuxconf"&gt;SourceForge&lt;/a&gt;.

&lt;p&gt; Oh, good news I forgot to tell: for those of you that are
using
wxxt-linuxconf, Jack (Jacques Gelinas) has implemented the
Treemenu icons into this frontend as well.</description>
    </item>
    <item>
      <pubDate>Tue, 16 Jan 2001 21:45:09 GMT</pubDate>
      <title>16 Jan 2001</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=2</guid>
      <description>&lt;P&gt;Today I've fixed a bug in the Pythonmod module of
Linuxconf. Linuxconf has a default handler for the SIGCHLD
signal that
controls all of its child termination. This method has a few
disadvantages.
Before calling any external processes without using default
Linuxconf
methods, you must block this handler, otherwise Linuxconf
will
get on your way. Because of this, If a Pythonmod module
tried to
fork external processes, they were failing. Now Pythonmod is
setting the SIGCHLD signal to SIG_DFL (POSIX doesn't  allow
us
to SIG_IGN it) before calling python code, and after
returning 
from a few Linuxconf API functions that set the handler
back. When the python code returns, popen_initsignal() is
called, putting the Linuxconf handler back in place.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;P&gt;On the gnome-linuxconf side, I've implemented
the
drawing context command Defpen. Now we have colored lines
and primitives!! (ok... not that good... ;-)

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;P&gt;I've also spent a few hours in the last two
days
backing
up and
restoring data in my colocated machine. Now my personal
emails
are back online and the server has an updated kernel. I hope
it
doesn't bother me for a long time.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;P&gt;Unfortunately, the server stuff didn't let me
work on
Pybot, but I had time to implement dynamically loading,
unloading and reloading of modules, before I started on the
server.  This will help
a lot in the development, since I don't have to reboot the
bot
everytime something is wrong. Anyway,  now that the server
is
ok (I hope so), I'm planning to spend some of my spare time
on
the bot (yes, I still have some... ;-).
</description>
    </item>
    <item>
      <pubDate>Thu, 11 Jan 2001 12:42:43 GMT</pubDate>
      <title>11 Jan 2001</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=1</guid>
      <description>Today I've added the ability of using icons while in the
Treemenu mode of Linuxconf. I have just changed some
functions to pass the icon name around until it got into the
treemenu module and then sent it to the GUI front-end. A
little hack on gnome-linuxconf did the work at the front-end
side. Following this line of improvements, I'm planning to
add a splash screen or something like that soon. Icons would
also be welcome in the
web interface.

&lt;p&gt; &lt;p&gt; Besides that, I'm also playing with a Python IRC bot.
It's
not meant to be a war or a channel control bot. I'm planning
to implement useful modules to help making IRC even more
useful as an information media (no it won't be just another
infobot clone). The core and a few modules are ready. I'll
post more information later... for now, I'll just tell that
it is a multi-channel, multi-server bot, and that I'm trying
to make its commands with natural language (eg. forward
messages from #blah on servername to #bloh on servername).

&lt;p&gt; Happy birthday Diogo!!</description>
    </item>
    <item>
      <pubDate>Wed, 16 Aug 2000 18:32:19 GMT</pubDate>
      <title>16 Aug 2000</title>
      <link>http://www.advogato.org/person/niemeyer/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/niemeyer/diary.html?start=0</guid>
      <description>Created advogato account.</description>
    </item>
  </channel>
</rss>
