]> Roger's Diary

Diário Online/Online Diary/Weblog/Blog

For older news, see the older years: 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000.

24th Sep

Now I am officially a Debian Maintainer. I'm very happy now. This means that I can upload my own packages to Debian, without pestering Rhonda about them. But I still want her opinions on some packages, given the experience that she has.

And it seems that I'll be part of another project, lossyWAV, given the current discussions on hydrogenaudio forums.

Oh, and only today I realized that Ubuntu's Intrepid Ibex alpha 6 was released. Time to go downloading things to use on my most recent purchase...

On a more musically related note, Symphony X will be coming here to São Paulo, which is a nice thing.

23rd Sep

Was added as a project admin for ppc-evtd and released version 1.7.3 of avr-evtd. Quite nice to see things evolving. :-)

Also updated the freshmeat page of LAME to list version 3.98.2. Nice to be useful to the community.

19th Sep

Checked in the sources of avr-evtd to the Subversion repository of ppc-evtd. Uploaded my new package of avr-evtd to mentors.debian.net, with all the improvements included upstream (now that I am upstream).

14th Sep

I also updated my package of avr_evtd (which is a daemon for controlling the Kuro Box. I moved from the standard diff.gz package to a quilt-based package.

To get things properly packaged, I followed the rules by the book and used /usr/share/quilt/quilt.make to make available the patch and unpatch targets for the makefile.

A very nice discussion on IRC on #debian-mentors clarified that, with the current templates of dh-make, we need to (thanks to Sune Vuorela for his helpful comments):

• make the configure target depend on \$(QUILT_STAMPFN).
• make the clean target depend on unpatch.

The final "product" was uploaded to mentors and is available for sponsoring. And I intend to merge the modifications upstream (actually, refactor a lot of things and possibly become upstream).

13th Sep

Updated my qmail Debian package to support the new source format of source packages, "3.0 (quilt)". It was a breeze to move to this new format and the support is already available in dpkg-source available on unstable. This was a very good learning exercise of the things to come, especially for ill-packaged programs from upstream, like hfsprogs, which I maintain.

I also checked the new things that my package needed to do to be compliant with the new Debian Policy (3.8.0). It is now in a very good shape, I'd say (except for the fact that I still think that I should use debconf for asking questions to the user, so that everything is cleaner).

Also read quite a good amount of nice things on debian-mentors, especially a discussion regarding PHP programs, and a discussion on adopting packages. I think that I may even adopt some dock applications for use with fluxbox.

Continued with my (slow) reading of "Advanced Unix Programming", even though the author likes to bash Linux and FreeBSD a lot and seems to like Darwin and Solaris. Anyway, read a bit on basic I/O manipulation via the file system calls like open, read, write, close. Interesting to see them being used to implement a mutex.

4th Sep

Had a quite happy birthday party here with my relatives. We took some pictures and it was incredible. Got a beautiful red tie, got a USB 2.0 hub (so that I can use it with the Kurobox, since it only has a single port and I don't feel like hacking its hardware).

Anyway, back to the topic of my birthday, it was amazing to see my people together. And the party had a very happy mood. It was amazing. Thanks to you all, people.

28th Jul

Got a little new toy that is able to run Linux very well, since I brought with me two Ubuntu Live CDs (of version 8.04 LTS).

It features a Core 2 Duo T7250 processor. It has support for its 1.3 Megapixel webcam out-of-the-box, since the webcam uses the the USB device Video Class protocol. The only problem is that I don't know how to use mencoder to grab a video from it. And its speakers soun is so quiet. Way too much quiet, even at maximum volume.

The macbook that I saw used things from Broadcom, which is not a company that likes Free Software.

24th Jul

Can't... resist... the... temptation. I only fear that I can't run my preferred flavor of Linux properly on this machine (at least, it isn't a big endian arch anymore).

23rd Jul

Spent some time checking out the repository of the algorithms bundle, since I plan on doing a new release, now in the format of .dtx and .ins files. This will be much more convenient to handle and I already put the licences onto the files, which is LGPL 2.1, for the moment (which can change in the future).

22nd Jul

Today I went to a new psychotherapist. The modus operandi of this person has me wondering a bit if it will work out evenly. I'm skeptical of the Neuro-linguistic programming approach.

Today was also Mom's birthday. We had a private (and mini) party here and we took many pictures more than I have ever taken in any session. Of course, what use would be a digital camera with a 2GB SD card (that the camera claims can fit approximately 4500 pictures into) if we don't register moments like these?

20th Jul

Just discovered that Opeth (or would it be Roadrunner Records?) has released a version of Watershed with extra tracks and with a DVD documentary. They have also released another special version that has Porcelain Heart played with Mellotron (which brings orgasms to all the progressive rock fans, like myself).

Also got my parents to sit in front of my old, trusty Duron-based dumont (in honor of Brazilian pioneer Alberto Santos-Dumont). It is interesting to note that, while the Level 2 cache of the Duron system is small for a low-cost processor (in reference to its rival Celeron processor, that had a bigger Level 2 cache), it has a much bigger (128KiB) Level 1 cache than what I have in a Pentium D machine: only 16KB for each core (at least for data; that's what my dmesg says). Surprising to say the least. And this explains why AMD stood on the front of the race during the Athlon (Thunderbird) days.

Regarding other architectures (I have PowerPC in mind here), I'm not especially happy with them: my PowerPC G3 lacks vector instructions, which means that playing multimedia files (read: movies) is something painful. The problem is that I quite like the iBook's form factor and I have not yet seen anything that matches it yet. Comments are welcome here. Yes, it seems that I am not alone here, given all the frenziness about the surge of netbook computers, like the Eee PC.

And I setup my old sound gear on what is my main (desktop) computer. It is nice to have a good sound whenever I am working (well, whenever I am working lightly, as I need sound to be absent when I'm working hard).

I have, BTW, just found a superb autotools tutorial that starts with the egregious "Hello, World!" application. This is a perfect point for reading more advanced documents on this matter.

19th Jul

Have been working quite a bit on the LAME project to have the best MP3 encoder around. It's been all a learning exercise dealing with all the magic behind autotools.

Fortunately, there are some areas where we can fix with just a working knowledge of C and computer architecture, like fixing the interface to the Open Sound System abx tool that comes with lame (in the misc directory), as well as the endianness problems.

4th Jul

Today, LAME 3.98 final was released. Unfortunately, I missed the boat and didn't commit all the changes that I had, but I will continue working on it nevertheless.

23rd May

Gave a second talk to the group of "Error Correcting Codes". This time, I carried my S1MP3 player/recorder and recorded the talk. The nice thing is that LAME with libsndfile1 can read those files directly, without any kind of conversion first, which automates things quite a lot.

During the seminar, I talked about algorithm invariants, how to discover them, how close to mathematical induction they are, gave examples of some programs, described the bubble sort algorithm in our native/high level language, talked about its stability, talked about its invariant, talked about its time and space complexity, remarked that the algorithm works on any totally ordered set and, finally, to answer a question from the audience, talked about the limited precision of "integers" that we use on computers and multiprecision libraries used to hold values as large as we please.

Today was also dad's birthday! Hippie!

20th May

Got myself a leaner operating system without a heavy graphics interface: just fluxbox. This means that I am able now to see how slow Iceweasel is, especially when switching virtual desktops. :-(

I also was happy to see that hfsprogs version 334.14-3 migrated to testing (and I wasn't expecting that---I completely forgot about this since I'm using unstable exclusively).

Prepared a new version of hfsprogs with more support for 32-bit architectures supported by Debian and with initial support for amd64. Rhonda has been helping me a lot understanding the infra-structure behind Debian.

Oh, discovered what it takes to make an Apple "Universal" binary: just compile program.c with the options -arch i386 -arch ppc -arch ppc64 like:

      gcc -arch i386 -arch ppc -arch ppc64 program.c -o program


19th May

Today was seminar day. I gave my talk about a brief introduction to Algorithm Analysis and I covered topics: a simplified computer architecture (with special attention to the role of the memory and of the CPU), a simple program for computing squares of integers and the concept of iteration, the accounting of steps of the program (which results in a linear polynomial in the number of squares printed), the fact that we can ignore constants when doing analysis of algorithms and asymptotic notation (O, \Omega, \Theta, o, \omega, \sim). Statement of the Prime Number Theorem in terms of asymptotic notation. Comments regarding difficulties of factoring integers, despite tests for primality being "easy".

It seems that I didn't scare people when talking such things, and that they felt like they understood what I said, which is good, since there are often conflicts between the language that Computer Science people (mainly the "practical people") use and the language that Mathematicians use. Since I am mostly in the middle, I think that I can talk with both without problems (but this means that I am not an specialist in anything, alas).

17th May

Seeing one of the Dream Theater's Official Bootlegs (and some of their regular releases), I can't fail to notice that they have the 2.0 Stereo part as LPCM audio. Sometimes, these streams are in 24 bits. I would like to convert them to WAV files so that I can use LAME to get the recordings on my portable digital music player.

To this effect, I spent some moments coding a program that I called lpcm2wav that takes a raw input of an LPCM audio from a DVD video disc and outputs a WAV file suiltable for compression (in 48kHz, normally).

16th May

Had a most pleasant night with one of my dearest friends. Every single second was worth it and it is too bad that I couldn't go to the meeting earlier. Getting to the destination was much easier than I thought and, luckily, the traffic didn't interfere (which, BTW, is getting out of hand).

Anyway, I wished that those moments were repeatable ad eternum. Yes, it was that good.

14th May

Didn't sleep too much today (2nd day in a row!), since I was watching one of the Dream Theater's official bootlegs, "When Dream and Day Reunite". (It was cold! in the morning).

But this was after I spent a very good amount of time Debian-packaging the upstream source code of LAME (to which I have CVS commit access). It now passes almost every lintian check, besides the fact that the config.sub and config.guess scripts have time-stamps in the year of 2003. But I am not changing that (yet).

Now I am using my own dog-food, instead of relying on Christian Marillat's precompiled versions of lame. And I even provided some compatibility/transitional packages, so that packages like his ffmpeg with newer and nicest improvements of LAME (like fractional variable bitrate qualities).

This means, in particular, that I can use better MP3 sounding tracks for videos.

And the good news is that, according to Hydrogenaudio, there is finally a release of the lossy (but almost non-lossy!) compressor for audio streams, called lossyWAV. It surely seems quite promising.

Oh, and I finally discovered that the last show to which I went was a looong time ago: Monsters of Rock Festival, September 24 1998. I was there to see Dream Theater, Megadeth, and Slayer, but some of the people that were with me didn't like Slayer, unfortunately and they wanted to exit the venue after I negotiated that I was there to listen to, at least, "Raining Blood". Oh, Manowar was a joke. Hilarious. I don't know if they take themselves seriously or not, but they were ridiculous. This was the first time where I thought of writing a program with a stochastic grammar to generate lyrics for such stereotyped metal.

13th May

Didn't sleep too much today (actually I spent the whole night awake trying to understand the simple program presented on Wikipedia for the generation of the Farey Series (as Hardy & Wright call them). Finally, looking at my copy of "Concrete Mathematics", I discovered a "bonus problem" (read: a very hard problem) that has a deceivingly simple solution that I was looking for the past few days to justify the program correctness.

Latter, I went with my dad to "Galeria do Rock" to grab myself a copy of Pain of Salvation's "Be" (DVD+CD), Tristania's "Widow's Weeds" and "Beyond the Veil", and Opeth's "Deliverance".

12th May

Went to the university prepared to give a talk in the Error Correcting Codes seminar, but it was apparently cancelled due to the fact that there wasn't a speaker for this week!

Today is the International Nursing Day.

Took the opportunity and went to the psychotherapist.

11th May

Spent some time working on what to talk on the seminar in Error Correcting Codes. Since the audience isn't that experienced with programming, I will have a lot of background to cover like what a simplified computer architecture is, what are the usual program constructs in a high-level language, how the complexity of an algorithm is evaluated, asymptotic notation, examples of some algorithms relevant to this audience, like the greatest common divisor by Euclid's Algorithm and Lamé's theorem. Of course, it is particularly important to cover the methods of multiplication of matrices like Strassen's Algorithm.

9th May

I'm actually excited to see Dream Theater's releases "Live in Tokyo" and "5 Years in a Livetime" on DVD. I guess that my collection of their DVDs is now almost complete. So excited to see "5 Years in a Livetime" that I had actually a personal problem here at home.

8th May

Had some programming session on working with hfsprogs's packaging for Debian. I finally saw how to build a multi-arch building and introduced some cruft to compile it under amd64 (aka, x86-64), since Apple's code is not 64-bit clean. Ugh!

And that's because they have the guts to show us their source code. Imagine what a disaster it is to see proprietary software that is completely closed!

1st May

Got myself a WSXGA+ 22 inches LCD monitor.

30th Apr

Upgraded my parent's computer from Ubuntu's Feisty (7.10) to Hardy (8.04). Now, some of the things that I'm used to when using Debian's sid are available on their computer.

Oh, I can't avoid to use this opportunity to complain once more about my ISP. If I weren't doing the upgrade really early in the morning, I wouldn't have success, as I am (right now), without signal from them. These outages are getting on my nerves.

In some math related news, I finally saw a proof of the intuitive fact the determinant of a 2x2 matrix is the signed area of the parallelogram with vectors given by the column vectors of the matrix.

Also, my D-Link G122 (I think that that's the model) doesn't work with the rt2500usb driver that ships with the distribution: I can see that iwconfig lists wlan0 as having wireless extensions, I can set the device, it can see the access point, I can enter the WEP key, but it doesn't seem to get a DHCP lease from the router. :-(

29th Apr

Spent some time polishing my Debian package for qmail, with the patches managed by quilt. Now, everything is more maintainable, despite the fact that separating one monolithic patch into smaller patches was a pain.

I finally got some time to experience Ubuntu's latest distribution on my iBook. Unfortunately, there seems to be serious problems with the live CD as X isn't working correctly. :-(. I still don't know what could be the cause, since the framebuffer was set at 1024x768, but X insisted on the resolution being 800x600.

28th Apr

Actually got LAME compiling. I sent earlier a patch to Robert to fix the compilation with libsndfile. This new version of LAME is getting quite good. I think that soon we will have the 3.98 release out there and maybe it is time for me to get the debian directory in shape.

25th Apr

Went to my University to go to the library and there was a seminar there. I stayed after being kindly asked by the professor that coordinates the seminar. :-)

After that, I decided that it would be nice to go to the library to visit once more the section of Number Theory. I was aware that Diophantine equations were important. But I just didn't know that elliptic curves are Diophantine equations. And the subject is dense.

By the way, talking about Number Theory, I'm starting to feel the need of studying some Mathematical Analysis: the whole area of Analytic Number Theory is alien to me and it shouldn't be (for a person that aims at knowing the basics of Number Theory). Actually, I can't even recall some basic facts from my calculus courses. I think that it is high time for a refresher.

13th Apr

Just discovered what it takes to have mplayer play youtube downloaded videos with audio/video synchronized: the key is to pass the option -mc 0 on the command line and everything is fine.

I did do something relatively "evil" today: I got my mom with an account on Orkut, so that she can find some old friends of her.

12th Apr

During he past few days, I have been writing (in LaTeX, of course!) some (very) elementary notes on Elementary Number Theory, after starting to read the classic book "Introduction to Number Theory", by Hardy & Wright. The reasons for me taking such notes are threefold:

• To know how much I retained of the content of my studies and to serve as a reference for future for facts that I will surely forget.
• To provide a text that has a language different from the book, which, while quite good, uses old-fashioned terms (e.g., they use consistently the word "aggregate" for the word "set").
• To provide both some algorithmic aspects of Elementary Number Theory that are usually not covered in similar texts (while there is quite a lot of room for the computational side of things) and to provide multiple proofs (where I know them) of theorems, which serve to illuminate the understanding of facts and see connections with other fields.

Today I got a phone call from a very dear friend of mine. I sent her flowers and chocolate as a birthday gift.

23rd Feb

Had the pleasant company of a friend when going to the theater so that we could watch "The Bucket List" ("Antes de Partir"), with Jack Nicholson and Morgan Freeman. While waiting for the flick session to start, we went to Saraiva Megastore, and browsing through their DVD shows, I found Dream Theater's "Live at Budokan" for a feasible price.

It was a very pleasant evening and the company was especially good.

This page is proudly written in valid XHTML 1.1 plus MathML 2.0 and valid CSS 2.1. It was made using Free Software only. Free Software is much more than zero-cost software!