inicio mail me! sindicaci;ón

Archive for July, 2004

Crap sites

Suppose that I’d like to buy a PDA, suppose the PDA I’ve chosen is the XDA, suppose that I use the best browser out there (no not Internet Explorer, I’m not used to surf with security holes). I cannot do it… why? Because “This website has been optimised for Internet Explorer 5+ and Netscape 6+. We have detected that you have an older browser installed. Please update to the latest version browser to view this website.”.. So IE is older than mine (Firefox 0.9.1)… what’s the point? Learn the fuc**ng web standards…or lose customers.

The site: http://www.my-xda.com/

Shame on you, shame on you.

No I’ll go buy another PDA ;)

Atom.NET 0.4.3

Atom.NET 0.4.3 is out, here are the major changes:

  • added xml:base support
  • merged XPathNavigatorReader.cs and XmlNamespaces.cs from mvp-xml library
  • Utils.cs: added a public GetVersion() method to obtain the version of the assembly at runtime
  • fixed a bug in AtomPersonConstruct parsing
  • AtomFeed.cs: added a Uri property for an easy identification of the uri of the feed
  • AtomEntry.cs: added a Uri property for an easy identification of the uri of the entry
  • added Load(System.Uri) for both feed and entry element
  • updated nant build file
  • various bugfixes (see the cvs changelog)


You can find the detailed changelog here.
As usual: homepage, project page, download.

Adding support for Xml Base to Atom.NET

Before making a new release of the library I wanna try to add the support for Xml Base. The problems are described in the final part of the recommendation:

The XPath [XPath] data model preserves neither base URI information nor the boundaries of external entities and thus is insufficient to support resolution of relative URI references within these entities to be resolved correctly. This includes relative URI references in xml:base attributes.

So, since I heavily use XPath I have to think a way to handle it… maybe I could track xml base attributes manually and add their values to compose the absolute uri… I’ll think :)



UPDATE: xml:base support has been committed into cvs with a lot of bugfixes :) Refer to the changelog for the news.

Debugging and .NET

Everybody is happy about new cool debugging features of VS2005, but as I’m used to do, I don’t think only about features coolness but I ask myself “why” and “what”. So let’s think about this debugger mania. I think that the reason that everybody in .NET won’t live without an upper first class debugger is the “static and strong typing” that quite every .NET language has, but this is not the main reason. The big problem are behaviors, if someone in his development processes heavily relies on debugger introspection to find bugs, errors or simply to “introspect” things… so he will keep on forever… but I (and not only me, also Robert Martin thinks that) think that the less debugging you do the better you feel. So which is the alternative? Repeat with me: TDD, TDD, TDD, TDD, TDD, TDD (and so on).
Please read here: http://c2.com/cgi/wiki?TestDrivenDevelopment

Partial Types

In the local .NET UserGroup the founder of AgileMovement.it asked what’s the general opinion about .NET2.0 partial types, so I’ve posted mine, but since the post is in italian I’m going to translate it in english for my blog:

IMHO partial classes have to be taken with the dropper (and with the magnifying glass too…). I’m not agree when they are defined a “revolution” because in my opinion are a “workaround” to the problems of code generators (or useful in those contexts). Let’s the scenarios:

- cvs: nowadays there are problems to handle cvs with a team who work on the same class, problems that IMHO wouldn’t be solved with partial types because if (as the good Murphy teachs us) something could go wrong, it will with partial types too, I explain myself: suppose that John and I are working on the same class (I keep on asking myself why someone else and I should work on the same class but ignore it and go on…); if something goes working the integrity of a single file is underminded, that thing doubles (or worse) with partial types. After all it’s not a big problem… ;)

- inheritance and OOP: maybe I’m a traditionalist but I don’t see how partial types could fit (here in the italian version there’s a pun but it’s impossible to translate it) in the OOP architecture… inheritance? No because I don’t inherit, code reuse? No because there’s no need to play Lego with a software… admit that I’ve mis-intepreted the big plan behind partial types and that they are a revolution… revolution of what? To avoid using Façade? Mmm IMHO the problem has to be resolved at the root (that’s what I meant with “workaround” at the beginning of the post)

- code generators: likely the only purpose of this “revolution”, maybe tools like LLBGen, datalayers generators or something else could benefit :)

- VS.NET, WindowsForms and other stuff: in my opinion with this point of view are more than an error because they step over things like MVC and so on; I didn’t see how VS generates the code with partial types but I have the idea that we could end with “meltin pot” partial types to throw in all the source code that a developer should not see. Much better approaches like XUL, Glade, XAML (if my mind don’t play tricks on me they use partial types under the hood, but they don’t expose them to classes users) and so on.

So… partial types? Yes but the lesser the better. I’m in favour for XAML and for code generators, a little less for Windows Forms and to the direct exposure to programmers.

Bye

Atom.NET grows with Mvp-Xml

Atom.NET (the cvs version, but the new release will be here soon) grows with the integration of part of the Mvp-Xml library, an effort made by various Microsoft’s MVPs to enhance .NET System.Xml support. Thanks to Daniel Cazzulino (XML MVP) for the support.

I’ve also added an example made in VB.NET by Russell Lindell. See the examples page.