The blog has moved to a new address. The blog is now located at http://devintelligence.com

Adsense

Monday, December 04, 2006

Paint.NET v3.0 Beta 1 is now available!

Change log:

  • New effect: Clouds
  • New menu command: Edit->Fill Selection (shortcut key: Backspace). This will fill any selected area with the primary color.
  • New toolbar item / hotkey: The brush size may be manipulated with +/- buttons in the toolbar. Hotkeys for this are [ and ], and you may hold Ctrl to increment or decrement by 5.
  • New translations: They are not complete yet, and in fact some have just been started. They are mostly in place right now in order to get the code correct: Chinese (Simplified), French, German, Japanese, Korean, Portugese, and Spanish. You will have the ability to choose one of these languages during installation, and from the Help->Language menu, but the text will still be either mostly or completely English. Complete translations will be finished by February.
  • Added left-handed shortcut keys for Cut (Shift+Del), Copy (Ctrl+Ins), Paste (Shift+Ins)
  • Upper-left coordinate of selection is now displayed in the status bar
  • When moving text with the Text tool, the anchor point coordinate is now displayed in the status bar
  • Fixed: In high-DPI mode (120dpi), the color swatch would translate the mouse location to the wrong color palette entry
  • Fixed: Alpha-channel handling for bicubic and super-sampling image resampling methods
  • Fixed: Very slow download speeds for updates in Vista
  • Fixed: In Vista, the updater would relaunch Paint.NET with the same administrator privileges that the installer executed in. Now it will relaunch Paint.NET with the pre-elevation user and privilege level. Note that this fix will not be apparent until the next update to Paint.NET.
  • Fixed some layout and rendering issues with the floating tool windows in Vista
  • Fixed a rendering issue with the font selection dropdown list
  • Fixed a performance issue with the font selection dropdown list in Vista
  • Right-clicking on a color in the palette will now set the secondary color
  • Palette files now allow comments to be placed after color values
  • Fixed: If Edit->Paste in to New Image was pasting a bitmap with transparency (from Paint.NET), it would have a white background instead of a transparent background.
  • Fixed: Right-clicking on a .PDN file in Explorer and then selecting "Print" would not work if Paint.NET was already open
  • Fixed over 10 user-reported crash bugs
  • Fixed several out-of-memory crashes
  • Fixes for many other miscellaneous, mostly minor, bugs

    You can download it at http://www.getpaint.net/files/PaintDotNet_3_0_Beta1.exe

    [Via Rick Brewster's blog]

  • Monday, November 27, 2006

    XML Notepad 2007

    XML Notepad 2007 provides a simple intuitive user interface for browsing and editing XML documents.

    Features:

     

    • Tree View synchronized with Node Text View for quick editing of node names and values.
    • Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.
    • Cut/copy/paste with full namespace support.
    • Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.
    • Infinite undo/redo for all edit operations.
    • In place popup multi-line editing of large text node values.
    • Configurable fonts and colors via the options dialog.
    • Full find/replace dialog with support for regex and XPath.
    • Good performance on large XML documents, loading a 3mb document in about one second.
    • Instant XML schema validation while you edit with errors and warnings shown in the task list window.
    • Intellisense based on expected elements and attributes and enumerated simple type values.
    • Support for custom editors for date, dateTime and time datatypes and other types like color.
    • Handy nudge tool bar buttons for quick movement of nodes up and down the tree.
    • Inplace HTML viewer for processing xml-stylesheet processing instructions.
    • Built-in XML Diff tool.
    New features included in this version:
    • Added keyboard accelerators for find again (F3) and reverse find (SHIFT+F3).
    • Added support for loading IXmlBuilder and IXmlEditor implementations from different assemblies using new vs:assembly attribute.
    • Made source code localizable by moving all error messages and dialog strings to .resx files.
    • Added a default XSL transform.
    • New icons, a play on the Vista "Notepad" icons.

     

    Download XML Notepad 2007

    [Via Larkware News]

     

     

    Technorati tags: , ,

    System.Data: Export table to a CSV file

    In this post I will present a function that can be used to export a data table to a CSV file. The function first loops through the columns of the data table to export the names of all the data columns. And then in next loop the code iterates over each data row to export all the values in the table.

    /// <summary>
    /// Exports the table to CSV string.
    /// </summary>
    /// <param name="table">The table.</param>
    /// <param name="printHeaders">
    /// if set to <c>true</c> print headers.</param>
    /// <returns>CSV formated string</returns>
    private static string ExportTableToCsvString(
    DataTable table,
    bool printHeaders
    )
    {
    StringBuilder sb
    = new StringBuilder();

    if (printHeaders)
    {
    //write the headers.
    for (int colCount = 0;
    colCount
    < table.Columns.Count; colCount++)
    {
    sb.Append(table.Columns[colCount].ColumnName);
    if (colCount != table.Columns.Count - 1)
    {
    sb.Append(
    ",");
    }
    else
    {
    sb.AppendLine();
    }
    }
    }

    // Write all the rows.
    for (int rowCount = 0;
    rowCount
    < table.Rows.Count; rowCount++)
    {
    for (int colCount = 0;
    colCount
    < table.Columns.Count; colCount++)
    {
    sb.Append(table.Rows[rowCount][colCount]);
    if (colCount != table.Columns.Count - 1)
    {
    sb.Append(
    ",");
    }
    }
    if (rowCount != table.Rows.Count - 1)
    {
    sb.AppendLine();
    }
    }

    return sb.ToString();
    }


    Technorati tags: , , ,

    Sunday, November 26, 2006

    Free open-source e-mail server

    hMailServer is a free, open source, GPL-licensed e-mail server for Microsoft Windows. It supports all the common e-mail protocols (IMAP, SMTP and POP3) and comes with an easy-to-use COM library that can be used for integration with other software.

    Download hMailServer

     

    [Via LarkWare News]

    Technorati tags: , , , ,

    Monday, November 20, 2006

    Powershell Analyzer

    Powershell Analyzer is a rich interactive environment for Windows Powershell. Its goal is to be the powershell host of choice for IT professionals and system administrators. It has all the typical editor and IDE functionality that you would expect when working on a modern language, but it focuses on the real time interactive experience as if you were at the console, helping you compose the commands you want to use, and also giving you rich graphical visualization of the results. Powershell may seem to just return text like the average Unix shell, but in reality, it is returning rich self describing Dotnet objects.  Powershell Analyzer not only helps you with the INPUT, but also with the output.  It shows you the properties of the rich objects that the commands return, as well as specific visualizers to help you interact with output such as XML, HTML, charts, tables, and hierarchical data structures.

    Get the Latest build here: http://www.powershellanalyzer.com/downloads/PowerShellAnalyzer-1-0-1-4.zip

    Friday, November 17, 2006

    ReSharper 2.5

    ReSharper 2.5 is a minor release dedicated to improving performance and stability of ReSharper 2.0. It will work for Visual Studio 2005 only. The following list of performance improvements and features will be available as part of the relase.

     

    1. Performance Improvements
      1.  Installation time
      2.  Typing
      3.  Code completion autopopup on typing identifier
      4. Updating completion list on typing
      5.  Typing when parameter information is shown
      6.  Showing parameter information with large number of signatures
      7.  Visual Studio startup
      8. Opening solution
      9. Opening single file in Visual Studio
      10.  Navigation inside a file which isn't currently open in Visual Studio
      11.  Live templates expansion
      12.  Typing with "Change All" or "Inline Rename" active
      13.  "Change All" quickfix
      14. Creating new files
      15.  Format code
      16.  Stepping in debugger
    2.  Features
      1.  Improved find results view (screenshot)
      2.  "Navigate From Here" – single shortcut for all navigational actions available at this point (screenshot)
      3.  Go to File Member — Control+F12 now allows navigation to symbols declared in the current file similar to Go To Type (Control+N) (screenshot)
      4.  Option page for disabling individual context actions
      5.  NullReferenceException analysis (screenshot)
      6.  More context actions and quickfixes
    3.  Experimental Read Only Visual Basic .NET support (note that this is experimental functionality and it might not be included in 2.5 release if we are not able to make it production quality by the time of release)
      1.  Navigation & search features (go to declaration, base, inheritor(s); find usages; go to type/file; etc.)
      2.  Matching brace highlighting
      3.  Extend selection (Control+W)
      4.  Quick documentation popup (Control+Q)
      5.  Parameter info (doesn't pop up automatically)
      6.  Identifier highlighting
      7.  Error highlighting

    In addition this release offers better user interface design (see screenshots) and significant stability improvements.

     

    From this page you can download the EAP builds for ReSharper 2.5.

     

    [Via Larkware News]

    A full set of professionally designed icons for ASP.NET applications.

    There are more than 300  awsome designed icons for your ASP.NET applications in this package. And, they all are completely free!You can use them in your web applications, both personal and commercial.

    Download ASP.NET Icons

    Windows PowerShell 1.0

    Windows PowerShell 1.0 is finally released.

    Download Windows PowerShell 1.0

    Don't forget to check out related resources like:

    Windows PowerShell FAQ

    Windows PowerShell Blog

    Remember to download the Windows PowerShell Documentation Pack that includes a Getting Started Guide, Quick Reference chart and a 100+ page Windows PowerShell primer.

    Monday, November 06, 2006

    Thursday, September 28, 2006

    Windows Live Writer 1.0 (Beta) Update with Windows Live Gallery

    Windows Live Writer is a desktop application that makes it easier to compose compelling blog posts using Windows Live Spaces or your current blog service. 

     

    The following is a summary of the changes in the Writer 1.0 (Beta) Update:

    • Tagging support
    • Support for Blogger Beta
    • Categories are sorted by name and support scrolling, plus improved support for reading categories from your blog
    • Improved startup performance
    • Paste is enabled for Title region and TAB/SHIFT+TAB navigation between title and body supported
    • Insert hyperlink added to context menu when text is selected
    • Title attribute in Insert Link dialog
    • Custom date support for Community Server
    • Improved keyboard shortcuts for switching views
    • Change spell-check shortcut key to F7
    • Add ‘png’ to insert image dialog file type filter
    • More robust image posting to Live Spaces
    • Improved style detection for blogs 
    • Fixed issues with pasting URLs and links
    • Remember last window size and position when opening a new post
    • Open post dialog retrieves more than 25 old posts

    Download Windows Live Writer 1.0 (Beta) Update

     

     

    Technorati tags: , , ,

    Friday, September 22, 2006

    visionapp Remote Desktop (vRD 1.4)

    vRD is a tool which allows the management of RDP connections to servers. vRD is ideal for administrators who need to maintain simultaneous connections to multiple servers. Connection-specific settings and login credentials can be organized in folders and subfolders for quick access.

    The new version 1.4 further extends the ease of use. Coming, amongst others, with a dynamic overview tab page over all established connections, the ability to choose the session window size through a drop down field and providing the option to set the RDP port, vRD offers many new features for hassle-free handling of multiple RDP connections.

     

    Download visionapp Remote Desktop 1.4

    Sunday, September 03, 2006

    Memory Management

    Automatic memory management is one of the services during Managed Execution that makes a developer's life a bit easier. Developers do not have to worry about freeing objects when they are no longer used, since the garbage collector takes care of that. The garbage collector determines which objects have no references and can therefore be released from memory. This prevents many problems such as forgetting to free objects from memory, causing memory leaks or attempting to access memory that has already been released.
    The problem with automatic memory management
    The automatic memory management technique is not perfect. As explained above, an object can be collected by the garbage collector when the object has no more references. It's logical that a button will not be collected when a form still knows it's there, but there are other references that a programmer might not expect, that also keep an object alive.
    An eventhandler can be such a reference that it will prevent the object from being collected. Another example is using a static collection object to register certain object instances. These instances will never be collected since the collection always has a reference to them. An IMessageFilter to handle window messages also has the same collection problem.
    The solution
    To prevent this kind of problems,
    qios has created a system that uses WeakReferences to attach to events, collection members, and IMessageFilters. A WeakReference is a reference to an object that will allow it to be garbage collected.

    To read more about our solution to these problems, check out a free and open source sample and libary available for download.You are allowed to use the MemoryPack library in your own applications without any costs.

    Monday, August 28, 2006

    SyntaxColor4Writer

    SyntaxColor4Writer is a plugin for Windows Live Writer that enables you to embed syntax highlighting in your blog posts. This plugin uses an excellent component called Code Highlighter . The following syntax languages are included and can be customized and extended:

    • C#
    • CSS
    • HTML
    • INI File
    • Java
    • JScript  
    • Perl
    • PHP
    • Python
    • SQL
    • VB.NET
    • VBScript
    • XML

    Download & Installation

     

     

    Technorati Tags: 
     
     
     

    Monday, August 21, 2006

    Monopix-Live CD Linux distribution

     

    Monoppix is a Live CD Linux distribution (based on Knoppix), which means you pop it in your CD drive, reboot, and you're running Linux. It works without installing a thing on your hard drive - it runs completely off the CD and RAM.

    What's on the CD?

    - Mono runtime environment, complier and class libraries
    - Monodevelop - Mono enabled IDE
    - XSP - ASP.NET web server
    - GTK# - for desktop applications (sample included)
    - MySQL database server
    - Quickstarts and Mono walkthroughs and tutorials,

    How to get started?

    - Download the latest ISO.
    - Burn the ISO to a bootable CD.
    - Reboot your computer with the mono CD and CDRom boot enabled in your bios.

    Saturday, August 12, 2006

    How can I make the SplitContainer continuously update its contents while the splitter is moving?


    Note: Continuously updating a SplitContainer's contents can lead to poor performance, and should be used sparingly.
    By default, when moving a SplitContainer's splitter a preview is shown of the splitter's future location. Then when the splitter is released, the SplitContainer resizes to that position. If you want the SplitContainer to be constantly resizing as the splitter is moving, you can do one of two things:


    Insert the following code in your project, and attach these events to all of the SplitContainers that you want to continuously update.


    private void splitContainer_MouseDown(object sender, MouseEventArgs e)
    {
    // This disables the normal move behavior
    ((SplitContainer)sender).IsSplitterFixed = true;
    }


    private void splitContainer_MouseUp(object sender, MouseEventArgs e)
    {
    // This allows the splitter to be moved normally again
    ((SplitContainer)sender).IsSplitterFixed = false;
    }


    private void splitContainer_MouseMove(object sender, MouseEventArgs e)
    {
    // Check to make sure the splitter won't be updated by the
    // normal move behavior also
    if (((SplitContainer)sender).IsSplitterFixed)
    {
    // Make sure that the button used to move the splitter
    // is the left mouse button
    if (e.Button.Equals(MouseButtons.Left))
    {
    // Checks to see if the splitter is aligned Vertically
    if (((SplitContainer)sender).Orientation.Equals(Orientation.Vertical))
    {
    // Only move the splitter if the mouse is within
    // the appropriate bounds
    if (e.X > 0 && e.X < ((SplitContainer)sender).Width)
    {
    // Move the splitter
    ((SplitContainer)sender).SplitterDistance = e.X;
    }
    }
    // If it isn't aligned vertically then it must be
    // horizontal
    else
    {
    // Only move the splitter if the mouse is within
    // the appropriate bounds
    if (e.Y > 0 && e.Y < ((SplitContainer)sender).Height)
    {
    // Move the splitter
    ((SplitContainer)sender).SplitterDistance = e.Y;
    }
    }
    }
    // If a button other than left is pressed or no button
    // at all
    else
    {
    // This allows the splitter to be moved normally again
    ((SplitContainer)sender).IsSplitterFixed = false;
    }
    }
    }




    Technorati : , , ,