A geeks blog
Sun, 05 Jun 2005
More Planet (former) Advogato
Category: Advogato
I've got a few requests to add peoples to the planet, all besides one were accepted, the last one doesn't
have RSS feed for his blog. Can't do much about that.
In my haste to execute the idea I forgot to add contact information when peoples want to be added to the planet. This is fixed now.
Anyhow, if you want to be added to Planet (former) Advogato, mail me at baruch@ev-en.org.
Please provide me the blog address, RSS feed and nick(s) on Advogato. I think it's only worth to add English language blogs there.
Thu, 02 Jun 2005
Planet (former) Advogato
Category: Advogato
In the interest of tracking those who abandoned their Advogato diary to supposedly greener pastures, I've created
Planet (former) Advogato. The domain ain't pretty, but it works.
I obviously missed plenty of peoples that have a new blog, but as usual in Open-Source, it's an early release. Let me know if you know of others that I should add.
Mon, 23 May 2005
cvsps memory diet
Category: Advogato
Hacked on cvsps to reduce memory usage, on a large 400MB CVS repository it needed over 500MB of memory to keep the details.
At first I've started to convert it from memory data structures to gdbm, but it got too tedious after a while.
I then found that the cached data on disk, which is a mirror of the memory data, is only 30MB. So I started to look around to find the culprit.
Apparently, there were some huge over allocations, where a log message has a max of 1K in that repository, 8K would be allocated, there were over 15K log messages. For each filename 4K were allocated, a max length for filename was 200 bytes. Revisions and branch information were kept in too large hashes where a linked list would do well. And a few other minor optimizations were needed.
All in all, memory requirement dropped from 500MB to less than 60MB, which is still a lot but liveable. Until such time that the repository grow too much.
I added a small statistics collector/reporter to the code to help guide my way and used the large repository as well as the gaim repository as a base for my decisions, it was fun.
I did notice a need for a statistics collector library for such a thing, it should report max, average, median and such data, I didn't do median because I was lazy. But between the max and average there is such a large difference that a median would help here. Dumping the data and showing histograms would be great for such a task.
Now I need to clear it up at work and submit the patches to the author. I've got one of those all-your-code-are-belong-to-us type of contracts but with a special clause for Open-Source projects, I still need to get permission for each new project to ensure it doesn't clashes with my work related tasks.
Tivo clone
Category: Advogato
It's been a while since I decided that I want to create
my own PVR/DVR. A Tivo like device to replace the VCR.
I'll create one instead of buying one since I'm not US
based so no-one provides any such toy around, and Tivo won't
ship overseas. Probably because their hardware is NTSC only.
The Bastards!
I'm considering using an Allwell
iTV3036 unit as my base platform. But I'm still looking
at other options. I'd also like it to serve as a DVD player
(an all in one device), I'll probably hook it up to a coffee
machine at the end :-)
The Allwell can be mine for about $400 but it only has a
300Mhz CPU which is not sufficient for encoding MPEG2/4
videos. I'll consider using an MPEG2 encoder PCI card to do
that.
Another possibility is using my current 700MHz K7 machine
by adding a tuner card and a TVout card. But then I won't
have any use to the channels on my TV itself. Pretty
wasteful. So I want something that has a pass-through mode so
that it can actually act like a regular video.
Work
Category: Advogato
I've started to work full time on October 2001, working
with Linux doing various things tinkering with firewall
internals and other such fun.
Work sure does saps the time from open-source projects,
I've hardly did anything during the past few months.
LyX was the first casualty, my own
Volume Normalizer suffered too. All I had time
for is maintaining my few packages in the Debian
project.
One often raised problem with Debian is the distribution
of resources, and that it's hard to come by all the
information and various services offered in Debian. Jamie
Wilkinson (jaq) posted a link to a
portal page that he created for his own use, my
contribution is a generic
portal page that generates a similar page by saving the
email and name in a cookie. It was a couple hours of fun
with Python and cgi programming in Python.
Misc
Category: Advogato
I've hardly done anything really productive lately, I
mostly did small things like a small patch for
Galeon, changing the look of my website,
nitpicking on my resume and doing the usual steps in a job
search.
In between I'm learning for my tests and working on my
project course (Wavelet Image Compression)
LyX has switched to use some funky construct
with templates from the Boost project so now I cannot
compile the code from CVS, which also means I cannot work on
LyX until I upgrade my compiler (currently egcs 1.12). I
postpone this since I intend to switch to Debian unstable
which already has gcc 3.0, hopefully this will make sure
that nothing Lars will throw in LyX will kill the compiler.
But switching a distribution is such a tedious job, I'll
need to find those things that I take for granted and make
sure they are installed on the new distribution. I've done
most of my preparations by now, I switched /home to another
partition (on ext3) and have Debian unstable installed
already though it needs updating, but that last mile of
actually telling lilo to boot as a default to Debian instead
of RedHat is not so easy to do, mentally mostly.
I'll get around to this, promise!
I've switched to using Mozilla some time ago, much better
than Netscape 4.7x. I then switched to Galeon since it was
even better than using Mozilla directly, even though it
misses some features of Mozilla (parts of the Password
Management don't work and changing style sheets is
impossible), I'll try to tackle this sometime.
The best work I do on Open-Source/Free-Software projects
is when it scratches an itch, when everything is perfect for
me I have less inclination to do anything.
Posting Hebrew to websites
Category: Advogato
Finally I can post in Hebrew on websites (specifically on
The Reading Moose).
Until some time ago I used Netscape 4.7x as my browser,
until it was rumored that Mozilla has Bidi support for
logical Hebrew (most Hebrew sites are visual Hebrew, which
is the only thing supported in NS 4.7x), I've installed
Mozilla from CVS and got myself a nice Bidi capable browser.
Only problem was that is was slow as hell.
Enter galeon.
I've installed Galeon the other day and got myself a Bidi
capable browser that runs at a decent speed, as a bonus I
got tabbed browsing which is great.
The last step involved a short research into the xkb
mysteries and finding the tricks that are needed to get it
to use an Hebrew keyboard mapping, and now I can post in
Hebrew!
This replaces a hackish script I wrote in Python to post
a text file to the website.
One problem though, to install Galeon I needed to upgrade
to Gnome 1.4, I now have problems with PowerShell, it's
terminals get locked! Anyone knows a cure?
Misc
Category: Advogato
Got myself a MP3 CD Player, the Pine SM200C. A pretty cool
thing though I'm not really sure it fits into my budget
(full time student), for my defense I claim it was an
impulse buy.
This thing has 40 seconds shock protection time when playing
mp3s of 128kbps, this is the thing that sold me since I
mainly bought it for listening in the gym when running on
the treadmill, something that usually means a bumpy ride.
It's pretty slow to switch songs and when it's in random
playing mode, pressing next-song key will go to the next
sequential song and not the next random song. But overall
it's a pretty good thing.
Speaking about the gym, I now have Calcaneal
Spur from running
on the treadmill, got some pills from the doctor and
switched from the treadmill to the cross-trainer. The ride is
less bumpy now.
I still haven't coded anything for a while, between school
chores and a bit of rest.
Life
Category: Advogato
I will finish my studies this semester, with a
worst time estimate of October, and optimistic estimate of
August. And I've started to think about getting a job, the
reason it came up is a job fare that is scheduled for next
week.
With the short time I've started
drafting my resume, the initial version is here. The
English version is a translation of the Hebrew one so it's
rather badly done.
Up until now I didn't had any "real" interview, for my first
job I had a small chat with the Teaching Assistant, and then
a small chat with the Professor in charge and I got the job.
In my second work I got the job mostly based on the
recommendation of a friend who already worked there, so the
interview was also pretty short and simple. The third time I
did a freelance job and managed to convince my client based
solely on a job my friend (the same one) did, and delivered
it. Now I'll probably need to go through the usual hoopla of
several interviews and various tests and tricky
questions.
I hate this stuff, I believe I'll do good there
but I still don't like these tests and puzzles. It makes me
reconsider my decision to go to work instead of continuing
to an advanced degree. But it seems like I have far less
inclination to continue formal studies now than hate of
weird tests.
Well, sometime I'll need to do this anyway, so
it's probably better I do it now and get over with
it.
Update: Changed the URL due to
rearranging the site.
Wavelet Project
Category: Advogato
I'm pretty much stuck with it now, I'm unable
to find either source code for the wavelet transform I need
(Gabor Wavelet Transform) or a clear explanation of the
method to implement it. I've learned the math behind it
pretty well, however this deals with the mathematical
analysis of its convergence and invertiness, it has nothing
on how do I go about doing the implementation. My friend
picked up a book by Mallat and is reading it, I'll take it
near the weekend and read it too. I hope it has something
to hint about the implementation.
LyX and Python
I've finally succeeded in embedding Python into
LyX, it was pretty simple in the end, However I found out
that LyX doesn't have a simple way to export various
queries, it has an export for actions like "word-forward"
and "file-new" but nothing like "character-insert".
Anyhow, Lars (the LyX project overlord) decided
that since LyX is kinda destabilized, he doesn't want to
integrate this work or to continue working on it until LyX
is stabilized for it's 1.2.0 release. I probably better get
back to finish the InsetGraphics widget I was working on so
far (the widget is mostly finished, the support stuff
isn't).
[0] 1 2 3 4 5 6 7 8 >>