November 2003 - Posts

Matrix Revolutions.

Watched Revolutions without much expectation and now read this deep critique on Matrix revolutions ... hmm ..

Source : Slashdot

The reason Revolutions blows is because of the following:

* None of the questions in Reloaded are answered. How does Neo really stop the Sentinels? How did Smith enter Bane? How did he get so powerful? It's all explained away with one or two sentences. We're just supposed to accept it because it's "symbolic" of something. Reloaded seemed to treat itself like a bridge to some sort of great explanation for everything in the third movie. Guess what? It never comes! What the fuck?

* The focus is Zion. Instead of freeing the people of the Matrix, as the first one suggested, the sequels have been all about saving this dirty underground city we don't care about. What the hell happened to the people of the Matrix? It's like the movies don't even care.

* No humanity in the characters and dialogue. The movies just don't enjoy themselves. The first one had a mixture of humor and joy and was just having fun with what it could do. That's why things like the lobby scene kicked so much ass. It was like, "We've smashed the barriers of physics, now lets see what we can do with it!" And you had the fun human moments like the discussion during breakfast, the Cipher character, and so on. Neo was just a normal computer programmer who discovered the world around him wasn't real. More importantly, the movie was FUN.

Now, the sequels tried to change that story into a post-apocalyptic sci-fi epic about an iconic Christ figure who lives and dies. Which leads me to the next point...

* Nobody is freed, Trinity and Neo die, and we're left with the same situation we had at the beginning of the first movie. We've invested our attention to these three movies all for nothing. It was pointless. Why even have Trinity live in Reloaded? She should have stayed dead. It would have been more interesting to see how Neo copes with being unable to save her last time.

I'm completely disenchanted with the Wachowskis. These two guys were considered genius filmmakers after the first movie. The second one was tolerated because we assumed everything that was put in it was for a reason, but it turns out they just dropped the ball on what could have been the most groundbreaking science-fiction trilogy since Star Wars.

At least there's Return of the King this December.

Well anyway i liked the movie .. There are lots of intricate things that connect deeply with Hindu mythology and other Indian things. I particularly liked the idea about the connection between Smith and Neo ! Kewl .

And of course i'm waiting for the Return of the Kings madly :)

Link Interface 18.

1) Good article on XHTML formatting and generation using ASP.NET ! Watch this space for more on XHTML generation.

2) Sitepoint has a good bunch of articles on Website designing too ..

3) Expert Tips for Finding Security Defects in Your Code - Rob Howard

4) MSDN TV: What is WinFX -The New Programming Interface Introduced in Windows "Longhorn". Learn the object-oriented, managed API for the breadth of Windows "Longhorn" and how it relates to the work you are already doing on the .NET Framework.

5) FoodMovers : Building Distributed Applications using Visual Studio .NET - This is a series of articles on design, create, deploy, and maintain enterprise-class distributed applications.

6) An Introduction to C# Generics - Juval Lowy - I don't know how i missed this one !

7) Source : Clemens Vasters : Joe Long, the Product Unit Manager for XML Enterprise Services at Microsoft, talks about the Indigo migration story in this recorded presentation on MSDN. If you weren't at Joe's PDC talk and think you don't have 37 minutes time for this, you can still not afford to miss listening to the prescriptive guidance section starting at slide 60, if you ever have or will cross an application domain boundary with a Remoting, Enterprise Services or Web service call on the current stacks. And now leave here and go there.

Interview with Ingo Rammer

Read the Interview with Ingo Rammer on VB2theMax.. An interview about his experiences, his book and some advice to distributed (remoting) component writers.

Link Interface 17.

Software for different versions of OS and programs ..  Check this out !

And for a bunch of good links to read on ...

Read on !

Are reference types true ?

A very weird incident happened some time back and i have written in detail about it here. It is about my perception about Reference types in general and analysing whether they function how it has been perceived by developers.

This is a code forwarded by a friend of mine which triggered the argument.

using System;

namespace ConsoleApplication1
{
 class Class1
 {
         [STAThread]
         static void Main(string[] args)
         {
                 Class1 c =new Class1() ;
                 valhold v=new valhold() ;
                 c.method1(v);
                 Console.Write (v.i);
         }

         void method1(valhold v)
         {
                 int i=0;
                 v.i=20;
                 valhold vh=new valhold();
                 v=vh;
                 Console.Write (v.i);
         }
 }

 class valhold
 {
         public int i=10;
 }
}

Try to predict the result ! It does seem like another one of those C type puzzles in books but hmm .. I dont know ! Read about my experience with this here if you are interested :)

Choosing good passwords ;)

A farewell mail from one of Apple’s security professionals.

From: Derrick Donnelly <donnelly@apple.com>
Subject: Farewell !!

As some of you may already know today is my last day at Apple.  I got a good opportunity to work in the Security-Forensic space that I am going to pursue.  I will also be able to work from home and that will allow me to spend more time with my new son Noah.  As in any trip, half the fun is getting there and the best part is the people you meet along the way.  Just over 5 years ago I left
Canada
for Apple and I really did not know what was in store for me but you all made me feel very welcome.  For me coming to work in IT Security for Apple was my dream job. I have had the honor of working with some of the most talented people in the industry.  I have learned a lot from you and I had great guidance from the best boss an employee could hope for.  I am sad to move on but I know I am leaving the security in the hands of a great team!

I will continue to be a very strong advocate of our hardware and the Mac OS.  I wish you all the best and I see only good things for Apple in the near future.

If you want to drop me a line some time, you can reach me at macbuddy@pacbell.net or you can iChat with me at macbuddy@mac.com


Take care and be safe
Derrick


My final words
Remember security starts at the keyboard in front of you:

A 6 character password has about fifty six billion (56,800,235,584) possibilities and the average computer (the G5 is even faster) can try all combinations (crack them) in 2.5 hours.

A 7 character password has about three and a half trillion (3,521,614,606,208) possibilities and a computer can try all combinations in about 1 week.

An 8 character password has about two hundred trillion (218,340,105,584,896) possibilities and a computer can try all its combinations in about a year.

A 9 character password would take about 70 years for a computer to try all combinations.

They say the chips coming in about a year could half these times!  Now if you do not want to wait for next year's chip, you can always put 2 computers in parallel and half the time.  In theory you could put 365 computers in parallel and break 8 character passwords in just over a day (Virginia Tech just put 1100 G5s in parallel).  Do you think hackers have friends?

Computers have a lot more time on their hands than we do and most of the bad guys don't have jobs.  The next person asking for your social security number could be just a few clicks away from your stock options.

If you just got a chill down your back or just got a little paranoid; good, my work is done.

Use an 8 character password (9 characters is better)...  You would make this security professional very happy if you would change your passwords after you read this e-mail : )

Saving HTTP requests.

Saving HTTP requests for better debugging :

Ever noticed the SaveAs method in the HttpRequest class which is the actual Request object for a context. The SaveAs method of the Request object saves the current HTTP request to a file, which can be very useful for logging and debugging reasons. You should pass True to its second argument if you want to save HTTP headers as well. Helps in many situations when you exactly want to know what the header for the request looks like :)

              Request.SaveAs "c:\myrequest.txt", True

 

The saved file contains something like this:

 

              GET /Play/RequestForm.aspx HTTP/1.1

              Connection: Keep-Alive

              Accept: */*

              Accept-Encoding: gzip, deflate

              Accept-Language: en-us

              Cookie: LastVisitDate=4%2F11%2F2003+5%3A02%3A46+PM; ASP.NET_SessionId=ee4mi0ugensntgvkfjt0v4nd

              Host: localhost

              User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3512) 

 

Happy Reading !

Link Interface 16.

Lots and lots of work lately ... Cooling down a bit now. Not been reading blogs too and so havent been able to give any links till now .. Heres a bunch of links on which i've been doing some reading ... Lots of them are about languages and design and from Artima !

  • Another interview with Anders Hejslberg .. Now he details about DLL hell and making different version coexist without any problem by providing a definite identity to Interfaces .. Definitely a good one ! Also find another old interview of his at OReilly !
  • An interview by Stroustrup where he talks about the design of C++ code and the level to which a language can utilise OOPS by not getting too realistic with the actual picture of the world in the code ... Gives lots of insights into designing classes and data structures too .. Check it out ! Amazing links to his interviews here also ... Take some time off and read them !
  • There is a new Mailing list for Longhorn topics now at Developmentor ! Subscribe here !
  • Incase you've never seen this, read on about the hundred year language by Paul graham .. He's got lots of articles on Spam too !
  • Object Oriented Design explained !
  • Lots of ideas on XML processing in Java but can be easily extrapolated for .NET too ...
    • Elliotte Rusty Harold says, "You can certainly develop an obfuscated syntax in XML, a syntax that is hard to read -- just as you can in other languages. ... But I think in general with sufficient effort and care and thought, you can design XML formats that are plausible to read and plausible to understand."
  • In case if you've missed this one, then read about The Emporer's New Code by Ole Eichorn, a lengthy critique on Longhorn, WinFS and Indigo. Also read Scobleizer's post commenting on the same ... All the talk on optimisation reminds me of a quote by Donald Knuth - "Premature optimization is the root of all evil”.. Is there a Longhorn build for download ?!

Happy Reading :)

The GotDotNet Feed fiasco !

I haven't been blogging enough lately and haven't used sharpreader for some time now until yesterday. As soon as i opened sharpreader, the first thing i saw was the my unofficial GotDotnet feed which Brian had hosted ... Guess what ?! It looks uber ugly ! ugghh ...

My whole idea of creating an aggregated RSS feed for the GotDotNet blogs was to provide a single point of contact which will enable consumers to apply filters over the feed according to their preference, abstracting them out from the presence of the varying number of blogs that is increasing in GotDotNet rapidly and based on many more ideas which i had fostered in my mind on aggregation...

I even thought of trapping the Exceptions that occur in the aggregation process, basically if it is RSS related. This functionality will trap the exception during processing of a feed and then serialize the exception to render it again as another RSS Item in the feed ! This way, i imagined that the errors that occur due to the aggregation can be found then and there and can be corrected without delay so that the consumers of the feed are always in sync with the current posts of each and every blogger ! But guess what, the view that i saw turned out to be sorely disgusting :( Around 100 posts in my 1035 unread posts in the Unofficial GotDotNet Aggregated feed was the "Exception while Processing Post" message . Holy God !

Well, i dont know where i lost sync on this, but Brian has been hosting the old version of the code for a long time . Sorry about that :( I have made lots of changes in the code but haven't updated him on them yet ! Quite frankly didn't realise that my feed was bombing so badly due to some problems :( It didn't work out the way i had expected and since there needs to be updation of a Bloggers list file by the admin when the feed URL changes, some of the links have become out of sync now. ( The reason for the errors in the feed is because that the request to the feeds of the blogs gets timed out because of some server problem in GotDotNet ! )

I have revamped the code completely and Kris has provided me with an ATOM class inorder to provide the flexibility to syndicate ATOM feeds also and to provide the return feed in any format required.. There are still things to be done on that aggregation engine but it has started taking a good shape now. Will release that pretty soon, after good testing so that anyone can use the generic aggregation engine to get a customised feed based on the user preferences. I was actually planning to host a webservice which will request the engine to collect the feeds and then will deliver the resulting feed according to the requested format and preference.

Thanks for hosting the GotDotnet aggregated feed on your server Brian !!! I guess you can discontinue the service for now until i churn out some quality engine out soon ...

Thanks to Dave Burke for the comments about the feed ! Watch out for a better service soon Dave !

Update : A cool way to keep in touch with the aggregated feeds if you are a subscriber to my Unofficial GotDotNet feed !

If you are using Sharpreader or RSSBandit or FeedDemon or Newsgator or any other aggregator, just add GotDotNet Blogs OPML file to the list ! People over at MS have done a great job trying to organise the blogs at GotDotNet according to the technology on which each of the bloggers are working on ! So if you want to know about current Longhorn and Indigo news, you know where to look for in the categories :-)

XAML history and more ...

Just in case if you have missed out Chris Anderson's XAML History post and other ones on XAML and Longhorn, then start reading about it right now ! Also read on about DependencyObject “The work horse of the Avalon property system” as Chris says it ! No code up yet on that but watch out ..