Archive for October, 2007

Turn off boring IE information bar

Sunday, October 21st, 2007

I am writing an automated test for an active X control, the IE information bar become a very boring problem: it require some manual operation to make the web page continue…and the worst is, IE will report the web page has loaded when those information bar show up and wait for your input! :(

Though it’s possible to turn off some security check for the active X controls, another boring information bar will tell you "Your current security setting put your computer at risk...", you can’t get rid of the information bar after all!!!

Found some people are already talking this, unfortunately most of them are not work on IE7. (maybe they are for IE 6)

Finally I found a solution that worked!!!

from: http://jazzman93612.spaces.live.com/blog/cns!47FA5B6D04A2E0A3!1352.entry

How to get rid of the Annoying Information Bar in IE7

This tutorial is written for those experienced computer users who understand how to configure Internet Explorer Security Settings, and what all the settings mean. Internet Explorer 7 DOES improve security, however, for IT professionals who know what they are doing, IE7’s “improved security” is annoying and we can do without the idiotic “bloop” sounds and frustrating information bar popups

Photobucket - Video and Image Hosting

Windows XP Pro: Go to Start->Run->gpedit.msc Photobucket - Video and Image Hosting

Double-click the “Turn off the Security Settings Check Feature” entry and choose “Enable Photobucket - Video and Image Hosting

Explanation: This policy setting turns off the Security Settings Check feature, which checks Internet Explorer security settings to determine when the settings put Internet Explorer at risk. ( NOTE: this means that the annoying bar will not pop up) NO MORE ANNOYING INFORMATION BAR!!! If you enable this policy setting, the security settings check will not be performed. If you disable or do not configure this policy setting, the security settings check will be performed.

Please note that, this only disable the information bar of the check of security setting, it will not remove the information bar of the active x’s warnings, so you still need to set the custom security level in the Internet Options to disable those Active X related information bars.

Popularity: 27% [?]

Connect to a VPN and keep normal Internet connections

Saturday, October 20th, 2007

VPN is great for working from home or working remotely, however the VPN remote access in Windows XP (or maybe vista) will switch all traffic trough the VPN connection once VPN connection established, that sometimes create some trouble: Internet surf will be much slower, some corporate network setting may not allow access to Internet so normal Internet surf may not work.

This problem can be easily solved by config the route table by yourself. To get a help of “route” simply type “route”:

C:> route

To make things simple, you can dump the route table before connect to VPN:

C:>route print

And dump it again after VPN connection established, from the two route table, you will find out the differents. Here is an example after VPN established:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    172.19.xxx.xx   172.19.xxx.xx       1
          0.0.0.0          0.0.0.0    192.168.1.126    192.168.1.19       21

… … 

Please notice the first two lines, the metric number will decide the priority of the route selection. (smaller is higer priority)

My only VPN usage is connect to my working computer and using remote desktop, and I have no other requirement to connect to other computers inside the VPN directly. What I did is, add a new route entry for my working PC and make all other destination go through my home router:

c:> route add  65.xx.xxx.xx mask 255.255.255.255 172.19.xxx.xx 

c:> route change 0.0.0.0 mask 0.0.0.0 192.168.1.126

65.xx.xx.xx is my working PC IP address, 172.19.xxx.xx is the default gateway of the VPN connection, 192.168.1.126 is my home router local address.

It can be done by a BAT script:

rasdial /disconnect
rasdial “My VPN Connection” “MYDOMAIN\myusername” *
route add  65.xx.xxx.xx mask 255.255.255.255 172.19.xxx.xx  

route change 0.0.0.0 mask 0.0.0.0 192.168.1.126

It’s always easy to change the route table as you wish to make the online line much easier, enjoying VPN without having to break the normal Intenet connection.

Popularity: 18% [?]

Can S3 become a consumer service?

Saturday, October 20th, 2007

 

Jeremy Zawodny gave a great list of S3 backup tools, Marc Hedlund said S3 is everywhere. However I feel I am still not able to find a good enough S3 application to be able to make S3 a more consumer friendly serivce.

Maybe Jungle Disk is one of the closest one, however Jungle disk seemed have many problem in my Computer, and it’s UI and usability is not as good as I expected.

At this time, the most popular consumer service for S3 is seemed to be used as a backup storage, however I feel S3 can be used to do more. In the amazon’s s3 application list, most of the high ranked application are either web UI or client UI for s3 itself, it’s also common that photo/video startups using S3 as backend storage.

I think what ”a personal storage serveice” can offer is not just a “remote disk”, it can be more, and for the remote storage or online backup, show user a file explorer UI or mount it as a network drive is not the best user friendly design. For me, I hate to copy some large files to a “remote drive” and see a never ending progress bar sitting on my screen and I have no idea when it will end and if it will fail.

There is a very nice backup shareware named “second copy“, it’s nice because backup tasks can be predefine and executed as tasks silencely and will not break even if there is some error happen. Now secondcopy has support FTP storage, I think it will be great if it could support S3 or other online storage.

Popularity: 13% [?]

SSH could be a nightmare for corporate firewall…

Tuesday, October 16th, 2007

SSH is very powerful, but it could be a big headache for corporate IT guys, if someone open an reverse ssh tunnel from inside a network then it could be a nightmare for the security.

Just found a post explain how to use SSH to create a reverse tunnel, it could be very useful in some case but also could be a terrible nightmare for information safety.

Using SSH to create a local Socks server  to get rid of China Great Firewall has been used widely for people in China.

Popularity: 15% [?]

Open source Scrum tools in Codeplex

Tuesday, October 2nd, 2007

ExpandCollapse Tackle

- Tackle is a web-based scrum tracking tool built using ASP.Net and SQL Server. Multiple scrum teams can be managed in a single site, with multiple product backlogs per team. Tackle features include…

- Tackle is a web-based scrum tracking tool built using ASP.Net and SQL Server. Multiple scrum teams can be managed in a single site, with multiple product backlogs per team. Tackle features include Windows Authentication, multiple methods for prioritizing tasks, auto-generation of sprint backlogs, and management of resources. Tackle also provides easy-to-read reports including sprint totals, work per day reports, burn down graphs, personal status reports, cross-scrum team reports, sprint review documents and more! Full source code and help documentation is provided with each install.

Forum Posts: 10 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 1653

Activity: 10 | Popularity: 1830 | Published: Dec 14 2006 at 8:42 PM

ExpandCollapse VSTS Scrum Process Template

- This is a community project that will result in a usable SCRUM process template for Team System. You will be able to download this process template from CodePlex and upload it into VSTS.

- This is a community project that will result in a usable SCRUM process template for Team System. You will be able to download this process template from CodePlex and upload it into VSTS.

Forum Posts: 1 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 567

Activity: 2 | Popularity: 613 | Published: Jan 19 at 1:32 AM

ExpandCollapse ScrumZ - A Scrum Project Management Tool

- ScrumZ is a tool targeted at development groups using the SCRUM process of Agile software development. It allows you to track product backlog items, sprints, tasks, defects related to your SCRUM pr…

- ScrumZ is a tool targeted at development groups using the SCRUM process of Agile software development. It allows you to track product backlog items, sprints, tasks, defects related to your SCRUM project.

Forum Posts: 0 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 219

Activity: 0 | Popularity: 228 | Published: Mar 16 at 1:54 AM

ExpandCollapse TFS Work Item Explorer

- The Visual Studio Team Explorer work item datasheet view is quite limited in functionality. The TFS Work Item Explorer tool allows developers to define their own custom drilldown tree of WIQL queri…

- The Visual Studio Team Explorer work item datasheet view is quite limited in functionality. The TFS Work Item Explorer tool allows developers to define their own custom drilldown tree of WIQL queries in an XML file (“template”), leveraging global values (e.g. server name, project name, etc.), field values (of parent queries of any generation) and user choices (a.k.a. parameters). Each TFS project can be associated with its own template via the application configuration file stored under the user’s profile. Out of the “box”, TFS Work Item Explorer includes a Scrum for Team System template, which mimics the behavior of the now deprecated Scrum Explorer tool.

Forum Posts: 0 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 130

Activity: 0 | Popularity: 142 | Published: Mar 29 at 8:38 PM

ExpandCollapse Scrumptious

- Scrumptious is a spin-off of the MSF for Agile process template (for now), augmenting it with the scrum methodology. The key differentiator from other process templates built for scrum is t…

- Scrumptious is a spin-off of the MSF for Agile process template (for now), augmenting it with the scrum methodology. The key differentiator from other process templates built for scrum is that this one focuses on software development, not the methodology. As we view it, scrum should help manage the project, not dictate how requirements are tracked and managed.

Forum Posts: 0 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 16

Activity: 0 | Popularity: 17 | Published: Mar 22 at 12:24 PM

ExpandCollapse Scrum Explorer

- Scrum for Team System is a free Agile Software Development Methodology add-in for Microsoft Visual Studio Team System, developed by Conchango, in collaboration with Ken Schwaber and the Microsoft T…

- Scrum for Team System is a free Agile Software Development Methodology add-in for Microsoft Visual Studio Team System, developed by Conchango, in collaboration with Ken Schwaber and the Microsoft Technology Centre UK. When using the Scrum for Team System Visual Studio.NET add-in, I disliked the flat datasheet-style work item view so much that I decided to write my own custom view called Scum Explorer. Scrum Explorer provides a sprint-centric drilldown treeview of the TFS scrum work items.

Forum Posts: 0 | Work Items Closed: 0 | Wiki Page Updates: 0 | Page Views: 7

Activity: 0 | Popularity: 8 | Published: Jan 18 at 8:18 PM

ExpandCollapse TFSIssueTracker

- TFS Issue Tracker is a issue tracker for Microsoft Team System. The product can be integrated with all process templates like MSF Agile or Scrum for Team System. Development of the TFS Issue Tracke…

Popularity: 24% [?]

JSON vs XML parsing performance

Monday, October 1st, 2007

In one project I worked on is using XML format to pass data and handle them inside HTML web page with a MSXML parser object. I was thought if I pass the data in JSON format directly could be faster. However, after I wrote a simple test code to verify the idea, I found I was wrong.

I believe it’s because XML parsing is inside MSXML object and JSON parsing is using Jscript engine which have more overhead.

<html>
<head>
<title>JSON vs XML parse performance in browser</title>
<script>

function out(str)
{

  var o = document.getElementById("output");

  if (o!=null)
    o.innerHTML += str + "<br/>";

}

function generateJSON(size)
{
  var strJSON = "[";
  ch = '';
  for (i = 0 ; i < size; i++)
  {
   strJSON += ch + '{"filename":"file' + i + '.html"}';
   ch = ',';
  }
  strJSON += ']‘;

  return strJSON;
}

function generateXML(size)
{
  var strXML = "<?xml version=’1.0′ encoding=’UTF-8′?>";

  strXML += "<files>";

  for ( i = 0 ; i < size; i++)
   strXML += "<file name=’file" + i + ".html’ ></file>";

  strXML += "</files>";
  return strXML;
}

function parseJSON(str)
{
  data =  eval(’(’ + str + ‘)’);
  out(data.length + " data parsed");  
}

function parseXML(str)
{
  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  xmlDoc.loadXML(str);

  if (xmlDoc.documentElement!=null)
  {
    var files = xmlDoc.documentElement.childNodes;
    out(files.length + " data parsed");
  }
  else
  {
    out("Invalid XML parsed");
  }
}

function testJSON()
{
  var datasize = document.getElementById("datasize").value;
  out("generating JSON for test…");

  str = generateJSON(datasize);

  out("begin parse JSON…");

  var begin = new Date();
  parseJSON(str);

  var end = new Date();
  out("Parse JSON data with " + datasize + " records, used time: " + (end - begin) + "ms");

}

function testXML()
{

  var datasize = document.getElementById("datasize").value;

  out("generating XML for test…");
  var strXML = generateXML(datasize);

  out("begin parse XML…");

  var begin = new Date();
  parseXML(strXML);

  var end = new Date();
  out("Parse XML data with " + datasize + " records, used time: " + (end - begin) + "ms");

}

</script>
<head>

<body>

Lines of data: <input type="edit" value="100" id="datasize"></input>
<input type="button" onclick="testJSON()" value="Test with JSON"></input>
<input type="button"  onclick="testXML()" value="Test with XML"></input>

<hr/>

<div id="output">
</div>
</body>
</html>

Here is a result:

generating JSON for test…
begin parse JSON…
10000 data parsed
Parse JSON data with 10000 records, used time: 31ms
generating XML for test…
begin parse XML…
10000 data parsed
Parse XML data with 10000 records, used time: 16ms

generating JSON for test…
begin parse JSON…
20000 data parsed
Parse JSON data with 20000 records, used time: 78ms
generating XML for test…
begin parse XML…
20000 data parsed
Parse XML data with 20000 records, used time: 47ms

Feedback are welcome…

Popularity: 17% [?]

Close
E-mail It
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.