April 7, 2007 at 1:39 am · tags: Atom AtomNET DotNET Opensource Python Syndication XML
I decided to write this post just to get things straight and recall some memories of the past.
Since I still get emails about Atom.NET I think it’s time to say it out loud and clear: I don’t care about it anymore but I still think Atom is a good idea, though
I repeat: I don’t have anything, whatsoever, to do with the library anymore. I sold it years ago to ToolButton Inc. so please just ask them for support or if they’re gonna release something anytime soon.
The only reason why I’m still listed in the SourceForge project page is because I can’t remove myself.
Now let’s recall those memories I was talking about.
I started Atom.NET at the end of 2003. At that time I was foolishly hooked up by things like Microsoft .NET and XML. Now I think that’s one of the worst matches ever but let’s not digress…
In 2003 MS .NET was two years old I think and I was on my way to change my desktop operating system from Windows to Debian Linux but one day the hype got me and I gave C# a try and soon after that I postponed my switch.
Maybe I was searching for a reason to stick with Windows (which I didn’t really like anyway) and since the unborn Ubuntu or Apple’s OSX were not on my radar yet, I stopped the clock and gave the new language a try.
I soon became one of the most enthusiastic contributor in the Italian .NET user group jumping from one conference to another, from one workshop to another and post to newsgroups or forums and post and post and learn and post.
I even happened to receive a kind letter from Microsoft Italy for my contribution with a nice book bundled to drain the thirst of knowledge I had.
.NET was all I was searching for to develop applications on Windows. But some things were thankfully going to come in the way: Python, OpenSource and the healthy part of my brain.
In the second quarter of the year 2003 I did find a job as a .NET developer in a Windows oriented Web firm (I said it all) and although I wasn’t really shining as a .NET coder due to the newbieness on the field they hired me right away to create ASP.NET custom controls and something else.
The people there were mostly great and young but I soon realized my way of thinking was miles away theirs. They didn’t really care about cross platform, standards support, Linux, OpenSource, Python and I started feeling bad with myself so I guess my performances at work dropped down and after a while I resigned. It was a summer job anyway so no one complained.
That experience taught me something: never, never ever use only proprietary technology that can lock yourself in somewhere unless you have no other choice. At least this is Lawrence’s opinion.
I know there’s gazillions of people perfectly happy with proprietary stuff and I’m too because I use a Macintosh now and I’m neither a Microsoft zealot nor a FOSS one. I choose technologies according to my personal tastes, technical reasons and adherence to public domain standards.
I didn’t, by the way, stop to code in C# but I had been hired in a FOSS based startup to work with Python, Linux and all the things I technically enjoyed the most. So my language for fun became the one to work with and C# replaced it (with not the same fun ratio) because of what’s going to become the first library to handle Atom in the .NET world.
Atom.NET was already in my mind and on paper but I honestly admit I don’t remember the exact moment when I started coding it.
The reason why I did that was to learn something more from .NET, make use of the many books I had (most of them not purchased by me) and bring Atom to the .NET masses. They were the days of the rising of the Atom syndication format so I joined the bandwagon and created a library to handle Atom 0.3 (1.0 came later in time).
I think the first implementation was based on .NET’s XmlReader, a pull parser, but later I switched to XPath and a little plugin architecture.
I made the first public release in January 2004 with only a feed generator, then after a month I wrote the first parser, then after 20 days I rewrote it basically from scratch introducing a plugin architecture, using XPath and something else I don’t remember. I also enhanced my library with some custom XML stuff made by MS MVPs sending a couple of patches.
The latest public release was in July 2004 (I was already caught up in the Python world).
I really felt better after leaving the dotnetty-we-all-think-xml-is-the-cure world.
A year and a half later a Canadian private company, Toolbutton Inc., offered me money to sell them the library and the intellectual property. Since I had no use of it or .NET anymore I soon agreed and in December 2005 Atom.NET was no longer mine.
I could have sacrificed a couple of lambs to the gods but I thought it was too much
The library before the acquisition ended up in various places: an Xml SDK, FeedJumbler, inside a feed reader and various articles. It was quite a success to be the first project of a .NET newbie. It lasted one year and a half.
One year and half without any kind of community feedback. That was absurd because I had tons of download and usage testimonies. But hey, I didn’t care and I surely do not care now. The MS .NET community didn’t get the OpenSource spirit and it seems they still don’t get it very well.
I’m now happily using other technologies and you all know what I’m talking about.
March 19, 2007 at 11:57 pm · tags: DotNET
Roger Johansson just said:
ASP.NET. Oh my, where do I start. As long as the default Visual Studio controls spew out nonsense markup that is completely dependent on JavaScript to work, well, there will be no progress among the myriad sites created by the drag-and-drop cowboys that call themselves programmers. This needs to be fixed ASAP.
It reminds me of something I ranted about 4 years ago: avoid ASP.NET.
So, let’s see. Four years (or four ages, is the same on the web) and they’re still at the same spot
Oh my.
January 20, 2007 at 2:26 pm · tags: DotNET Misc Python Ruby Web
Tim O’Reilly published his analysis about the market of computer books’ sales.
With this kinds of trends you can have a feeling about what leads in the market categories and what doesn’t.
I’m not surprised seeing Ruby (+53%) ahead of Python (+37%) and Perl (-21%), nor to see how books about the web design and development are on the edge. What surprised me most is seeing a +106% regarding SQL Server (!!)… it should be connected to the spread of .NET (that has surpassed Java).
Nice to hear Mac OSX books sale is the only positive trend
August 23, 2006 at 1:14 pm · tags: DotNET Python
As a former .NET developer (ok don’t tell it to mama!) and Italian native speaker I can amuse myself not only with the strangeness of the anglo-saxon community but with the Italian community’s also! That doesn’t sound like a privilege, though. Gotta rewrite this paragraph one day.
We have the biggest .NET user group in the world as far as I know with thousands of subscribers and MS Italy endorsement. This community has a blog aggregator like our Planet Python and yesterday I went through a post that puzzled me a bit.
The title of the post is (translated): XAML: is it worth the effort?. The Italian .NET MS MVP named Corrado Cavalli responds to his reader making the point about the brand new XML format to handle application user interfaces in .NET. The answer is, obviously, yes but let’s see what I get (with my “pythonized” eye) from it with a F-A-K-E conversation:
.NET Lover: XAML is cool, but by now you have to hand write the GUI in XML.
Lawrence: no way dude, XML is for the machines, not for the humans. Look at what happend with that shitty specification named SOAP and all the WS-* bandwagon. XML is good because is text and machine readable. Glade and Gazpacho, our designers of choice spit out XML from the dawn of the world. GTK, QT, Cocoa, you-name-it. Everybody has an interface builder!
.NET Lover: Believe me Lawrence, you don’t get it, there are at least 2 Microsoft interface builders but, hey, at the 1.0 version they will be incomplete.
Lawrence: Fine to me, I hope someone will explain the meaning of alpha, beta and 1.0 to MS engineers one day. Anyway, so now we have not one, but two builders! You said I had to struggle with angle brackets all the day to do the hello world demo. You liar!
Read the rest of this entry »
December 30, 2005 at 7:58 pm · tags: AtomNET DotNET
I write this post to notice that Atom.NET is no longer mine. It’s property of Toolbutton, Inc. in Edmonton, Canada.
If you have any kind of requests about the library, ask to the support service of Toolbutton, Inc.
December 6, 2005 at 10:28 pm · tags: DotNET DotNETvsPython Python
Michele Bersani showed a very simple example of FTP uploader using a third party library (in .NET 1.1 you don’t have any FTP support at all) and hence I wrote a Python version.
Here is his script:
Read the rest of this entry »
December 4, 2005 at 1:14 am · tags: DotNET DotNETvsPython Python
06 Dec 05 - UPDATE: with this post I start a series of posts comparing scripts in .NET (C# or so) and Python (CPython)
Michele Bersani of the local .NET user group wrote a basic use case of .NET 2.0 HttpListener class but he states in his post that (I translate from italian) it works “only under Windows XP SP2 or Windows Server 2003“. What a pity!
Hence I wrote a Python similar version that runs on quite all platforms (Windows, Linux and so on).
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
import webbrowser
class RequestHandler(BaseHTTPRequestHandler):
def _writeheaders(self):
self.send_response(200)
self.send_header(‘Content-type’, ‘text/html’)
self.end_headers()
def do_HEAD(self):
self._writeheaders()
def do_GET(self):
self._writeheaders()
self.wfile.write(
“”“<html><body><h1>This is the HTML body</h1></body></html>”“”)
address = (‘localhost’, 8765)
print “Connected on: %s:%s” % address
server = HTTPServer(address, RequestHandler)
webbrowser.browser = “iexplore.exe”
webbrowser.open(“http://%s:%d” % address)
server.serve_forever()
Just tweak the webbrowser part for make it work under all browsers.
06 Dec 05 - UPDATE: Valentino Volonghi wrote a version using the Twisted Matrix framework: A Web server in Twisted
July 13, 2004 at 11:38 am · tags: DotNET
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
July 9, 2004 at 6:54 pm · tags: DotNET
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
July 4, 2004 at 12:09 pm · tags: AtomNET DotNET
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.
Next entries »