Marcelo's WebLog

Improving the world one entity at a time (now tweeting on @mlrdev)

Browse by Tags

Tagged Content List
  • Blog Post: min12int explained

    Here I go again, after a couple of years of silence... Someday I'll tell the tale of what has kept me busy. In the meantime, here is an interesting bit that I learned today. DirectX defined various level of support across many variables, and in Windows 8, some new scalar types were added to HLSL that...
  • Blog Post: Performance for Metro style app

    The Windows 8 app developer blog recently published How to improve performance in your Metro style app . A lot of the content might be familiar, including the always-handy Interaction class table, but there are additional considerations to play nice with the rest of the system, particularly with regards...
  • Blog Post: SkyDrive - HTML5 improving performance, again

    Continuing in the spirit of my last post , I wanted to make sure that folks are aware of the How we used HTML5 to make SkyDrive fast for millions of people post on the Inside Windows Live blog. It's an accessible read that walks you through a number of important improvements that are powering the...
  • Blog Post: Thoughts on radically improving web performance

    If you're a web developer, you definitely owe it to yourself to read the Instant email: how we made Hotmail 10x faster post on the Inside Windows Live blog. Go ahead and read it - I can wait. You see, with the right techniques, it's possible to provide a very, very compelling and performant experience...
  • Blog Post: Testing datajs with multiple browsers

    When contacting the localhost machine, Chrome and Firefox can suffer very serious slowdowns depending on your operating system, adding somewhere around one to two seconds per connection. If you build and run tests for datajs , you are very likely to run into this problem. There is a configuration change...
  • Blog Post: Fiddler and Windows Phone 7

    When you're building a web site, you'll often have a targeted experience for phones. They do many special characteristics after all: the browser is touch-driven instead of mouse-driven, the screen is much much smaller than a monitor, the user is likely to be on the move rather than sitting in front of...
  • Blog Post: Atomize your strings to improve memory usage

    In yesterday's post , I hinted at a method to improve memory usage in your applications. This trick can be applied anytime you have many strings in your application that have the same value but were allocated separately and thus each take up space of their own. This is something that you may find whenever...
  • Blog Post: DataSet versus plain objects

    The other day, a question popped up on the forums about whether the DataSet , by virtue of not being able to “spill to disk” intelligently like a database engine can, was inappropriate for some specific scenario. That got me thinking about how much memory the component consumes, one thing led to another...
  • Blog Post: Some Performance Notes on Enumerable LINQ Operators

    This post is the continuation of Layering enumerators ; I wanted to have a much shorter post, but it seemed to me like this would be much more useful if I had all the notes in a single post. First, some caveats. This post deals with the LINQ operators and friends as they work on IEnumerable<T>...
  • Blog Post: Layering enumerators

    Now that I've touched upon XmlReader and how it can be used to stream data while allowing clean layering at the same time, I want to touch on the layer-able interface by excellence in the .NET Framework: IEnumerable<T> . You may have also seen the term 'composing' enumerables, but I tend to...
  • Blog Post: Catching streaming exceptions with streaming readers

    About two years ago, I put up a post discussing how exceptions are streamed in WCF Data Services (called ADO.NET Data Services at the time). Today I want to continue from yesterday's post and discuss how the client implements support for this, but first a quick note. I'd like to make sure I clarify...
  • Blog Post: Nuggets of performance wisdom

    In case you thought it was exclusively centered around game development, the session on Building a High Performance 3D Game for Windows Phone includes some useful performance tips that apply to general managed code, so it's worth checking out. It also has a couple of slides with some interesting comparsions...
  • Blog Post: MSXML XHTML DTDs - making the web better

    The fix to requests for XHTML DTD files from the W3C Web server has been recently released. Windows Update should offer the fix automatically, but you can download and install the fix manually from the following links for various MSXML versions: http://support.microsoft.com/?kbid=973688 [MSXML4 SP2...
  • Blog Post: Performance Tools

    I've written about performance tools in the past - it's a topic that interests me quite a bit, because I believe that perceived performance is a very fundamental part of the user experience and can wow you or frustrate you immensely. And I believe "real performance" (so to speak) is very important of...
  • Blog Post: XSLT Resources

    Welcome to the XSLT Resources Page. I'm maintaining this page as a hub of links to additional resources that developers that use XSLT will probably find useful. MSDN Resources XSLT Transformations . Provides conceptual material on using XSLT on the .NET Framework. XslCompiledTransform Class . API...
  • Blog Post: DTD resolution and network behavior

    Following up from my last post , danieldsmith asked about a couple of additional details. I think I responded in the comments, but because (a) it's generally useful, and (b) I had some problems with my network connection (because I monkeying around with it), the reply may have been lost. So here we go...
  • Blog Post: Faster XML - don't resolve DTDs if you don't need to

    When loading an XML document through XmlDocument.Load or XDocument.Load , the default behavior when finding a DTD reference is to go resolve the URL, which typically means one or more web requests. Often, however, the DTD is there more as a marker of what the document contains than anything else, and...
  • Blog Post: Velocity at DevConnections

    Next Monday I'll be at DevConnections in Orlando, talking about Velocity (Microsoft Project Code Named "Velocity", if you like formality). It's going to be a bit of a challenge to sum up all that awesomeness into a single session, but I promise I'll do my best, and I'll be around for the rest of the...
  • Blog Post: XmlSchema and XmlSchemaSet thread safety

    Here's a good word of warning: even if an object "feels" read-only because you're not calling code to modify it, if it's not documented as safe for use from multiple threads, then you shouldn't risk it. In particular, I'd like to talk about XmlSchema and XmlSchemaSet today. Building these has a cost...
  • Blog Post: Fast way to convert XmlDocument into XDocument

    This question came up in the forums a little while ago, and I thought it might be interesting to do some comparisons. I first came up with a few ways of turning an XmlDocument into an XDocument. private static XDocument DocumentToXDocument( XmlDocument doc) { return XDocument .Parse(doc.OuterXml...
  • Blog Post: XmlDocument.PreserveWhitespace and memory usage

    The PreserveWhitespace property is sometimes misunderstood. As this MSDN page describes, this affects non-significant whitespace nodes. Significant whitespace is always preserved. So what is significant whitespace? The XmlSignificantWhitespace explains: it's the whitespace under the scope of an xml...
  • Blog Post: Cloning an XmlDocument doesn't make the copy thread safe

    This could be a gotcha, but cloning an XmlDocument doesn't quite make a completely independent copy. The CloneNode method is intended in general to be a way of creating copies of XML nodes under the same XmlDocument scope / owner XmlDocument. Cloning the XmlDocument does create a copy, but it shares...
  • Blog Post: StackOverflowException with XslCompiledTransform

    Pawel recently looked into a customer report about XslCompiledTransform failing with a StackOverflowException after an upgrade to .NET Framework 3.5 SP1. Same stylesheet, same everything, but now the exception was showing up when it wasn't before. There were a number of interesting gotchas associated...
  • Blog Post: The one where lame excuses are given

    Yes, yes, yes - I've been busy. I'm sure you saw that one coming. Also I've been working on things which are top-secret, yadda-yadda. To reduce my lameness level, however, I'm back to writing for 2009 and I'll begin by linking to a very nice article which has certainly aged well: XML Reader with Bookmarks...
  • Blog Post: Depth vs. width in ADO.NET Data Services $expand

    The $expand option in the query filter is used to request entities associated with the last segment of a request. This is often used to ensure that entities can be materialized with their relationships wired together and to reduce the number of roundtrips to the server. For example, if http://www...
Page 1 of 2 (39 items) 12