Older blog entries for uzi (starting at number 8)

Woohoo! Having cscope around totally rocks. I'm a bit bummed by the fact that what SCO released is not the latest version of it... besides the fact that it's pretty buggy. I took it upon myself to make a big step at improving that, though. I've just posted a patch to update the code from K&R C to ANSI C. Along the way, I had to fix a ton of bugs... mostly casting and argument bugs. There's one function in particular, progress(), that is especially gross. Look at it and then how it's called. I don't know what the person who did that bit was thinking, but it should work with my patch.

For us kernel hackers, I've added a '-k' option which ignores /usr/include since it only gets in the way.

So yep... I'm planning on taking this cscope to where I wanted the cscope I started working on to. Lots of features to be done... so little time. Bigfixes come first... then I'll drop in a ton of stuff. I just hope petr is open and receptive (and ready) for all of it...

I had a thought today. Now don't get me wrong on this... but I think "diary" here on Advogato should be changed to "journal".

Now, I don't give too much a shit about the whole "apprentice"/"journeyer"/"master" thing and all... and I tend not to be picky at all about wording... but I just got to thinking today how that would be something a tad bit more approprate.

Think about it for a second... "diary" implies "personal"... like what you're thinking about someone, whether good or bad... your own "for yourself" log of how you feel and what you think, and what you would write in a traditional "diary", as the term is normally used, most people would never put online for everyone to read. It's like admitting to the sick fuck thoughts in your head.

The word "journal" on the other hand, refers more to something of a written log of experiences... something more written as a record of events and such, and where are journals mostly kept? In a more professional environment... something I think embodies what these logs are a bit more closely.

If it's not changed, well, I don't give a rat's ass... but I figured it would be more correct that way. What do you all think?

Changing subjects... I had a great day hanging out with yosh, slow (actually this whole weekend), mjs, stephane, vicious, and mjs and stephane's friend Rebecca... a fun day with a lot of food, laughs, silliness, hacking and such. I do have to admit that Eazel currently has a much nicer office than Linuxcare. I mean, it's a place where people can actually get work done. :)

I'm picking up steam with the cscope I'm working on... I'm not rushing things. I want to do things right...and have something that works decently... but I'm basically still in planning, and I won't leap until I feel I have a proper design in mind...

Well well well... I just saw the movie "Titus" with yosh, greg, and my always lovely girlfriend Doris... and well... to be quite honest...

Ok, let me back up for a second here and explain things this way. Never before in my life have I disliked a movie so much that I wanted to immediately go to the nearest bookstore to buy the book for the sole purpose of burning it... and this movie achieved that. The story sucked, things were out of place, visuals were a bit much at times... and oh boy... some people over-acted just a wee bit at times.

Now, did I say I wanted to go and buy the books to burn 'em? Yep, well yosh, greg and I wanted to do it so badly that that is exactly what we did. Doris wasn't amused, but came along for the ride anyways... and what a brilliant fire it was, after greg the poured in the "white gas" as he called it. But let me tell you... after we burned those 4 copies we bought (we couldn't find any more to burn, otherwise we would have), it felt like a huge monkey got off our backs... oh what a relief.

The moral? If it hasn't been crystal clear up to this point, the big message is "don't see this piece of shit excuse for a movie"...

Anyways... back in the realm of computers... been playing with my SPARCs... sent in a few Linux Kernel patches for stuff that had broken... but I do have to say that Redhat 6.2beta and 2.3.99-preX have been very stable on my SS10 and SS20. Amazingly so... I'm quite happy.

Oh, and mbp from the Linuxcare Canberra office stayed here in Fremont with me and

none of your bees-wax
for a few days... it was really great to have him here... and I look forward to seeing him again... not to mention welcome other visitors...

Nothing much to say... I've been keeping busy lately. I should release a new cgvg soon with a nifty built-in pager patch from a LKML reader. The cscope is doin' fine so far... just taking a short break from it to sit back and stare at it a bit. I got some new toys to play with over here, so life is good in that regard.

My hunt for the "SPARC Architecture Manual v8" is over. It's a book that's been out of print for a while sadly, and it describes the cpu used in all sun4m machines (like the SS4, SS5, SS10, SS20, Classic, LX, etc.)... which there are differences from the latest and greatest, the v9 (or sun4u, aka. the UltraSparc machines... which I already had the book for as it was easy to find). Of course, I had to poke and prod several places for it... even my favorite bookstore in Los Angeles, OpAmp Technical Books... and they had an order in for me but I was able to cancel it because of my good fortune. I just happened to stroll across the Sparc International webpage and noticed that they both had it available for download and even orderable in hardcopy. So I did this and it got sent... and *nobody* else had the book in print still. It is kinda funny, though... the book has the v9 book's cover, except it says "v8" and the ISBN number is different, but the backside text of the book and the cover photos are identical... so it describes the v9 book on the back of my new v8 book. Of course, I also ordered the "SPARC Technical Papers" book, another book that is out of print and I really want, which I might still get, but even then, the search continues.

Ah, but today is a good day... I'll be spending it at the Sony Metreon in SF, doing stuff like video bowling, eating sushi and watching Fantasia 2000. The funny thing is I've already done a night just like this one before, except last time it was with phil... and this time with Doris, who is much cuter than him (sorry, dude). :) This is, of course, to have fun and celebrate 4 years with her... the 4 best years of my life...

Oh yeah... and it would be a crime to not mention how much harold rocks. He totally rocks! Thanks again, dude! :)

Well, I'm suprised, but it took me pretty much a day (knowing next to nothing about gtk+ to begin with) to write a usable gtk+ interface for cscope. It's simple and straightforward... and the help of the great tutorial and my buddy yosh (who nontheless made sure I did all the code) were invaluable. I'll probably be doing more gtk+ coding down the line... and it's a nice change from the system-level stuff I'm used to poking at anyways.

The results? See for yourself... screenshots of the curses and gtk+ interfaces in their current state. Lots of work still needs to be done, yeah... but they're at least usable once I hack up the backend to work with 'em. Once that's done, I hope the real fun begins. :)

Note to self... make sure phil gets my ricochet modem from dria so he can return it to me when he comes here next week. :)

Well, cscope's interfaces are coming along fine so far. The initial interfaces will be working but bare bones with much room for improvement, just like the backend. Fair enough... hopefully there will be much, fun and most importantly valuable hacking to be done.

The curses interface is working... just need to clean it a bit and such, but it's at a usable point. Stuff like color, handling SIGWINCH, exactly how and what I want displayed, and general bugfixing (including portability) is what's left here.

The gtk interface is starting to come together. Again, some beautification, features like coloring, etc. will all be doable.

I should hopefully have both in place for that initial release. I also intend for the two to use the same code right up to the interface code with two separate binaries. Just having something working is my initial goal, and meeting that is not too far out of reach...

Well, just because it'll make seklos's day, I'm doing another diary entry. Who knows why it matters so much to him... he's a weirdo. ;)

Actually, all I really have to say is that my cscope's curses interface is now pretty much done... I just need to fix up a fewminor bugs, but it's at the point of working. Now I need to work on the backend stuff. It hopefully won't take too long... I'm making decent progress. Stay tuned. :)

Oh man this sucks. I have a machine here that I use as my file server, and the 9GB 7200RPM Quantum SCSI disk I have for /home just died... which basically means I've lost a lot of data. Fortunately I still have a lot of my other data on other disks... so all is not lost... just inconvenienced.

Also, I've started hacking up an open sourced cscope. I'm working on the (n)curses interface for it right now... much more work to be done, but I should have *something* available in the not-too-distant future. The initial version will be functional but limited in power. I'll try to do a gtk interface for it before I release as well. All in good time, though.

Heck, email me if you have questions or are interested in joining me in this effort when I'm a bit further along.

Man, it would be nice to have a decent open source cscope implementation... I have my cgvg scripts... there's LXR... and even id-utils. Oh yes, can't forget cs, which is a poor cscope clone (but have you seen the license?)

So, cgvg is somewhat adequate. It was written to be a quick hack and I just added stuff here and there and got it into it's present state. It's written in 100% Perl... and does a decent find/grep-like job... but if you have a large tree (like the Linux kernel), it takes a while.

Then there's LXR, which is good for reading the code... but not for being interactive with it. I've been hacking up it's code (also in Perl) a bit... and I *could* use it to do an addition to cgvg that understands C/C++ to some degree (it'll tell you where things like functions are declared, where they're prototyped, where they're referenced, etc... but not much more). Generating the database also isn't the speediest of things.

id-utils is much faster at that, but also more limited. It only really does lexical analysis... no real parsing... so it's good for identifiers, but not for what the identifiers really are. I could easily use it to make a faster version of cgvg, though... though it would be a bit limited in comparison.

Finally, we have cs, which is an attempt at doing a cscope clone. The code is kinda ugly, and it's limited to C (while I really only code in C, I'd want C++ support). It's also limited to small projects. Also, look at the packaged manpage near the end to see its license. Not a pretty thing... I certainly wouldn't work on it.

Yes, I use and love ctags, but it only takes you to where things are defined... not other way around, along with other functionality.

The best course of action would be to do a real cscope clone. The problem is it's a _huge_ undertaking. I can write it, yeah... but it would take a long time. I'm wondering if I did it, would anyone really use it? It's also kinda hard to tell people you want "cscope", since most people aren't familiar with it. I'll just have to sit and ponder it a bit. And heck... if anyone else is interested in working on such a beast, feel free to email me. Just, with such a project, I'd want to sit and be sure it's what I really want to spend countless hours of my life working on... or would the time be better spent on other things.

On that note, I bought a pretty bare SparcStation 20 today that I'm going to build up with parts I have lying around here... that brings the total to 6 SPARCs. :)

BTW, hi phil... sorry for the mess. (It wasn't *that* messy, was it?) I guess I paid for the mess with garlic bread. ;)

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!