February 2003 - Posts
I spent most of the weekend doing a mass conversion of a couple of forums I
help maintaining, transferring all the posts and threads from HTML files
(created by Infopop's UBB) into a database.
It's fascinating observing the weird data correlation between users and
posts. Just define some queries and the most interesting data points emerge
defining trends both in topics and time-related correlations.
Once all the posts are transferred (I'm about 30% of the way), a friend of
mine will write a Lucene wrapper around them to further enable some kind of
Megnut posts Beware the false blog software.
And falls easy prey of the infamous Microsoft
Watch editor Mary Jo Foley.
Citations have this interesting "feature" of being
selectively adapted and filtered by the listener's own convinctions. What starts
as (in infoworld)
The company may at some point expand the starter kits to
include applications such as Web logging, according to Shawn Nandi, product manager in Microsoft's Developer
Division, in Redmond ,
Wash. Web logging may be added to
the community kit, he said.
ends up, translated, into:
"You could use this (Kit) to build a Weblog,"
confirms Microsoft developer division product manager Shawn
Anyone spotting a little difference in the two
After posting the How To Create A
Service For NETnotifier story, I remembered that I referenced some classes
that would be quite difficult for you to just "invent" :)
So, here is the code
you need to drop in your project folder. And here is the config file
that goes with it, just copy & paste the key line and then modify it to
point either to your internal server or to the official NETnotifier
Once you're done with pingbacks and trackbacks, start to think about a way to backup/restore weblog contents.
It's not that I wish your server ill, but having a backup will do wonders for my peace of mind :)
Now that you've installed NETnotifier and the WinForms client, you're probably wondering... "Well? Is something supposed to happen?". Not if you haven't subscribed to any service. And even in that case, the said service should provide you with some notifications.
Ok, it was too easy to work at the first try, right?
If you configure the server to use a SQL Server database, you have to modify
the table DELIVERIES and set the field DELIVERY_IDX as an
This is a sample WinForms implementation of a client application that
connects to the NETnotifier server. To install it, just extract it to any
folders, edit the notifierClient.exe.config
file and comment as needed the lines
key="NETnotifierServer" value="http://localhost/NETnotifier" />
The http://www.netnotifier.net server is the
official server, but it's still in a 0.1 alpha version, so uptime is not really
my main concern :)
This is the actual server application. Extract the zip file into a folder,
then web share that folder with the alias NETnotifier. Now you can access the
WSDL interfaces by pointing your browser to http://localhost/NETnotifier.
You could of course, if you had a SQL Server 2000 database configured
correctly. If you don't, there are two ways to get around this little snag:
- Use the sample Access database included in the data
subfolder. To have the server using that database, comment as needed
the following lines in web.config:
<add key= "conn"value="Provider=Microsoft.Jet.OLEDB.4.0;
<!-- sql server -->
Catalog=NETnotifier;Integrated Security=SSPI;" />
Of course, change c:\\myfolder\\ to the folder where
you have extracted the zip file.
- Configure a SQL Server 2000 database. Create a
NETnotifier database in an instance of SQL Server 2000, then import the tables
and data from the sample Access database. Remember to grant dbo_owner
permissions to the ASPNET user.
To test if the application is correctly installed, point a browser to http://locahost/NETnotifier/user.asmx
and call the Login method using test/test as username/password. If everything is
configured correctly, you should receive back a return status and a GUID.
Congratulations, you have a copy of NETnotifier running.
That's kind of a mouthful, but I wanted to drive home the
point that this is VERY experimental software, in the sense that it has huge
margins of improvement :)
You can download executables and sources for both the server and the client
More details about installation in the following posts.
Sorry for the lack of updates in the last few days. I know that I promised a first release of NETnotifier by the past weekend, but I wanted the code to be of good enough quality not to be thrown away immediately :)
So, while the code is 95% complete and some beta testing is happening, I've started doing some code reviews. At the beginning of this project I laid down a vague plan and sketched the overall architecture and the database schema on a couple of pieces of paper. From there I figured out the class hierarchy, wote down the classes names in a text editor and started adding methods and properties in a hierarchical way. After a bit of manual refactoring, I had a pretty clear view of the class hierarchy and started implementing it.
Of course the first method of the first class is wonderfully documented, with comments on every line, each variable painfully described, etc etc...
The second method wasn't documented that good. I got into "the zone" and couldn't stop coding because I wanted to see this fairly involved application do something.
This means that the amount of documentation decreases in a hyperbolic function from the first method implemented to the last one. AKA, the classes from the third to the last one are pretty much non commented.
So I have to comment the code. While I'm at it, I thought it would be nice to be proactive and figure out security risks right from the beginning. Problem is, I've never done this and I have no idea where to start from. Is there a methodology to follow? Or is just pure talent and luck that make up a code reviewer?
Anyways, the system is looking good and it's going to be out in a matter of days. I suppose Valentine's out of the question, but by Sunday you will be able to subscribe to a couple of services and receive alerts directly on your desktops.
This, of course, if nothing really bad happens :)
More Posts Next page »