Home | Categories | Sources | Sites | Languages | About
Note: The project has been discontinued
Paolo's Notes [Site] [XML]
Description: BA by day, sleepy coder by night...
Last Update: 20:24:40 05/26/2006

Additional Info

First Fetched: 00:18:00 01/31/2004
Last Updated: 20:24:40 05/26/2006


Free bug tracking offer
This is making the rounds... Axosoft is offering bloggers a free 3-user version of their .NET & SQL based OnTime defect tracking software (bug tracking software). For more information, visit http://www.axosoft.com/Free3UserOffer.htm.
21:59:00 January 30, 2004, Friday (PST) Source: Paolo's Notes
The fun is back
Well, I'm going on developing infrastructure code for NFFTI (yeah, I know. I'll post more gruesome details later) and I realized a simple fact: I'm having fun. It has been years since I had real fun coding, since Turbo Pascal 5.5 or the early Visual Basic 6 days. Java had never been "fun", just a tool I had to use for my job. And nobody in his clear mind would call PL/SQL a fun language or development environment... But C# and Visual Studio and (most important) the incredible community around them is making the task of sitting down and pounding code a non-dreaded occupation anymore. I have some people to thank for this so, in perfect Academy Awards style, here they are in no particular order: Jamie Cansdale, Peter Provost, John Bristowe, Eric J. Smith, Joshua Allen, Jason Moore, Dominic Pease, Kurt Mackey, Paul Hill, Peter Dampier and all the other people I don't know personally but are doing an great job of pushing forward with the community. Oh, and thanks to Robert Scoble to ...
08:49:00 January 28, 2004, Wednesday (PST) Source: Paolo's Notes
In the comments on my previous post, John Bristowe gently offered his help to guide me across the Dead^H^H^H^H WSE 2.0 Marshes... Fool! He didn't know what was expecting him! But in the end, he provided me with invaluable knowledge, tips and simply buckets of code big enough to drive into my thick skull a faint glimmer of comprehension about this whole new way to deal with web services. So, what was my initial take, based on a cursory reading of the few web pages I was able to find? A procedural based, hardcoded approach to the authentication/signature/authorization/encryption problem. Plenty of code (to be tested) and lots of possible failure points. Plus, it wasn't really working anyways... So John introduced me to the marvels of Policies. A declarative approach, how novel! Basically this removed all the ugly plumbing code from my web methods and put all the business knowledge about, say, authorization into a series of XML files that can be edited at runtime. So, what about some ...
21:40:00 January 21, 2004, Wednesday (PST) Source: Paolo's Notes
NFFTI architecture and experiments
The NFFTI administration engine is composed by a set of web services that will be accessed by a web interface and a rich client application. To start experimenting with the overall architecture, I generated a series of Data Access classes (using CodeSmith with my OleDbDALC templates, not yet released) for some tables, namely Users, Groups, UserGroups (cross reference), PropertyTypes and UserProperties (another cross reference table). Once these were generated, I put them in a Data Access Layer project along with a Global class that will deal with the connection strings. After verifying that all these classes were working fine, I created a Business Objects project where I dropped a UserSet class. This class will manage in a single entity user data, properties and the groups to which the user belongs. These two projects are simply class libraries. To interface them to the outside world I had to create another project (Nfftiws). This is a ASP.NET Web Service project that, for the ...
13:24:00 January 21, 2004, Wednesday (PST) Source: Paolo's Notes
WS-I thinghies
So we have Nfftiws (the web service that deals with Users). We can call the GetUser method by passing email and password and get all the user's info and... Now wait a second. Passing email and password to a web service? Using SOAP? On the public internet? You have to be quite brave to do that... So, what can we do to avoid snooping, spoofing and general bad things happen to our web service? Luckily there's an industry-wide effort going on to attack these issues called WS-I. There are cross platform protocols for security, authentication, encryption, etc... Microsoft's implementation of these set of protocols is provided by WSE 2.0 (now in technical preview stage). Once you download and install it, you have a new entry in the pop up menu that comes out when you right click on a project, where you can enable WSE and set a lot of other options. There is a big downside. The documentation is... uhm... how can I say this in a nice way... lacking? :) So I had to dig deep into Google and ...
09:28:00 January 21, 2004, Wednesday (PST) Source: Paolo's Notes
Hashtables and Web Services and .NET. What's up with that?
The UserSet class was supposed to be implemented like this: public class UserSet { public NFFTI.User user; public NFFTI.GroupCollection groupCollection; public Hashtable propertyCollection; .... } propertyCollection being (quite obviously) a Hashtable member that the Web Service could access by using the name of the property (ex: string fakeID = us.propertyCollection["Fake ID"];). That makes sense, right? Except that Hashtable does not implement IXmlSerializable, thus rendering it useless as a member of a class that's supposed to be returned by a web service method call. Uhm... After a bit of discussion with my partners in crime, Dominic Pease and Jamie Cansdale, we found a sample SerializableHashtable class on Usenet that implements both Hastable and IXmlSerializable. That looked perfect and it worked, except for the fact that the unserialized member would come out as a DataSet, and not an Hashtable. I'm sure that it would be possible for a better developer than me to modify ...
08:55:00 January 21, 2004, Wednesday (PST) Source: Paolo's Notes
And just to finish the day...
The mandatory (temporary) logo: [Now Playing: Jamiroquai - Emergency On Planet Earth]
19:34:00 January 15, 2004, Thursday (PST) Source: Paolo's Notes
By the way, the engine upon which the two websites will be built is going to be called NFFTI. Yes, it's an acronym. No, you are not allowed to know what it means, yet :)[Now Playing: Duran Duran - Hungry Like a Wolf]
19:08:00 January 15, 2004, Thursday (PST) Source: Paolo's Notes
New year, new impossible project
As usual, new year resolutions include -in some way or another- the nebulous objective of making more money. With the objective firm in my mind, I had to start thinking about a way to achieve it. I wouldn't mind getting rid of a chunk of my house mortgage and that requires some serious work to be done. After a couple of seconds of consideration, I selected a couple of web projects I had completed three or four years ago and that were in dire need of some technological updates. I contacted the client about it and he sounded quite happy with my proposal, but nothing is yet decided, so I'm in the enviable position to start thinking about the solution without having too much pressure. Neat, eh? Anyways, the websites are marketing/community tools for a company that deals with the entertainment industry. They have to be able to post articles, stories and news, control the submission workflow, provide downloadables and discussion forums, event calendars, RSS feeds. They have to be able to ...
12:53:00 January 15, 2004, Thursday (PST) Source: Paolo's Notes
XP SP2 woes
Finally got my PDC03 DVD set! I put the first DVD in my laptop, let it do its Autorun magic and the list of session tracks gets displayed in IE. Select a track, select a session, click on Start Session and... Unh? “Unknown Zone”? How do I set my security settings for the Unknown Zone?
01:19:00 January 14, 2004, Wednesday (PST) Source: Paolo's Notes
RSS in Longhorn
Dave Winer asks what do we know about an RSS aggregator in Longhorn. Scoble (in the comments for that posts) replies “rotates through your RSS feeds and displays them like a sign in Times Square displays the news“. From what I saw, this is a sample “tile” for the system sidebar. It is not included in the build released to the developers, but it was demoed quite often during the conference. We have to keep in mind that, at this stage, Longhorn is still in a technical preview phase, where most of the facilities we're expecting from a modern OS, like an intuitive editor for the feed and preferences, are not implemented yet. I think the list of feeds is an OPML file, maintained by hand in a specific location :) This is a picture I took during the first keynote, and it shows a couple of headlines from the MSDN RSS 2.0 feed.
03:32:00 November 15, 2003, Saturday (PST) Source: Paolo's Notes
VS.NET Tips & Tricks notes
This is a BoF session where attendees and presenters (from Canada, yay) share neat little things (some known, some obscure) about working in VS.NET. Creating a class that implements an interface, pressing Tab after the interface name will create stubs for the methods of the interface Ctrl+] jumps to the next end block. Ctrl+Shift+] selects the block. Ctrl+Shift+I enters incremental search. Ctrl+Space (sometimes Ctrl+J, depending on the language) enters IntelliSense. In command window you can create aliases (alias command) to access all menu entries In command window, immed enters immediate mode. Change Dockable from the context menu of the Output window to put it into the source panes. Select New Horizontal/Vertical Tab to split the source window to view two or more files at once. Ctrl+Tab navigates through open source windows (Ctrl+Shift+Tab navigates backwards) Clicking Mark All in the Find dialog will create a bookmark for each entry found. Alt+Drag selects arbitrary blocks of ...
13:03:00 October 26, 2003, Sunday (PST) Source: Paolo's Notes
.NET Rocks
I'm in the .NET Rocks panel/session/thinghie. No beer, unfortunately. Lots of interesting hosts, from Scott Hanselmann to “the blogger himself” Robert Scoble.
10:17:00 October 26, 2003, Sunday (PST) Source: Paolo's Notes
Karate Kid 2
Going out to the conference centre, I ended up in an elevator with Mr. Miagi. Again. No, I didn't get a picture with him, even if my goal for the day was to have a picture taken with someone famous. I guess Pat Morita qualifies as famous, and given that he's staying at the same hotel as me, I will maybe have a chance tomorrow. He's not a movie star, but I accidentally met Peter Provost. Again, no pictures. I have to do better with my wife's camera, or she'll not let me use it ever again.
06:48:00 October 26, 2003, Sunday (PST) Source: Paolo's Notes
Tech needs in LA
I am looking for a nice case for my Pocket PC. Any suggestions where? Maybe a quick run to Fry's if anyone wants to share a cab ride?<img src ="http://weblogs.asp.net/pmarcucci/aggbug/33634.aspx" width = "1" height = "1" />
06:44:00 October 26, 2003, Sunday (PST) Source: Paolo's Notes
Contact me!
This is what I would look like if I still had the goatee. I thought it was making me look too evil...
03:41:00 October 26, 2003, Sunday (PST) Source: Paolo's Notes
Art and sessions' XML
So, I took a picture last night. You have to trust me, it's real Art. No, really! And it looks like the mymsevents.com site doesn't embed the sessions' XML data into the search pages anymore, so there's no immediate way (except for major coding that looks highly unlikely at this time of day) to retrieve updated sessions data into the PDC Session Browser application.
01:17:00 October 26, 2003, Sunday (PDT) Source: Paolo's Notes
In LA. Like everybody else, it seems...
So the flight was pleasurable, except for the dense clouds of smoke from brushfires around LAX, and the hotel doesn't have free wireless. Oh well. On the shuttle from the airport to the hotel I met Shaun Walker, the mantainer of the DotNetNuke portal project. He was flying in from Vancouver. Then, while having a beer with some 'softies, Mr. Miagi sat at the table near us. I pushed back with some effort the urge to do some karate moves and simply chalked these two encounters as good omens. Tomorrow I'll bring the camera with me and try to get a picture with someone famous. And at 6pm, the experience will begin :)
16:06:00 October 25, 2003, Saturday (PDT) Source: Paolo's Notes
Constantly updated sessions data
Just a reminder that the sessions XML datafile is constantly being updated with the latest info. Just download it according to the instructions in the previous post and be up to date like all the cool boys! (and girls, of course)
08:03:00 October 22, 2003, Wednesday (PDT) Source: Paolo's Notes
Offline blogging tools
I was looking for offline blogging tools this weekend, just to make sure I have a nice writing pad during those long PDC sessions :) After a bit of mostly unlucky research, I installed w.bloggar (v3.02). While the functionality of the tool is impressive, it lacks in a couple of areas that I hoped were covered. First of all, there's no WYSIWYG editing. That surprised me a bit, as I was under the impression that it would be a must have feature. Then trying to drag and drop images into the writing area would create an object (in the OLE sense) instead of just an <img> link. Given the settings panel where you set up the FTP info for upload, I hoped I could just drop an image and then the software would take care of removing the local drive path, replace it with the one in the FTP settings and finally upload the image to the FTP server. Maybe I'm not using it correctly, but it doesn't seem to work. Anyone has another suggestion for a blog WYSIWYG editor with drag and drop capabilities? ...
07:58:00 October 21, 2003, Tuesday (PDT) Source: Paolo's Notes
PDC Sessions update!
New sessions, new speakers, oh my! Go download the new events XML datafile, then copy it to the folder in your Pocket PC, remove the PDC.sdf file (not the MyPDC.sdf!) and run the PDCSessionsBrowser application. It will take a bit to create and repopulate the database but your selections will not be lost (unless, of course, you delete the MyPDC.sdf file, but I told you not to do that...) Edit: due to the well known demo effect, a new version of the XML datafile has been uploaded at 10:06PM PST :)
14:53:00 October 20, 2003, Monday (PDT) Source: Paolo's Notes
Windows cron
What would be the best way to execute an .NET executable every, say, 3 hours? And how should I build it, as an .aspx with no output? Suggestions are welcome :)<img src ="http://weblogs.asp.net/pmarcucci/aggbug/32662.aspx" width = "1" height = "1" />
03:39:00 October 20, 2003, Monday (PDT) Source: Paolo's Notes
PicBlog/blog tools integration
This is a cry for help. Some time ago I wrote PicBlog, a small tool to upload pictures with descriptions to an FTP site. It works pretty nicely and it doesn't require any server side executables to display the albums. Just pure, unadulterated HTML. Now, along with pictures and pre-rendered HTML pages, PicBlog uploads also an XML file with all the relevant data. I've received a couple of requests asking me how to integrate it with a blog tool (.Text, DasBlog, Movable Type...) but right now I don't have a Flashy Insight (tm) and a Brilliant Idea (tm) on how to do it. So, I'm asking to blog tools developers to chime in and comment on how this integration could work. Thanks in advance :)<img src ="http://weblogs.asp.net/pmarcucci/aggbug/31919.aspx" width = "1" height = "1" />
02:20:00 October 14, 2003, Tuesday (PDT) Source: Paolo's Notes
Little fixes
After a comment by an early adopter, I fixed the issue of multiple speaker entries in the search form. I'm still working on a decent search by date/time UI, I tried loading all timeslots into a combo box, but somehow it doesn't look right. Any suggestions? Oh, the updated exe is available here, just right click to download and copy it to your device.
17:21:00 October 13, 2003, Monday (PDT) Source: Paolo's Notes
PDC Sessions Release 1.0
Well, version 1.0 is done. Get the executable and the datafiles here, and remember you'll need Sql Server CE 2.0 installed on your device to use this application. More details later, now I have to fix an Asheron's Call plugin written in VB6 :) In the meanwhile, make sure to let me know if you like it and what would you like to be improved or changed. Edit: I've added a VERY simple installer, this will not check for the presence of the .NET Compact Framework, or the Service Pack 1, or SQL Server CE, all of which have to be installed in order to have a working solution. Oh, and disregard the “My Company” thing displayed by the installer, I've yet to figure out how to change it :) And, for whoever is vaguely interested, the problem with the Asheron's Call plugin was brilliantly solved by my wife, after Dominic Pease pointed us to the stupidest XPath function W3C has ever released. (translate, anyone?)
15:07:00 October 12, 2003, Sunday (PDT) Source: Paolo's Notes