Older blog entries for jmg (starting at number 60)

Quote of the day (from Earth by David Brin):

Heck, picture if aliens ever landed in California. Instead of running away or even inquiring about the secrets of the universe, Californians would probably ask the BEMs if they had any new cuisine!

I hate them! There are too many incompetent designers out there that can't get things to work properly. Spent the four day weekend upgrading my main server and still isn't done. I'm having major issues with the Tekram DC-390F (UW, 53c875) SCSI controller. I thought originally I'd have more issues with the DC-390T (amd based) but it turns out that the Tekram driver for this card works well. Of course, having a hard disk which likes to have read/write issues doesn't make things that much easier to diagnose. Guess I'll end up sticking my old Micropolis drive back in. I hate to loose the UltraWide-ness of the drive. We'll see.

DNA Lounge looks interesting. If I remeber, maybe I should check them out when I head up to SF some time. The write up on Webcasting is interesting and helpful. Once I get things back and running, my webcast of my 200 disc changer will come back on-line, and I have the number of users set so low that I don't think it's an issue. It's like if a couple people dropped by. Do I need to pay for the right to let my friends listen to the music? No, so I'm not going to pay. If I actually distributed to more people than I'd look at it. Anyways, screw the music companies. They have no idea what they're doing.

I'm using one of the new Ricochet modems with 3.4-R, but that's just using the serial interface. Sure you don't get the faster data transfer rates, but it does work quite reliably (assuming you don't go through WorldCom). I do get 11KB/sec which is kinda slow, but it works. I was going to look at back porting the umodem driver in -current and getting it up and running on my 3.4-R, but I haven't looked at that yet.

There is the freely available MPEG-1 library based on code from Berkley that will return a frame for decoding. I wrote a FreeBSD console app to view MPEG-1 video, but because it actually returns a full frame instead of the differences (kinda hard to do), it's a bit more complex, but for RTP data, you probably don't need 30/24fps speed. It was very simple to write. Should do the job for you.


Digest Auth doesn't cut it as it still requires a clear password sent to the otherside. As for the others, there isn't any rfc that tells how these are standarized. Sure you can write your own, but then that's your own. So, still no strong auth.

As for the design document, it should include all features you will want to include in the product and not include any implementation details. Implementation is later, the design document is to describe what you are going to do, and what features you are going to include so that when you start implementing it, you don't end up doing extra work for what isn't in the design document, or you forget to include features. SVN's design doc is more of a basic implementation documentation as it includes this is how we are going to do it.

If you had know/pointed me to future.texi earlier in the discussion, less misunderstanding would of happened, but at least I did finally find that you guys are planning on it (sounds like you didn't even know about it before), but haven't included it as part of your design.

As for it being Open Source, that's just spiffy, but to many people think of open source is the end all solution. What really open source have shown is that code sharing between groups/orginizations is a good thing. Do you think FreeBSD would be so successful if it wasn't for the GNU gcc compiler, nvi and other projects that are out there? It all comes down to being able to share code. People reimplement code all the time including stupid mistakes such as skiplists. If everyone wrote their own, it'd be a waste of time.

With Inter-repository communication and public/private key authentication, it becomes easy for people to share code and follow bug fixes that have happened. Imagine being able to run a simple command sc update and suddenly have all of the latest code for the 15 different libraries your product has. Now that be a 21st century feature. This would also be equally applicable to commerical ventures as free ones. It would allow a company to sell certain releases of the library and allow them to fetch patches and all those goodies.

So, when will Subversion 1.0 be released? Any general idea? This year? 2001? 2002? Will Inter-repository communication make it up to the design document so it's not one of those well, if we have time, we'll get around to it, but we don't really care about it so it isn't going to be part of the project unless someone contributes code to do it? Thanks for the information, and I do hope that the project goes well.

Sounds like your experience was pretty similar to mine while I was in Melbourne, Australia. Danced with this girl for a while, get her mobile, run into her a couple days later, and I realize that she's a lesbian.

That Happy Hacking keyboard looks cool. Just the type of thing I need. Though I'm not sure how well it'd balance on my lap because I'm used to having the lop sided keyboard. Plus it's a bit expensive for being so small. If it was even $30, I'd understand, but it being 5 times more expensive than the inexpensive Mitsumi keyboards I've grown used to, I don't think it's worth it. I'm also not so sure about having no lip on the bottom side of the keyboard. When I get my hands rested there, I need that lip to keep my hands comfortable. Of course, they teach keyboarding in schools so that you end up with RSI instead of preventing it. They always have the keyboard to high, and your wrists in the worse possitions.

Hmmm, looking at my hand possitions, I think that if you don't have your pointer finger near straight, you probably aren't typing correctly. It may seem strange, but you'll keep your hand lined up with your arm so that you're wrists are straight instead of bent like they teach you.

Looks like you guys need to post the subversion/doc/future.texi to your web page. This actually includes a small part of what I consider a 21st century revision control system: Inter-Repository Communication. The short description you provide is good, but doesn't deal with the strong authentication required, and doesn't mention inter-project management. Oh well, I'll see what I can whip up. Sure it ain't going to be pretty, but I'm doing it more for a proof of concept type thing. If it turns into a project, so be it. It's just something that I've wanted for a year or two after some people started sending me bug fixed to my libraries that I've done.

Guess I'll let the issue drop since you're so quiet on it.

Looks like you missed my diary entry where I explain exactly what I want out of a version control software. Also, all those buzz words you state is all spiffy, but they are just that. Sure, you're using all the latest software to do your implementation, but are you actually doing something new? Nope, P4's already been there and done all of what you mentioned in the design doc. Sure, it's not using stuff like http for client/server communications or anything like that, but it's already done all this work.

I was going to see if DAV actually used strong authentication for client authorization, and possible ACLs on file read/write/execute permissions. I'm pretty sure it supports ACL, but I'm not sure it supports strong authentication (RSA or similar) for clients. I would of looked, but WebDAV doesn't provide any search features (or if they do, they burry it in their site), and trying to wade through their faq and other stuff isn't my ideal way of spending my Saturday.

Dare I say that Subversion is using HTTP which is a 20th century protocol? (Though in my implementation, I was going to look at using a modified HTTP to support RSA client authentication.) If you don't get that comment as a joke, you need to go on a hiatus like I did two and a half years ago.

Oh, did you actually read the design doc? Or did you sasy, hmm, it's only a couple pages, must not be worth reading.

Also, minor comments about your design doc. It overflows the width of my browser, so I have to scroll to the side to be able to read it (and the nav bar on the side is now off the screen). Did you write the doc after you started the project? The reason I ask is that you include exactly how you implement tree deltas, which you had to start your implementation before you wrote that section. If not, why did you update it to include that? It just made for a whole section that I skipped over.

Ok, finally got the design doc for the project posted. Hopefully this will explain what I'm looking at doing better. What I'd like to see in freesoftware is where a person can make an external library/program a "part" of their source tree and automaticly have a brach their work. When the author updates the library/program, the consumer can then integrate the changes they see fit. This will also make it easier to submit patches back to the original author if part of the commit process you had a "Notify author of commit (Y/n)?" question.

I was planning on doing it in Python. I've receintly grown to really like python on how it handles things. I like how you can pass handle code as if they were normal objects. A class really isn't more than a spiffy dictionary. Oh well, we'll see how things progress. Biggest problem with python is that it doesn't come with a good multiprocess db method. There is ZODB (or something similar), but the last time I tried to get the running on my server, it crashed my main server.

Jade+docbook produces nice HTML output, but if you try to use TeX to produce ps/pdf output good luck. I know people use it to produce them, but TeX is bloated and poorly documented. Sure you need to redump your config file, but no where is it documented how you do that. I've scoured the info files for help. Heck, I can't even get it to find the jadetex isoents.tex file and have to copy it into the current directory. I've played around with TEXINPUTS and still no luck.

I think my main server has some issues. Either that or larn has some data corruption bugs in it. I've been playing this version of larn for years (I remeber playing it as a MS-DOS port back in the 80's). I've never had really any issues, but in the past few days, I've had it segfault on me, and then when I load the checkpointed game, It'll be messed up. It is fun to have a belt of stricking +728 and a leather armor +700. Then of course find a dagger +7xx and sell it for 500k gold. Makes completing the game a bit easier, but it detects "inconsistancies" like this and won't put you on the scoreboard. At least it prevents me from having to pay taxes on 700k gold. Oh, I am up to difficulty 4, which is getting to be a real bitch. I haven't been able to get past level 5 in a fair game since I've started.

Hmmm, probably should stop rambling and get some sleep. That way I can actually go to class and a weapons seminare for martial arts. I wanna get a start on the staff, but they don't start teaching the staff till you're an orange (I'm only a yellow). The weapons seminare will give me that chance.

One more game of larn before bed won't do any harm. Assuming I can keep it to one game.

Another person sent me email about <project>Subversion</project> too. It looks like it just fixes misfeatures of CVS instead of actually being a 21st (oh my god, a buzz word) source control program. It's still based on the NIH is bad idea, among other ideas. I'm going to post my design doc that I've writen so far so that other people will understand what I would like to see in a version control system. If you've use P4, something like P4, but on a global instead of per repository scale.

I also finally realized that I'd been thinking of doing my version control system in the wrong way. I was thinking of doing it the CVS way, which is storing the files seperately, but that is completely wrong. Now I should be able to make headway in starting the project.

Just checked out CVShome and all projects should have a design document so that you know what the project want to encompass. A project that is this large should have one.

Arg! I hate logging into a machine to do something, and by the time you get to the prompt, you've forgotten what you were going to do! Hmmm, I think it might of been writing a cgi to locate my on-line broadcast of my music, but I'm not sure.

I decided to learn docbook to write the design document which is cool. I have the html production working properly, but I haven't gotten tex to generate ps or pdf output yet.

Ack! gotta go home! I'll edit this later tonight.

FreeBSD's install needs a ton of help. I tried to use sysinstall (yeh, I'm smart enough not to need it) to install from da0 onto a new disk, ad0, but it just installed over the existing system. Also, as of 4.0-R and 4.1-R (haven't tried with 4.1.1-R, you can't install on a Tekram 390F card. The included sym device driver is broken with these cards. Guess that's why there's an amd device driver, though I haven't tried it yet. Had to drop back to 3.4-R on this machine (don't have 3.5-R handy) just to get it installed. Then 3.4-R installer was broken that caused it to segfault when selecting the distribution options on a custom install. This is really making me think of rewriting FreeBSD's install. It's a joke that this can't work better. I also wonder if the boot blocks in 3.4-R suffer from the same problems that's noted in the errata of 4.1-R. Guess I really shouldn't complain as I haven't done that much FreeBSD work reciently.

I really think there needs to be a replacement for CVS, I've been thinking about one, and started writing up a paper for the goals of the project. Needs some more fleshing out, but when I come to sit down and think about how to implement it, I get a bit lost. Guess I should go on a walkabout thinking about how to do it. The hard part is being able to cordinate merging diffs between three branches. I may just break down and do a really braindead algo at first and hope someone improves afterward. Pretty sure I'll do it in python intialy. So much quicker, but I'm just not motivated.

I am looking at possibly doing some outside consulting work in the BSD kernel/VFS/file system/device driver area part of things. It'll be all the way in Condon(?), Mass. If I do it, it'll definately be telecomute as I'm not going to move to Mass for a 6+ month contract. Should be interesting, I feel a bit out of my leage as this is my first contract that I'd do on my own in naming the price, but it'll be a good learning experience. I hope the project is interesting that I'd be into working on for 30+ hours/wk.

Just as a hint, if you're going to use qbasic, learn about sub and function. I started (real) programming with qbasic, and have to say that you don't need to use goto's in qbasic. You'll found out that goto's are evil and pretty much should be avoided. If you start using sub/function, I'm sure your prof will be impressed. Now if the prof told you not to use sub/function, then ignore everything he says.

I'm finally back from my trip to Australia. Finally gotten back into work, and gotten the time to be able to write a diary entry for Advogato. Still having some issues with my sleep schedule being messed up, but that shouldn't take to long to fix.

I had written a little bit about bi-directional hyperlinks, but Netscape was kind enough to crash before I had posted it. I don't feel like typing it over, but it'd be a nice feature to have.

Guess I should get back to the daily grind.

uweo: Take a look at FreeBSD's version of ijj-ppp (userland ppp). This should have completely support and be fully documented in the ppp(8) manpage. Look at the section "Supports PPP over TCP and PPP over UDP." I could of sworn that ppp supported encryption, but I guess it doesn't. I guess I was thinking of natd supporting GRE translation for MS-VPN solutions.

Basicly UDP would be better than TCP as you will be able to better use the link. With TCP you have to wait for retransmits if a packet gets lost, but since you're simulating a link, packet loss is acceptable and shouldn't require it to wait for the remote end to say, hey! I didn't get this packet. So, going over UDP will eliminate about RTT delays for all sessions in the case of packet loss.

Hope this helps, I really should finish packing and making sure I get a shuttle and all that fun stuff for my trip to Australia. I'm leaving tonight!! Whee!!

51 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!