Click to See Complete Forum and Search --> : Wake up!


jemfinch
09-13-2001, 02:51 PM
Whoa. This forum has been dead. Even before the horrible events of Tuesday, I would still run here every time I got online, only to be disappointed by the lack of new posts. Not to be impertinent by posting during the aftermath of the terrorist attacks (I hope and pray that no one here was seriously affected) but the terrorists want to disrupt our lives as much as possible, and I don't want them to be successful. So here goes :)

I want to hear what everyone's been doing that's been making them so busy. I'll kick it off :)

I've been working on my IRC bot a lot after taking the weekend off to visit a friend. I now have a persistent database system much like CDB (http://cr.yp.to/cdb.html) (except with a few additional restrictions) written entirely in O'Caml. Since CDBs are constant (unmodifiable,) I also wrote a wrapper around a CDB that allows modifications (keeping them in a hash table and journaling them on disk for reliability) and can be flushed at any point into a new CDB. With these two new tools at my disposal, I've been able to make a few improvements to the ocaml irc bot I've been writing: first, it now can access constant databases of information very easily, efficiently, and quickly (the IRC bot knows every zip code and every area code in the United States now as a result :)) and it can also modify databases and still be quite efficient in lookups (it now has a proper factoid system implemented.) It took me about an hour to implement a "notes" system so that users can leave messages for other users on the bot, and the bot will give the user his messages when he joins a channel the bot is on. It's amazing how much more you can do with an IRC bot once you have a working persistent database system :)

In the next few days, I hope to implement a few more things: I want finish writing the calculator lexer/parser so the bot can be a working channel calculator; I want to write a new interface to the current privmsg callback, and I want to write a "new and improved" privmsg callback that allows you to register callbacks with it using a regular expression (so when the regexp matches, the callback is called) rather than the current privmsg callback, where you register callbacks with it using a constant string command.

Other than that, I've not been doing much programming-wise. What's everyone else been up to?

Jeremy

TheLinuxDuck
09-13-2001, 03:48 PM
I've not been doing hardly any programming.. just learning java, and working on some perl CGI's for a friend.. that's about it.

My head nor heart have been into programming lately.

MrNewbie
09-13-2001, 04:07 PM
Well I've been learning and practicing C++ and doing a couple of small C things, nothing really cool, I am going to start learning about 3D (specifically OpenGL) stuff in C/C++ in a while because it really interests me and will improve my C/C++ skills as it will give me somethings to write in them. I can never find interesting projects to do for my skill level, they always either seem way to hard or way too easy.
Jemfinch, I didn't completely understand what you were saying about CDB, have you written something similar to the Perl DBI but in O'Caml, or do you mean something completely different?

Gnu/Vince
09-13-2001, 04:42 PM
I haven't been doing much Ruby these days because:
1. I have school
2. I don't know what to do.

jemfinch
09-13-2001, 04:49 PM
Originally posted by MrNewbie:
Jemfinch, I didn't completely understand what you were saying about CDB, have you written something similar to the Perl DBI but in O'Caml, or do you mean something completely different?

Have you ever used a Dbm style database in any language? It's basically a persistent hash -- it maps strings to strings, but stores the stuff on disk, so you don't lose it when the program crashes.

CDB does that, but with another additional restriction: it can't be modified after it's written. It is, however, very fast, with very low reading overhead. It's good for data sets that will be written rarely but read often; for instance, the factoid database of an IRC bot, or the aliases database of a mail server, or the mapping from hostname to IP of a DNS server (the latter two being uses DJB, the author of CDB, actually uses CDB for.)

Since the Dbm module in my O'Caml install was broken, I needed a Dbm style database, so I wrote CDB in O'Caml. So far, I'm loving it :)

Jeremy

MrNewbie
09-13-2001, 05:44 PM
That sounds cool! But you said the factoid part of an irc bot needs to be rarely written to, I'm assuming that's the thing that remembers facts people say etc which is uses to "learn" so wouldn't that need to be written to a lot and not just rarely?

sans-hubris
09-13-2001, 06:00 PM
I haven't done much in the way of programming either beyond volunteering for Phuzon/Bakemono/whatever-his-nickname-is-now's project Ninja Warrior (http://www.sourceforge.net). I'm going to change development over to C++ so that some of my friends who know only C++ can work on it.

LinuxAnt
09-13-2001, 07:27 PM
I have been working on learning Perl...
by attemping to implement a help system similar to the one described onIBM's contest rules and suggestions (http://www-4.ibm.com/software/info/students/contests/linux/linux-challenge-rules.pdf)
Item # 16.
But I am a Perl and Programming Newbie. :rolleyes:

jemfinch
09-14-2001, 01:03 AM
Originally posted by MrNewbie:
That sounds cool! But you said the factoid part of an irc bot needs to be rarely written to, I'm assuming that's the thing that remembers facts people say etc which is uses to "learn" so wouldn't that need to be written to a lot and not just rarely?

In practice, people will lookup factoids far more often than they're add factoids. The wrapper I wrote will flush all memory-stored alterations to a new constant database every 50 additions/deletions/modifications or so, so it's not much of an efficiency problem.

Jeremy

mrBen
09-14-2001, 04:29 AM
I've hardly ever posted on this forum, but I have been doing a little 'programming' recently. Well, JavaScript actually; don't know if that counts. I maintain a website for my friends holiday cottage and I've been upgrading the booking system. Originally you just had a bit table showing availability and then you selected the weeks you wanted from a drop-down, filled in your details, checked the price via a small script, and then submitted via email for confirmation. Unfortunately the table showing the bookings was massive, and didn't render too well on some browser/display combinations. Plus updating it was going to be a pain. Check out the old version here (http://www.grinills.com).

So I've been working on a 3 page system, whereby on the first page you select the month you wish to view, then on the second you get a small table for that month (drawn in JavaScript) and checkboxes for each week which you tick if you want to book. Then you click away, it validates your booking info and on the third page takes your details, confirms the price, and e-mails away your booking. Problem was that the server the site is currently on (Netscape) doesn't allow server-side scripting, (not to mention that I've not had to try that yet) so it all has to be JavaScript, with the variables passed between pages in the URL (including, at the moment, passing 16 variables onto page 3) and then having to write scripts to parse the URL for the data. Fun!

Anyway, I've done the first two pages, and they work sweet, and I'm on to the third. I'm using Bluefish and Opera, although I could do with a JavaScript aware IDE if anyone knows of one. Also, neither Opera nor Konqueror show JavaScript errors, which means I end up having to comment out 30 lines of code for a missing bracket. Any ideas?

Anyway, enough for now.

oh, BTW ITS FRIDAY!!!! :D

Niminator
09-16-2001, 02:23 AM
Homework. Check out my latest programming assignment in Object Oriented at
http://www.comsc.ucok.edu/~sung.

or the other latest assignment in Data Structures at
http://www.comsc.ucok.edu/~mcdaniel/mcdaniel

I don't know if I can really call it "programming" though. These assignments are far too easy. More like "declaring variables and making for loops".

I would point you to my lousy Visual Basic assignment, but it is far too horrifying. The linuxnewbie forum doesn't deserve such horribleness.

On the Visual Basic note, my crazy professor seems to thing that mod and integer division are lower in precedence than +,-. He's gotta be smoking crack. I'm gonna go write a program that proves him wrong really quick.

jemfinch
09-16-2001, 03:24 AM
Originally posted by Niminator:
On the Visual Basic note, my crazy professor seems to thing that mod and integer division are lower in precedence than +,-. He's gotta be smoking crack. I'm gonna go write a program that proves him wrong really quick.

First rule of College: Your professor is never wrong. If he thinks that mod and integer division have lower precedence than plus or minus, they do. Never prove your professor wrong :) Let someone else do it...it'll help your grade :)

Jeremy

EscapeCharacter
09-16-2001, 11:35 AM
finals :(, but they are over now :)

Niminator
09-17-2001, 06:58 AM
Damn. Too late. Guess I'm going to get an f now.

Did the same thing in OOP. The professor said that we were to place class variables at the end of the class, because that was part of the Java conventions. I just HAD to tell him I'd do it that way to get full credit on assignments, and then give him a link to the conventions page showing where variables are ACTUALLY supposed to be declared (the top, of course).

Did it through the email though, so it's not like I called them down in front of the class.

(edited to fix my poor spelling and grammar)

[ 17 September 2001: Message edited by: Niminator ]

7DeadlySins
09-17-2001, 08:24 AM
I've been busy hacking away at the source for Kannel (sms gateway) in C to get it to support some elements of the smpp v3 spec so as to make it work for a businesses here in the UK to link up to the major mobile smsc's. Aside from that, been writing some plug-ins for netsaint in perl. unfortunately i seem to spend more time writing spec's these days :-/

7DS

lazy_cod3R
09-17-2001, 09:35 AM
i have been doing three things.

firstly :
I have been working on a mechatronics assignment which bascilly plots a robots movments depending on readings from different sensors. written in C, pretty fun assignment because i have never really programmed in C just c++ so its a change, and for some reason i find C alot easier then C++.

Secondly :
Been working also on a project my friends and i would like to call the virtual colaborative network. Its basiclly like icq except that ontop of instant messaging and real time chat(Text), we are trying to implement voice chat, we have also got working real time editing of images so basiclly one user can open an image on his computer and all other users will also be able to open that image and draw on it, a change on one user will reflect on all the other users with the same image open and lastly code editing which is visable to others on the network and using the system, so you can see what team members are doing.
Right now i think the biggest challange is getting the voice chat to work.
This is being written in *(gulp)* C# :)

I want to stop programming for a while and just relax, but to many things to do this sem :(

nanode
09-17-2001, 11:14 AM
At work I've got a min-design challenge of implementing a MVC architecture into a webpage. As most of you probably know, http is stateless and has no idea how it got there or where it could go.

To an extent you can fake this out with URL queryStrings, but that's kludge. Right now I'm working on a Java session bean that can persist my data set for a user session. This should help with data integrity as well as the overhead of calling the DB everytime some "event" happens on the page.

All of this works elegantly in a standalone GUI application, but it's not as easily transferrable to a webpage paradigm (not yet understood by management) =^)

Dru Lee Parsec
09-17-2001, 11:51 AM
I just started work back at "The Bank" last week (same job I was at 10 months and 3 jobs ago). The first few days were spent getting a work environment set up. Then I started a project that will scan Java Server Pages written in version 0.9 and update them to version 1.0 (should be done today).

The week before that I finished up at SeatAdvisor where I built an applet that would show all the available seats for any performance at any venue. I then modified it to work with subscriptions. i.e. if a venue has a series of 5 shows the applet will only show the seats that are available in all 5 shows.

In the past couple of weeks I've been bitten by the chess bug again. I'm trying to learn how to actually play this game well. So I'm simultainiously studying "Logigcal Chess Move By Move", "Practical Chess Endings" (both by Chernev), "Modern Chess Strategy" by Ludic Pacmann, "Modern Chess Openings 14", and also "Reasess Your Chess" and "The Amature Mind" by Silmann.

Finaly, MKIII_Supra just asked me about my open source project so I'm going to need to post the updated code I've been working on and also set up that damn cvs server that I never got around to doing.

So I've been keeping busy.
:D

Qubit
09-17-2001, 02:49 PM
I've been writing an assembler. I've probably reimplemented 5 times (now it's in C++) and now it's almost ready...

With that assembler I've now developed a lot of parsing classes so as an aside I'm now making every possible program I can think of that has to do some kind of parsing.

BTW: can someone of you give me the name of a small database library (preferably in C++)? I'm interested in it but I haven't started on it since most libraries are way to complex...