TimP

Back to Profile: TimP

Comments

  • Simon Guest - Mainframe Interop with Avalon

    That was a fantastic demo. I'm a mainframe enthusiast myself although I've never had direct access to a real one, I use the open source Hercules mainframe emulator with MVS and other free operating systems. I assume you're using the FLEX-ES commercial emulator in your demo running what looks like OS/390. I have a few questions about how NetManage works, since I've only used older IBM operating systems before the advent of TCP/IP. Is the web service running directly on the mainframe or would it run in a middle tier Windows/Linux server with some sort of application server (IIS or otherwise)? Where does the screen scraping take place? This relates back to my previous question. Is the screen scraped on the mainframe which then sends out the final data or is the entire screen scrape sent to another server for processing which then finally exposes the web service? Finally, if you wanted to expose a portion of a mainframe application which actually modified data rather than retrieving it, would you need to add a special step to tell the application to take input from another source and then automate the confirm step?

    Thanks,
    Tim
  • Corey Hynes (Sunaptein Computer Consulting) - Behind TechEd's Labs

    That app looks really cool. It's a shame that there's no API for Virtual PC and that Virtual Server 2005 will only run on Windows Server 2003 (and costs $499). Are there any possibilities of Virtual PC getting its own API, even if it's just a minimalist subset of the Virtual Server 2005 API?
  • Tony Donno - Testing out Virtual Server

    I just finished watching the clip and I was really impressed. Despite the negative press ActiveX has been getting and the calls to get rid of it outright, this demo really shows the power of the technology. One of the things I really envy about Virtual Server 2005 that VirtualPC 2004 and VMware are missing is the open API. The web interface is also very cool. All in all a great interview/demo.
  • Tony Donno - Testing out Virtual Server

    You guys read my mind! I was going to ask if there would be a Virtual Server 2005 demo too since most people haven't used it.

  • Ben Armstrong - Running Virtual PC and Virtual Machines

    I'm glad you got an interview with Ben. His blog is one of my favorites. Will there be more interview segments?
  • Chris Gray - Building your own home server

    Manip,

    I don't think he's trying to win the coding award of the year. He repeatedly says how insecure the setup is and how you SHOULDN'T use his code in a production environment. He was just trying to show easy it is to create a basic moblog in .NET. Picky, picky, picky.
  • Brian Groth and Mark Berman -- Demo of SOA application

    I really enjoyed this video. Is it possible to get any more demos/videos from this department of MS or about HIS/BizTalk? Possibly a tour of the hardware lab running the mainframes, too? Smiley
  • Euan Garden - Tour of SQL Server team (Part IV)

    Thanks for the link! There's a lot of great info in the full disclosure report.
  • Euan Garden - Tour of SQL Server team (Part IV)

    What's the estimated cost for the whole machine (Superdome + hard drives)?

  • Gary Daniels and Evan Goldring - Mock whiteboard problem

    Out of my own curiosity, I did a few tests to test performance. I'm no performance test guru, but what I did was use an array of 271 palindromes and an array of 271 non-palidromes, then tested the array for x Iterations. The score on top is using the Array.Reverse method (the method I posted second) and the bottom score checking character by character (the method I posted first). The score is the average number of ticks per method call. The average non-palindrome was longer than the average palindrome, so that may account for the slightly slower performance.

    Palindromes:

    1000 Iterations
    18.1072177121771
    1000 Iterations
    12.1946568265683

    5000 Iterations
    17.8115896678967
    5000 Iterations
    12.046842804428

    10000 Iterations
    17.2203335793358
    10000 Iterations
    11.4925402214022

    15000 Iterations
    17.121790897909
    15000 Iterations
    11.6280364083641

    20000 Iterations
    17.1833800738007
    20000 Iterations
    11.5294937269373

    30000 Iterations
    17.2080157441574
    30000 Iterations
    11.7019434194342

    Non-Palindromes:

    1000 Iterations
    21.8025682656827
    1000 Iterations
    15.1509372693727

    5000 Iterations
    21.6547542435424
    5000 Iterations
    15.2248442804428

    10000 Iterations
    21.8764752767528
    10000 Iterations
    14.6335881918819

    15000 Iterations
    21.777932595326
    15000 Iterations
    14.6089525215252

    20000 Iterations
    22.0981963099631
    20000 Iterations
    14.6890184501845

    30000 Iterations
    22.3075995079951
    30000 Iterations
    14.7444487084871

    The character by character method beating the Array.Reverse method on non-palindromes is a no brainer, because it returns false after the first check, where as the Array.Reverse has to reverse and test the whole string every time.

    I was a bit surprised by it winning on palindromes, though. If anyone has any insight into this, I'd love to hear it. All I can assume is that a character by character check is more efficient than putting a string into an array, reversing it, and putting it back into a string.

  • Gary Daniels and Evan Goldring - Mock whiteboard problem

    public bool IsPalindrome(string palindrome)
    {
       if(palindrome == null || palindrome.Length == 0)
          return false;
       palindrome = palindrome.Replace(" ", "").ToLower();
       char[] reverse = palindrome.ToCharArray();
       Array.Reverse(reverse);
       string s = new string(reverse);
       return palindrome == s;
    }

    Here's a case/space insensitive and smaller palindrome checker.

  • Gary Daniels and Evan Goldring - Mock whiteboard problem

    public bool IsPalindrome(string palindrome)
    {
       if(palindrome == null || palindrome.Length == 0)
          return false;

       palindrome = palindrome.Replace(" ", "").ToLower();
       int start = 0, end = palindrome.Length - 1;

       while(end - start >= 1)
       {
          if(palindrome[start] == palindrome[end])
          {
             start++;
             end--;
          }
          else
             return false;
       }

       return true;
    }

    This will validate palindromes without case sensitivity even if they have spaces, for example: A man a plan a canal Panama