<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for volsung</title>
    <link>http://www.advogato.org/person/volsung/</link>
    <description>Advogato blog for volsung</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Fri, 25 Jul 2008 17:37:41 GMT</pubDate>
    <item>
      <pubDate>Sat, 29 Jul 2000 00:57:38 GMT</pubDate>
      <title>29 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=13</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=13</guid>
      <description>Damn.  First major code submission and my first major screw 
up.  The libao mega-patch I submitted to vorbis got 
integrated and broke the build for NetBSD users.  Some guy 
started mouthing off on another list about how vorbis sucks 
because the tools (ogg123 and vorbize) don't work for 
NetBSD.  Actually, they do (since NetBSD supports OSS) I 
just forgot to include that in the configure script.  Grr.. 
&lt;P&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; I feel bad that Monty has to put up with crap like 
that 
when it was my fault in the first place.  It also irritates 
me when people start mouthing off about how crappy a 
program is when the effort required to fix the problem is 
trivial.  Email me about the problem and I'll fix it!  
Don't go complaining like a helpless fool.  That's what you 
do when you run software that is written by people who 
don't care (or aren't paid to care) about users (cough, 
cough, insert your most hated program here).
&lt;P&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; I guess this is part of the learning experience.  I 
can 
hardly wait until I get my very own flames.  :)

&lt;p&gt; &lt;p&gt; &lt;P&gt;
&lt;B&gt;Update:&lt;/b&gt; Argh.  I hate script kiddies.  Some prick 
buffer 
overflowed our ftp server and installed a root-kit.  
Fortunately, the root-kit install deletes samba (why?) 
which is rather essential to the operation our server.  So 
I noticed right away when I got back from lunch that 
something was wrong.  Next, rpm -Va saved my butt and 
showed me what had been screwed with.  Actually finding the 
root-kit took a while until I noticed that all of the files 
this kid created were owned by the ftp group.  "find -group 
ftp" quickly turned up a "/lib/&amp;nbsp;&amp;nbsp;&amp;nbsp;" (yes, 
that's three 
spaces) directory.  Bingo!  The installation script and all 
of his goodies were left there.  Additionally, the kid left 
his buffer overflow login in the log, so I had his IP on a 
DSL modem.  A quick letter off to the abuse address of his 
ISP will hopefully take care of things.
&lt;P&gt;

&lt;p&gt; &lt;p&gt; My lesson for the day is read the RedHat Security 
Advisories.  They had the wu-ftpd exploit up for a month 
already.  (Smack!)</description>
    </item>
    <item>
      <pubDate>Wed, 26 Jul 2000 20:04:11 GMT</pubDate>
      <title>26 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=12</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=12</guid>
      <description>[Dang Netscape sucks.  My brother showed me his webpage
which promptly killed Netscape, and my partial advogato
entry.  Doh!]
&lt;P&gt;

&lt;p&gt; &lt;p&gt; Odd.  I feel a disturbance in the trust network.  :)  
This
morning I discovered that I had been certified by more
people (thanks, whoever you people are), but that my overall
trust level dropped back to Observer.  I don't get it.
&lt;P&gt;

&lt;p&gt; &lt;EM&gt;Update: Weird.  I'm back at apprentice again.  I don't 
get what happened.&lt;/em&gt;
&lt;P&gt;

&lt;p&gt; &lt;p&gt; In other news, we had a bomb threat in the building 
where I
work.  It's got a whole bunch of laboratories and offices. 
The police "inspected" the building and decided to let
people back in.  My boss and I wondered how the police are
supposed to tell the difference between a bomb and a vacuum
pump, or a lithium oven.  Heck, any complex electronic
device could be a bomb.  I don't get it.  Oh well, I've
decided that people who make bomb threats are jerks.
&lt;P&gt;

&lt;p&gt; &lt;p&gt; I've decided that I don't like programming with a 
mouse. 
LabVIEW is a neat concept (graphical programming), but it is
fairly cumbersome to do anything other than data-flow style
programs.  Loops are kludged in for completeness.  I want
source that is a text file, not a picture.  I can't grep a
picture.

</description>
    </item>
    <item>
      <pubDate>Tue, 25 Jul 2000 14:25:22 GMT</pubDate>
      <title>25 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=11</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=11</guid>
      <description>&lt;B&gt;ian:&lt;/b&gt; Conclusion -&amp;gt; People hate computing.  :)
&lt;P&gt;

&lt;p&gt; &lt;B&gt;nymia:&lt;/b&gt; IIRC, threads are processes in Linux.  The
kernel treats them almost the same.  The threads just share
more parts of the process structure.  I wish I could find a
reference for this.
&lt;P&gt;

&lt;p&gt; In other news, I'm still waiting for Kenneth to integrate
libao into the vorbis CVS.  Maybe I have to pester him a
little. 
&lt;P&gt;

&lt;p&gt; While I wait for word on that, I've been spending my time
hacking on some old code of mine.  I wrote some code to
interface to those netshooter remote controls that plug into
the serial port.  I stopped after the basic decoding was
working.  Now I need to figure out how to parse a config
file describing the actions that should be performed when I
press a particular button on the remote.
</description>
    </item>
    <item>
      <pubDate>Mon, 17 Jul 2000 18:35:57 GMT</pubDate>
      <title>17 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=10</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=10</guid>
      <description>&lt;B&gt;mrorganic&lt;/b&gt;: My theory is that Linux has 
become "trendy" enough to attract a different type of 
user/programmer than in the past, one which tends to be 
less productive and more vocal.  Reading Freshmeat (as 
someone pointed out here) is a good way to see gauge the 
culture.  You find lots of inexperienced (myself included) 
programmers with minimal abilities, often driven more by 
ego than technical issues.  The joke about the project that 
has no design and no code (but certainly a project lead)
which is looking for programmers demonstrates the "leader 
looking for a following" mentality.
&lt;P&gt;

&lt;p&gt; Fortunately for the BSDs, Linux has become the lightning 
rod absorbing all of these people due to its exposure and 
growing ease of installation.  The result is the BSD talent 
pool has not been diluted to the same extent the Linux 
talent pool.  I still believe that there is as much good 
Linux code as BSD code, but good luck finding it through 
the daily announcements of KickASS-AIM-0.0.0.3: yet another 
messenger clone that just started from the [LM]AIM code 
base and added different colors.  (Okay, I made that up, 
but you get the idea.)
&lt;P&gt;

&lt;p&gt; Be wary, however.  If BSD becomes the trendy OS of the 
week, you'll get to watch the last 3 years of Linux history 
happen all over again.  I wish it weren't so, but someone's 
development community is going to overrun once the lemmings 
(and the media) get tired of Linux.  The next OS to get hit 
will either be BeOS or BSD, it's too soon to tell which.</description>
    </item>
    <item>
      <pubDate>Sat, 15 Jul 2000 17:37:31 GMT</pubDate>
      <title>15 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=9</guid>
      <description>Sent off my libao patch to Kenneth.  Now we just have to see
if he'll incorporate it into ogg123.
&lt;P&gt;

&lt;p&gt; Not much else going on today.  I'll probably do some history
reading.  The Vietnam War is really quite interesting.  If
computers and physics weren't so much fun, I think studying
foreign policy would be neat.  Well, maybe if it had math.
&lt;P&gt;

&lt;p&gt; Yes, mathematical foreign policy would be cool.  :)</description>
    </item>
    <item>
      <pubDate>Fri, 14 Jul 2000 01:34:13 GMT</pubDate>
      <title>14 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=8</guid>
      <description>Dang, Win32 is *ugly*.  I dug up the MSDN Library CD here 
at work and started reading the section explaining sound 
output.  Boy, I don't like it.  The waveOutWrite() call is 
always non-blocking *and* I can't free the buffer until the 
write is done.  That means I can't return from the ao_play
() call in my library unless the block is done playing or 
I've copied it to a new buffer.
&lt;P&gt;

&lt;p&gt; In either case, I'm going to have to figure out some goofy 
way to sleep until the block is done playing.  A poll loop 
is icky because I would have to hot spin and blow CPU 
time.  I can do a callback, but I don't have a clue right 
now how I should go about sleeping until the callback wakes 
me up.  I want to use something like signals I think.  I 
sure as heck am not going to dive into Win32 threads and 
lose my mind.  Bleah.
&lt;P&gt;

&lt;p&gt; Wow, Slashdot sure is whacked out these days.  I went back 
to try and read the comments, and I can't deal with it 
anymore.  The demographic has changed so that I'm not that 
interested in the discussions that go on.  Too bad.  I kind 
of liked that place.
&lt;P&gt;

&lt;p&gt; Good thing I found Advogato, or I might have actually 
become productive.  :)</description>
    </item>
    <item>
      <pubDate>Thu, 13 Jul 2000 00:23:42 GMT</pubDate>
      <title>13 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=7</guid>
      <description>Took someone's (darn, already scrolled off the end of the 
recent diary entries) advice and changed the libao API for 
the third time.  The change was trivial, and the result is 
much cleaner.  Thanks.
&lt;P&gt;

&lt;p&gt; &lt;p&gt; Finally figured out the ALSA problem.  By default the 
driver operates in non-blocking mode.  The program would 
decode the next block before the first one had finished 
playing and would overwrite the currently playing block 
with the next block.  Hence the neat (though frustrating 
effect) of listening to Brickhouse at 33% faster speed.  I 
fixed that and wrote some buffering code to pack the data 
coming in (which can be in chunks of whatever size) into 
32k blocks and send the completed blocks to the ALSA 
driver.  Sounds good.
&lt;P&gt;

&lt;p&gt; &lt;p&gt; I've decided to wait on submitting this code until 
Kenneth 
gets back.  Monty mentioned a little while ago that he 
would no longer mess with that branch (after accidentally 
stepping on Kenneth during a commit frenzy).  In the 
meantime, I'm going to see if I can scrounge up an IRIX 
account on some friend's box to test (at least the 
compilation of) libao on IRIX.  Same goes for Solaris, 
though I don't know if our school's Solaris boxes have the 
sound header files.  If neither of these seem feasible, 
I'll go figure out how to do Win32 code instead.  :)
&lt;P&gt;

&lt;p&gt; &lt;p&gt; Also hacked on a patch I found to let ht://Dig work 
with 
SSL.  The patch was for 3.1.4, but would not cleanly apply 
to 3.1.5.  I've never hacked a diff directly, though I must 
say it is not as hard as it looks.  
&lt;P&gt;

&lt;p&gt; &lt;p&gt; &lt;B&gt;ralsina&lt;/b&gt;: Ack.  Slashdot has cured me of my 
desire to 
participate (or watch) the license flamewars.  I must say 
that the GPL == non-free debate is one of the stranger ones 
I've heard of.  I guess my take is that every license 
except the public domain is "non-free" to a certain extent, 
just like anarchy is the only truly "free" form of 
government.  Of course, being "free" isn't one's only 
motivation in such things, so the issue is how much freedom 
should be traded in for other things we want.  That's the 
real debate in my mind, and the rest is just playing games 
with semantics.
&lt;P&gt;

&lt;p&gt; &lt;B&gt;jmg&lt;/b&gt;: Careful with the CD-RW.  I've had problems 
reading them in most CD drives (unless they are also CD 
Burners).  I imagine newer drives have no problems, but you 
may be stuck in front of an older box.</description>
    </item>
    <item>
      <pubDate>Wed, 12 Jul 2000 02:49:35 GMT</pubDate>
      <title>12 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=6</guid>
      <description>Got ALSA working on the spare computer.  It looks really 
quite powerful.  Perhaps one day we'll start seeing audio 
workstations running on this architecture.  (Come on 
Cakewalk, you know you want to do a Linux port.  You know 
you do!)
&lt;P&gt;

&lt;p&gt; &lt;p&gt; Finished my API rewrite for libao and tried to write 
the 
ALSA driver.  Whoa boy, too much control.  I have no idea 
which values are critical to set.  I can finally get about 
5 seconds of playback before the program goes silent.  It 
keeps running, but I can't hear anything.  Hmm..
&lt;P&gt;

&lt;p&gt; &lt;p&gt; Back in real life, I decided not to go to my 
Theoretical 
Computer Science class.  I think my time was better spent 
reading the chapter for 20 min than sitting in class for 90 
min.  Why are these classes so boring?  

&lt;p&gt; &lt;B&gt;Update:&lt;/b&gt;Argh!  ALSA is making me very mad.  I can't 
figure out how to get this thing to do anything but 
play "Brickhouse" (my test OGG file) at high speed.  It 
seems to be chucking 25% of my buffer everytime I write.  
Ack.  Tired.</description>
    </item>
    <item>
      <pubDate>Mon, 10 Jul 2000 23:52:30 GMT</pubDate>
      <title>10 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=5</guid>
      <description>I was thinking in the shower this morning and realized that 
my public interfaces to libao are fairly annoying.  Why 
make the application keep track of the driver function 
table *and* the device state.  If real life is any 
indication, groups of items tend to get separated and 
lost.  I should 
just make generic wrapper functions that take device id's 
(think 
file id's) returned by the ao_open function, lookup the 
associated function table, and call the right function.
&lt;P&gt;

&lt;p&gt; &lt;BLOCKQUOTE&gt;
&lt;EM&gt;Does this sound familiar?  I should have looked at the 
standard UNIX open() and write() functions. Doh! Reminder 
to self: Never forget precedent.  If UNIX programmers like 
it, it can't be that bad.  :)  (I'm sure someone in the 
audience will have issues with that one.)
&lt;/em&gt;
&lt;/blockquote&gt;
&lt;P&gt;

&lt;p&gt; Anyway, I've started installing ALSA onto a spare Linux box 
I have at work.  Once I get the hang of it (and get it to 
work with my AWE32 card), I'll write an ALSA driver for 
libao.  Still waiting for someone (Monty) to tell me how I 
should get this package into the vorbis tree.  Maybe my 
last email was unclear.  (Or maybe Monty is clairvoyant and 
knows that I needed to fix my code.)</description>
    </item>
    <item>
      <pubDate>Sun, 9 Jul 2000 17:08:04 GMT</pubDate>
      <title>9 Jul 2000</title>
      <link>http://www.advogato.org/person/volsung/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/volsung/diary.html?start=4</guid>
      <description>libao is ready to integrate into vorbis now.  I still need
to hear back from Monty about how to get all my changes into
the tree.  Next up I need to add support for ESD and ALSA.
</description>
    </item>
  </channel>
</rss>
