Older blog entries for baruch (starting at number 29)

Work

I've switched a job to something less stressful and with a higher pay. I've been spoiled in my former place with a very high technical excellency and the current place has a lot to improve until it gets to the same level, but they do seem willing to learn and improve.

I also negotiated better terms to allow me to release my code as Free Software. Not that before I was severly limited, but now I do not need permission for each specific project.

Free Software

I've got a bit more time at home this days (see above), but I still don't get to do much. There is a lot pending for websec, but I didn't yet get around to doing anything with it.

At work I started working on network device drivers and needed to decipher various constants (what does 0x1f310000 mean for CSR11 in the Tulip 21143?), so I coded up BitDecoder.

Free Software

I've finally got over my procrastination tendency and actually did something Free-Software-y.

Worked on and released version 1.5.0 of websec. That felt good.

Now I need to find that person who provided patches for ChkTeX and have him resubmit them. My computer crashed some time ago and I lost everything he sent. Including his e-mails so I can't really know where to send the inquiry. He said that he is the maintainer of ChkTeX in OpenBSD so I need to go look there.

Free Software Foundation

Some time ago I joined the FSF as a member, today I received the package, it includes the book "Free Software Free Society: selected essays of Richard M. Stallman", two LNX-BBC 2.0 CDs (small and regular), and a thank you letter.

The CDs didn't boot on my Dell Inspiron 2500, which kinda sucks. The book seems nice but it looks like it could use some polish, it is printed skewed and there is not enough spacing between lines, but oh well, I got it for "free".

At the same time I also contributed to the EFF. I'm not a student anymore, and I have a bit of change to help make changes that fit my views.

Common Lisp

I'm trying to learn new things, so I picked up the book "ANSI Common Lisp" by Paul Graham. It's nice. I'm toying with lisp and it is also interesting that at work I start to see places where I could do things better with Lisp. Except that I'm working inside the Linux kernel so Lisp is out of the question.

Work is draining me, I got to the point where I worked at least 12 hours a day, add to that an hour drive in each direction and you get a life of Sleep-Work cycles. That is, No Life. At one time I actually worked the normal 9 hours on the firewall, and then at the evening they found a critical bug on a completely unrelated project that was scheduled to release that day, so I stayed for another 9 hours working on a platform I never touched before.

The day after I didn't even bother to show up to work for obvious reasons.

That was until I figured that no matter how much work I will put in, the product ship date is slipping and so are the standards that we will hold it to. I reduced my work time to 8-9 hours, and started coming earlier, 10am instead of 2pm. After all my co-worker of whom I'm in charge needs me, and I need to be able to get back home in a "normal" hour.

It still doesn't give me enough time to play with Free Software. I need to find a way to make days of 28 hours long or so.

I still have pending patches for websec and ChkTeX, my Debian packages need an update and various private interests need to be nurtured.

I did advance in implementing a Bookmarks utility, inspired by a co-worker. The idea is to have bookmarks not in an hierarchical system as the browser keeps them, but indexed by keywords. Coupled with a simple search on that database makes it easier to find the bookmarks I want.

It's still an early version, but it's working nicely.

ChkTeX

Got a second set of patches for ChkTeX from the OpenBSD maintainer, he's really doing some serious work on it and it's good to see that giving it a home let some improvements happen for the benefit of all users.

Formerly I had some patches in the Debian package, opening a project for it in a central place makes sure that these changes will be available for all users and that others will be able to contribute too.

Now I need to go over the patches, review and commit them. And then I can go on to release 1.6.2

Gnome2 hit Debian unstable, and got loaded into my laptop. It's nice, the upgrade fscked the desktop and I dumped all my customizations. I've had so little customizations that I now consider using ion instead of the Gnome.

Converted all my mail folders to IMAP using Courier-IMAPd, it's now easier to to use multiple mailers (mutt & Evolution), while evaluating sylpheed.

Sylpheed and mutt do not handle an ampersand in a folder name, Filed a bug report for each, mutt to the upstream authors and sylpheed on Debian BTS.

At work I became master of the firewall, we develop the OS for Cable and ADSL modems and as part of a package we provide a firewall. The former keeper of the firewall left for a long vacation in India and I was made the new keeper.

As if before that I had any time, now I have even less. The guy who was supposed to work with me left for a reserve army training session of one month and left me alone to drown under the work. Another person was assigned some of the bugs, but I'm still involved in every work and all questions on the firewall flow to me.

Time juggling is an art I REALLY HAVE TO MASTER, Quick!

In addition I'm the security guy of the company, routing security notifications from various mailing lists to the BTS and doing computer security handling, such as Firewall setup, VPN issues and reviewing the logs. A busy man indeed.

Open-Source, contributed a bit to bogofilter which I started to use. Also considering to create library to handle TCP sessions emulation. It's something I need at work and I don't have the time to implement. I suggested at work that I'll create it at home under a Free-Software license (GPL), "It's under consideration".

Bram: It helps when you describe a signature scheme to say how one signs but also how one verifies the signature. Or at least provide a link to the relevant information.

Life

Nothing accomplished Open-Source-wise, at work I was offered Team Leader job, and declined. I'm not feeling ready for the task. I'm a good coder and debugger, and possibly designer (pretty sure on the first two, the third should be judged by others), but I'm not sure about my managing skills.

Got a new computer, a Dell Inspiron 2500. It replaces my aging Desktop and is moveable from home to work to parents place when I visit.

The machine came with WinXP Hebrew preinstalled, but had an install CD of a French WinXP, installing windows in French is fun, but not my kind of fun. I asked to be sent an Hebrew or English version. Nothing yet (for a week now).

It now has WinXP and Debian GNU/Linux (sid), the Lucent modem worked easily and compiles directly to a Debian package, nice touch! X is working but I need to install the synaptics touchpad.

Working with a laptop forces me to work more with the keyboard, which is a good thing. I now have the urge to add a Shift-Arrow switching between tabs in every application. Specifically Galeon needs it. It already works in Multi-Gnome-Terminal.

Switched back from Evolution to mutt, and using bogofilter to hide the spam, stole the procmail macros from Debian to detect various types of spam (Korean, viruses and such)

Did a lot of playing, but no coding (except at work).

Debian maintainership is taking all of my Free-Software time. Due to long work hours my free time is low as it is, SO time takes most of my free time and the little I have left is ued for Debian packaging, and I'm not even up to speed on that.

I've resurrected ChkTeX, It's a nice program to check for typographical errors in LaTeX documents, it also has better errors for syntax errors. I'm the Debian maintainter for the package and fixed some bugs in it that came in as bug-reports in Debian.

The upstream author is MIA and hasn't been heard of since 1996 (or so it seems). So I set it up at Savannah, The CVS repository is supposed to be uploaded soon, or I'll redo the commits on the CVS there. I initially worked on a local CVS and asked for it to be uploaded, but it's taking time.

I've also listed it now at FreshMeat and here on Advogato.

I've also run it through valgrind and found a memory access error that caused it to crash when running on it's own manual! (Now I join the crowd: Valgrind Rules!)

Once I'll finish some extra touches such as updating the Readme, Changelog and such, I'll post the new version to CTAN

cvsps

Finally got the permission to release my fixes to cvsps, I've contacted the author and he appeared very enthusiastic about merging them.

The next step for cvsps is to use glibc db or gdbm to keep the data instead of loading everything to memory.

syscalltrack

It was accepted to the Debian archive, and is now available for all. All that is left is to wait for the bug reports, if any. I believe it will be the first time sct developers will get some user based feedback.

Created a Debian package for syscalltracker, it's at http://people.debian.org/~baruch/deb/ You can also find the news about it at: http://syscalltrack.sourceforge.net/

I don't have any energy to work on my projects, all I'm getting done lately is Debian packaging

I attribute it (partially) to the fact that I didn't have a proper vacation for the last five years, I really need to get the last remnants of courses towards my degree and take a vacation. It's been overdue, the last one was an after the army 4 months of USA cross-country trip. It was great, but it can't keep batteries charged forever.

Advogato

For some reason the proj tag didn't work for me... a bug?

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 overallocations, 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 OpenSource projects, I still need to get permission for each new project to ensure it doesn't clashes with my work relared tasks.

bytesplit: Considering your attack on OpenSource that it has too many Editors, how about joining one of the PHP image catalog projects and help there instead of starting from scratch?

20 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!