in

ASP.NET Weblogs

SlavoF's WebLog

A Humble Addition to .NET Weblogsphere

March 2003 - Posts

  • FTP Upstreamer project

    Mitch Rupp in his weblog post FTP Upstreamer project wrote:

    I want to gauge interest in a new project. How many of you out there (and I know there are something like 7 of you :) would actually use a utility that did the following:

    • Had a list of local directories and FTP servers/paths
    • Monitored those dirs (timer or file change notifications) for changes.
    • Upstream new files (based on file times) to the FTP server. This wouldn't be a full sync but would rather be a copy. It would never delete anything from the server.
    • Has a tray icon to let you know what is going on.

    BTW, this is a feature stolen almost verbatim from Radio. I think that it would be useful to break it out into its own utility.

    The real reason I would want this is that frickin' VS.Net doesn't have a way to deply an ASP.Net application to an FTP server. You can copy it or use FP extentions, but you can't FTP that guy up there.

    I would include source and an installer for this guy.

    If you are interested, email me at eightypercent at bedafamily.com and I'll think about putting something together.[ Joe Beda's EightyPercent.Net ]

    Count me in.. I have been wishing for a utility with this feature set for a couple of months...

     Well, this will be definitely nice project to working on.

    Maybe it is worth to note that Dejan Jelovic's  have similar command line utility SiteUpload, which do similar thing - upload web sites via FTP.

  • Looking for best practices for producing daily builds, versioning, testing, ...? A good book may help.

    It looks like that many peoples these days looks for their way through various SCM topics such as effectively use of source control systems (such as CVS, SourceSafe or Perforce), producing daily builds, continuous integration, versioning, unit testing, and ask about best practices with regards to these topics.

    Certainly, it is not easy, while starting with this and dealing with million details, find right way out of all this.

    "A good book may help" as one of my professors on college used to say. So, here they are.

    Try look at:

    Software Configuration Management Patterns: Effective Teamwork, Practical Integration
    by Stephen P. Berczuk, Brad Appleton

    Brad Appleton also have a good wealth of SCM links on his web site. A look on his ACME (Assembling Configuration Management Environments) project may be in interest, too.

    As for best practices for testing I found interesting this book:

    Effective Software Testing: 50 Specific Ways to Improve Your Testing
    by Elfriede Dustin

    Good resources and excellent books.

    UPDATE:

    Both, above mentioned, books can be read on Safari.

  • Roogle. I think it is defnitely more than just a 10 hours of odd hacking

    Just found Roogle (thanks Robert). Looks interesting.

    Well, it not so hard to get idea of  "RSS Google", and when we mix all day snowing, nasty Windows crash and little dose of frustration then man is capable of everything. But seriously, it's great and really promising work for now (now index more than 10000 RSS newsfeeds and growing), and I definitely will watch for future development of this. Just subscribed for The Roogle Blog. Just hope that Scott (Johnson) will add also RSS feeds from DotNetWeblogs.com weblogs. Hey Scott, if you read this, OPML is accessible from DotNetWeblogs.com main page.

    Maybe sounds like overstate a little, but it looks like that something new is emerging. RSS newsfeeds are different from HTML-based web pages. News Aggregators are different apps comparing to web browser, with different possibilities and different patterns of use. Apparently (I saw this on myself, too) use of newsfeeds aggregator apps change (or at least start changing) way how we gathering content (not only news) from web. 

    Personally I think that RSS format isn't just for publising info about changes on some website (although for now I do not heard of web site that provide just RSS newsfeed without HTML-based equivalent for browsing via browser, but in future who know). As I wrote on last Friday in my weblog post Changes started or few thoughts on RSS emergence RSS, imho, contain much more potential. And while looking on projects like Organica or Roogle it seems that I am not only one who thinks so.

    UPDATE:

    It seems that DotNetWeblogs.com RSS newsfeeds are already indexed on Roogle.

  • Rounding numbers with .NET

    Everyone can round numbers, right? At least I thought I can. "What's happen?" you may ask. Lets go for example.

    What do you think you got from this:

    class MyRoundings
    {
       static void Main()
      {
          Console.WriteLine( System.Math.Round(2.15,1) );
          Console.WriteLine( System.Math.Round(2.25,1) );
          Console.ReadLine();
      }
    }

    If you think that you get (naturally):

    2.2
    2.3

    then maybe it is time when you should try this yourself. Really.

    Sometimes long, long ago I was taught that rounding works somewhat like this: "under five down, five and more up". And that works. Works in Excel, T-SQL, JScript.

    But it seems that .NET Framework Library System.Math.Round() call work somewhat otherwise. But how?

    Quick look into MSDN Library (one must do sometime even this when everything else fails) put some light on this.

    First take do not help much. Description on common page for  System.Math.Round() methods reads:

    "Returns the number nearest the specified value."

    Specific help page for given method's overload System.Math.Round(Double, Int32) helps more. It reads:

    Return Value

    The number nearest value with precision equal to digits. If value is halfway between two numbers, one of which is even and the other odd, then the even number is returned. If the precision of value is less than digits, then value is returned unchanged.

    Remarks

    ...

    The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding to nearest, or banker's rounding. If digits is zero, this kind of rounding is sometimes called rounding toward zero.

    Well, so they use some different rounding algorithm. But why they do not use same with for all products/libraries?

    Few minutes later I found this useful MS KB article (Q196652) that completely clear this up.

    So, conclusion.  Algorithm I know so far is called "symmetric arithmetic rounding" and in .NET FCL is used "banker's rounding". There are few others rounding algorithms, too. It seems that for example Java use "asymmetric arithmetic rounding".

    Well, again I learned something new.

    UPDATE:

    btw, there is, in .NET Framework library, also method System.Data.SqlTypes.SqlDecimal.Round() which mimic behaviour of T-SQL ROUND function (except  for such freaky calls like "ROUND(748.55, -3)"), so it use "normal" symmetric arithmetic rounding algorithm.

  • Changes started or few thoughts on RSS emergence

    Chris Hollander in his weblog post RSS emergence wrote:

     This may just be one of those history making posts....

    Scott Guthrie:

    I feel somewhat guilty that the www.asp.net website doesn't publish its content yet via RSS (examples: article of the day, new control gallery submissions, frequent posts on the forums, etc).  We need to get that changed (I'm putting it on my long list of things todo).

    First, a few dozen of us are blogging.  Then, an interesting site or two (or,dare I say, three?) start producing RSS.  Sooner or later, other sites might catch on. 

    Scott Guthrie in his weblog post New Blog Aggreagtor... wrote:

    Frankly I wasn't aware that all these "traditional" web sites provided RSS feeds of their articles and content.  This really opened my eyes to the power of RSS (I feel like something of a luddite saying that -- but oh well).  Unfortunately some of the sites I frequent still aren't RSS enabled -- but hopefully this will change soon.

    Mark Pilgrim wrote in first installation of his Dive in XML XML.com column:

    "RSS is a format for syndicating news and the content of news-like sites, including major news sites like Wired,
    news-oriented community sites like Slashdot, and personal weblogs. But it's not just for news.
    Pretty much anything that can be broken down into discrete items can be syndicated via RSS:
    the "recent changes" page of a wiki, a changelog of CVS checkins, even the revision history of a book.

    Once information about each item is in RSS format, an RSS-aware program can check the feed for changes
    and react to the changes in an appropriate way."

    Well, Mark is right. In my opinion, main strength of RSS lie in fact that RSS is XML based format. This consequently means that RSS can be manipulated programmatically. And this maked difference. It is at least hard to mining contents from general web sites programmatically, although even this may be eventually done (if you have a C# Today subscription then you may take a look on this interesting case study: .NET Web Data Toolkit).

    Chris makes note (see above) that even main MSDN web site may have RSS feed in future. Well, MSDN already has RSS newsfeed for some time now. MSDN download RSS newsfeed is very popular as well. Maybe you know Keith Ballinger. He does not have for some reason RSS newsfeed on his weblog. But no problem, Sam Ruby kindly created one for him. And there are many other similar examples too. For example, if you like to have RSS newsfeed for some CNN or BBC news (by category) you may look here.

    It seems that this is not big problem to create RSS newsfeed for something that has some internal structure. RSS format is published, manual discovering elementary structure of HTML source for given site should be easy too. Then just get web page source programmatically (by normal HTTP GET, say using C# and WebRequest class), do some elementary parsing (say using Regular Expression, there's not need to write full fledged parser), collect needed info and produce XML output of new XML feed. And then set this code to repeatedly run from some website and by this provide RSS feed.

    Only one question that came in mind with this is, what if original news producer do not like that someone create newsfeed for him. Maybe some HTML source obfuscators appears shortly :o)).

    Another idea that comes quickly to mind is what about to process all these RSS newsfeeds at large. You know, probably we all have some aggregator app which we use to manage our RSS subscriptions, but how many RSS newsfeed you able to manage/subscribe/read? Definitely, News Aggregators are relatively new tools and there is enough space for further development there, but there still be a limit how many RSS newsfeeds you able to manage yourself. There are already thousands of web sites with RSS newsfeed (either from original source or from elsewhere) and this number increases rather quickly.

    Naturally there pop-up some engines that can collect RSS feeds for you. Just look on News4Sites, NewsIsFree or on Syndic8.

    Collecting content from web sites on regular basis is definitely not new concept. Same does Google for web sites after all, isn't it?  Google even tries doing same for news. Check Google News web site.

    Automatically collect all available RSS newsfeeds and provide some sophisticated services on top of collected information package look very interesting. One thing may be some kind of intelligent search (maybe including discovery of related links too). Another area is dynamically indicating popularity of various actually discussed topics, and gathering data about these topics from weblog sources and serve it. Just two ideas out of many. Look on project like DayPops or Organica. btw, few days ago Google buy Pyra Labs creator of popular Blogger.com webloging system.

    And all this is probably only start. There will be changes. Web is changing. Way how we process information is changing. Peoples are changing.  World is changing.

  • InfoPath - make it a Dev Tool

    Clemens Vasters in his weblog post Instant Love wrote:

    Here's stuff that I wish that InfoPath was that it isn't:

    • I want (very very much!) and you all want InfoPath to be a reusable component. By all I can see now, it isn't an ActiveDocument server or an ActiveX control or has a reusable Windows Forms component.
    • I want InfoPath to be a dev tool. I want to use it with C# and VB.NET and NetCOBOL and Eiffel -- not just with Script.
    • I don't want InfoPath to be part of Office only. I want and InfoPath "filler" app. InfoPath deserves to be an integral part of Visual Studio!

    On Tuesday, I hijacked the Q&A portion of one of my talks in Helsinki/Finland to throw in a demo of InfoPath. I have never demoed any feature of Office (except PowerPoint freezing up on me). People stared at the thing in disbelief when I highlighted the potential.

    Microsoft, you have a winner there: Bring it back home to where it belongs - make it a reusable thing, make it a redistributable thing, let us make it the center of our smart client apps -- make it a Dev Tool. Please.

    +1

    Make it reusable and redistributable. Please. Make it a Dev Tool. Pretty please!

    After a few Don's posts (like this) a look for some info about InfoPath and can't wait to March 20 (see also my previous weblog post) to try it myself (just hope that they give it on MSDN Universal download for more than just a six hours...).

    Definitely potential is enourmous. Full programmability will be great. I somewhat hoped that this is matter of course. Now I feel sad a little. Maybe there is chance that we can get something as part of  Visual Studio Tools for Office.

    btw, there is similar tool (found this on yesterday and not tried it yet, so I hope I now not make a fool from myself) called  Authentic from Altova (XML Spy creators). Looks not bad. And for some reason they start give it for free last month...

  • .Net 2.0 request list? It's probably late for this...

    Pascal Leloup in his weblog post .Net 2.0 request list wrote:

    "Is it too early or can we start to build a list of important requirements for .Net 2?"

    Well, I think it is somewhat late. AFAIK, Whitbey (v2) was developed in parallel with Everett (v1.1) starting just after completing v1.0. So all important features decisions are rather already done. Maybe they still can agree to add or remove something significant based on user requests, but it is rather unlikely for now.

    btw, Microsoft already presented future changes (in v2) with regards to C# language, they also demoed ASP.NET v2 on MVP Summit 2003 under NDA (see Christian Weyer's post or this interesting post on asp.net forum). It looks like that there will be real changes.

  • MS Office Platform

    So, there will be no more MS Office. We will have MS Office System (2003 Edition).

    New direction (yes, it seems that it is not just name change) of Office looks logical. They have to do something with Office if they like to justify a new version, otherwise they may safely just release Service Packs and fixes, just as with IE.

    Paul Thurrott wrote in his article:

    Microsoft says it will publicly launch the beta 2 release of various Microsoft Office 2003 applications--now collectively branded as Microsoft Office System--on March 20, as part of the Office team's most extensive marketing program ever.

    ...

    Evidence of Microsoft's branding changes for Office were available in previous beta releases, but the Office System branding is new with beta 2. "The new Microsoft Office brand is a key element of our effort to shift perceptions of Office from a set of programs for document creation to a platform for information work that includes desktop programs, servers, and services," an internal Microsoft document reads.

    "This marks just the beginning of our ongoing effort to position the Office System as a strategic business asset and to communicate and deliver on a broader promise to the world." In addition, Microsoft has changed the names of all Office System products to reflect the new branding; Word is now called Office Word 2003 and so on.

    ...

     - Office InfoPath 2003--InfoPath streamlines and controls information gathering so that user teams and organizations can reuse data across business processes and organizations. InfoPath provides native support for XML, XML Web services, and customer-defined XML schemas, and allows dynamic rich authoring and built-in validation through a WYSIWIG environment, Microsoft says.

    Add to this fact that all parts of Office System (client apps, server apps, web services) are almost fully XMLized, add (possibility of) integration with other MS Server product (such as Exchange Server, BizTalk Server or SharePoint Server), and (last but not least) add fact that MS finishing with preparing Visual Studio Tools for Office which should allow to develop .NET managed solutions based on Office products directly from VS.NET. Well, looks like that integration between so-called "office development" and rest of development camp may at last happen. And this may open many new possibilities.

    Looks like there are many new interesting things under development there at Microsoft's labs. I think, I was never been over excited about new MS products (.NET Framework was probably one exception that proves the rule), but now I really can't wait for few incoming products. That InfoPath thing looks really interesting. RTC Server (codename Greenwich - preview should be online today!) looks interesting, too. Don't get me start about .NET Framework v2 (codename Whitbey) or about new SQL Server (codename Yukon). And there are also that Longhorn thing... Uhmmm...

    Interesting time to live (and code) in for developer. Just wish to have more time for all this...

     

  • Few more self tests

    Few more self tests...



    Take the C data type test

     [found via CoaCoaCoa]

     

     I Am A: Lawful Good Elf Mage Ranger

    Alignment:
    Lawful Good characters are the epitome of all that is just and good. They believe in order and governments that work for the benefit of all, and generally do not mind doing direct work to further their beliefs.

    Race:
    Elves are the eldest of all races, although they are generally a bit smaller than humans. They are generally well-cultured, artistic, easy-going, and because of their long lives, unconcerned with day-to-day activities that other races frequently concern themselves with. Elves are, effectively, immortal, although they can be killed. After a thousand years or so, they simply pass on to the next plane of existance.

    Primary Class:
    Mages harness the magical energies for their own use. Spells, spell books, and long hours in the library are their loves. While often not physically strong, their mental talents can make up for this.

    Secondary Class:
    Rangers are the defenders of nature and the elements. They are in tune with the Earth, and work to keep it safe and healthy.

    Deity:
    Mystra is the Neutral Good goddess of magic. She is also known as the Lady of Mysteries. Followers of Mystra wear armor and carry shields with her symbol on them. Mystra's symbol is a ring of stars.

    What D&D Character Are You?

    [found via Carnage4Life]

  • Forgot VSS admin password? No problem!

    Very interesting post appears on SourceGear Vault's maillist.

    Tried. Works. Having strange feel now. Maybe this is not so serious security problem - to do this one must have a access to server machine's file-system -- but (I do not know why), I really believed that admin password (in VSS) cannot be just removed with few keystrokes...

More Posts