Archive for April 2007
There are good many Internet Radio sites and sometimes when there is a good recording which you may like to download for offline purposes. There are quite a few good freeware that helps to serve the purpose. Check out them here:
Just observed while during my casual logon to my Inbox.com account that my account has been upgraded following winner of Inbox.com Photo Contest. I really wonder, why hasn't been an official winners declaration by Inbox.com? I even raised a support ticket with them though. :)
Inbox is really getting impressive by the way with the powerful spamblock features albeit the network support team there seems to be going for frequent slumbers. While I have a little though not a great one as a testimonial kind of in praise of and in appreciation to Inbox.com, I also wish that Inbox management be more strict with the network team there so that other core functional services like delays in deliveries, reliability are not affected. No doubt the application team does yeoman efforts in providing world's richest of the applications. Check it out yourself. They have a good convincing motto in thier Support URL too. 'You Use. We Care'.
Learn more about this contest >>
Many of us would be aspiring for the new cute Windows Vista on thier desktops but currently facing time or other constraints to upgrade from thier current desktops. For those of us, I found a cute little utility from Softopedia downloads called 'Windows Vista Transformation Pack' which applies Vista UI to Windows XP Desktop.
It applies the same start menu appearance, desktop feel on Windows XP desktop similar to Windows Vista. The download is bit near to 30 MB and hence choose a fast broadband while opting to download.
So, what are you waiting for. Get the WoW UI for your WindowsXP till you finally land proper on Windows Vista itself.
I was in dire need of a quick-to-learn and elegant Image Creation utility. While Irfanview, helps you to manage existing images, when it comes to creating a new image from the scratch, it might not be able to address the requirement. You are left in the dark with Windows default Paint but it has very restricted feature set or prick your wallet for purchasing Paintshop Pro.
I came to know of this free utility called Paint .NET. Again like Irfanview, this is a freeware. It has a very good number and a long list of good features to share too. A few of them are:
- It is a freeware and opensource.
- Full-fledged image editing application like Paintshop Pro.
- Written purely in C#/Managed Code
- With a bit of effort it also supports creation of animated GIFs.
- Good support through forums
How many times we have struggled to resolve a SSL issue or a strange Flash ActionScript navigation and why it lands on a 404. I have been one such person and I came across a very excellent freeware utility and Help -> About shows that the author is from Microsoft. The tool is called Fiddler.
Fiddler -- A Quick Overview
Fiddler is a quick little tool which helps you by integrating itself with the web browser as a proxy server. Now all your web browser requests are routed through the Proxy Server. Fiddler can capture and display all information including SSL headers (in its 2.0 Avatar (version)). Furthermore, you can tweak with the values and Reissue the requests as well.
Found a bug?
Have you found a bug or have a feature that you would like to get implemented in Fiddler? They maintain a discussion forum over here. Check it out. I am sure this is an inevitable tool for any web developer's toolbox
In this short discussion, I would like to highlight regarding the necessity of coding standards, their advantages, methods to adopt in following a coding standards, a few reference standards besides a couple of review tools that help us introspect whether we are following standards.
Necessity of Coding Standards
- Coding standards, as the name itself stands for denotes that it supports common shared view (aka) standardization of coding practices for a particular application development. This way, a new developer who comes on board or a fresher who joins the enterprise and takes up the application would find themselves comfortable enough to grasp the application logic without the necessity of the individual coder himself sitting with them and walking through the same. Not always the first-line developer can sit with the developer on job. The various parameters that affect are geographical, technical, chronological feasibility factors that dictate a restriction on the same.
- Standardization helps the application development to be process-centric instead of developer-centric. The developers can focus on the logic instead of understanding particular coding style trends.
- Standardization helps insulate regional, personal cultural differences and provide a formal approach to the application programming. For example, declaring a variable like int a, int b etc might show how much less experienced is the programmer. A good indicator would be like declaring variables like intDegrees, intMetrics etc.
- Standardization also effectively encourages new features to be incorporated as a breeze as it would be fun to maintain a well-coded and well-designed application. The development efforts would be minimal and deployment nightmares would be almost nil.
- Efficient and standard code reduces the cost of development, maintenance and support and helps the enterprise in reducing the running costs and make more profits too.
Going About Code Standardization
Standardization of code should not understood as a step near refactoring. The bad practice is that small organizations do it near the fag end of the project while delivering the same to the end client. A good standardization practice should begin right at the inception itself. There should be punctuated reviews of the code by peers and technical leads who can give feedback and ensure that these are included in the implementation. All said, the project plan must have a decent time component to accomodate such reviews as well.
A few organizations claim to run short of time and hence overlook coding practices. However, there is a saying that 'Haste makes waste'. It is better to be systematic and win the race like the tortoise rather than being hasty like the rabbit and losing out.
Reference Coding Standards
We would here give a partial list of reference coding standards for various languages. These are, in no means, complete list. Furthermore, your enterprise might have a standard already in place. The bottomline is that the team should get to gether to represent the application in the single wholistic fashion rather each one going in thier own direction.
- C# Coding Style by Mike Kruger
- Secure Coding Guidelines for .NET Framework
- Program Structure and Coding Conventions
Are we going on the right track?
All is fine. However, we ought to have a reckoner or an introspection process periodically to check out with ourselves whether we are going on the right track. I would like to share a couple of tools that help us periodically check up our code whether it adheres to standards and brings out the variants/deviations if any.
- Macadamian Code Review Checklist (They also provided a rich Visual Studio AddIn to detect the code. However, currently this tool seems to be not available on thier website)
- GotDotNet FxCop
I hope that this little discussion would have been useful to bring out the talents hidden in the developers in the best represented implementation for the long run and long term potential benefit of the organization. Let me know your feedback and information that you would like to share with your readers.
I would like to have a short review written on Irfanview -- a versatile desktop utility supporting a wide diversified image formats. Besides supporting images, this also has a rich support for wide variety of other media like Audio and Video.
Most of us engaged with web development would have had experiences transacting with Web designers. How many times we have had long standing arguments/requests waiting at the designer's desk for the following queries:
- Quick Image Resizing.
- Quick Image Format change (like from GIF to PNG etc)
- Image optimization
While I admit that the designers have the final and commanding powers to create the good images for simple things like creating a FAVICON from the website logo as a .ICO file, we need not queup the load to the web designer. At the same time, we would also be facing shortcomings from the following fronts:
- Lack of sophisticated Image Editing Software like Adobe Photoshop etc.
- The skillset of image editing.
- Cost of maintaining such heavy software.
The Dawn of a Solution
I came across a little software called Irfanview, which seems to be a software written by a college student in Europe (Irfan) and is a freeware. I would like to summarize some of the features of Irfanview, which would be useful to complement the work of developers and reducing the load on web designers.
- Install-free. While the installation does a systematic and methodical copying and setting of files and extensions, the actual application depends on a less-than 1 MB EXE file.
- Freeware. No cost involved in purchase and maintenance of the software.
- Wide variety of images being supported for operations.
- Multi-lingual support
- Thumbnail/Preview Tool
- Screensaver Creation Utility from the images
- Capable of discovering and showing EXIF and associated image details on the FullScreen mode.
- Rudimentary Image Editing Operations
- Change Color Depth
- Imaging Effects
- Commandline Tool
The other interesting feature of Irfanview is that it also supports related media formats like SWF, MP3, Video and Audio files (Windows Audio and Real Media) via plugins. Besides little features like Email Media, Extracting Icons from Binary files like EXE, DLL etc add feature to the crown of Irfanview.
I would hence like to suggest that Irfanview is a definitive tool for any developer's toolbox in his day-to-day activities. That way the activities go unhindered with more fast-moving developmental efforts.
With a great stress on automated and background navigation strategies that are used in the current day web applications using concepts of AJAX, Meta Refresh, I felt one piquant problem that we encounter in our webpages. If you have closely observed in the traditional web applications, every click would trigger an audible alert to be raised by Windows. Now, the automated navigations in the webpages do trigger these alerts.
Particularly when you use AJAX enabled email applications like those at http://www.inbox.com/ and for persons like me, who have an Inbox window open 365x24x7, this means my Windows desktop is producing a non-stop sound on every automated navigation trigger. After a bit of trick, I found a way to get rid of this problem. These sounds are managed and controlled from Windows Control Panel -> Sounds Applet -> Navigation. By default, the click sound is associated with 'Windows Start.wav'. You can set this to (none).Click Apply. Click OK. Your web browser will no longer alert you on any navigation clicks.
There are a few shorcomings to this approach:
1. Since this is a system setting, from within the webpage we can not do anything for our application. We have to give instruction to the user, involving manual intervention or resolution to the problem.
2. As a user if we disable this for one feature, then we might not be knowing what each website actually does and where the navigations actually goes.
Read On ...
We strike newWe can make use of three interesting stylesheet attributes which comes in handy to design cool HTML forms with iconified backgrounds. They are:
- background: transparent url (This loads a thin image as a background for the element.
- background-repeat: no-repeat (This makes the image to display only once)
- background-position: center (Centering the image makes it convey the meaning immediately without even needing an associated text caption.
We can extend the trick outlined in 'We strike new' by also bringing in small icons to username and password textboxes in login screens. Iconifying controls brings in a rich look and feel to the application.Example Code Snippet:
The next generation cross-browser cross-platform media for delivering rich applications across the web, which has been hitherto codenamed WPF has been rechristened and largely revamped as Microsoft Silverlight.
I was casually browsing through David Silverlight's weblog hosted from Community-Credit.com, which is an inspiring website encouraging community participation amongst developers. You can hear from his own blog the process by which Microsoft Silverlight got renamed after him.
I have a unique pride to have personally met him during my trip to Microsoft MVP Summit held at Seattle during March 11 and March 16. He was looking out for me since Tuesday however I had great opportunity to meet him right at Redmond campus (Mecca of true .NET developers) on Wednesday and again on Thursday morning a mini prize distribution ceremony held exclusively for me at Hotel Renaissance. Along with me, Hima (another ASP.NET MVP) shares the pride of meeting him at Seattle and here is her say.
We would here review in brief about them and the modus operani adopted therein.
- Simple parsing using regular expressions to remove comments
- Newlines are removed and hence the entire function now occupies a single line when done a ViewSource.
- Unnecessary Whitespaces are removed.
There are a few caveats using the crunchers. Since newlines are removed, scripts if they are not properly delimited by semicolon might break. Hence take a backup of those scripts before running a cruncher on them.
[Product Review] Cool Downloader in C#
With sick dialup connections or congested network pipes, downloading huge files is always a pain. Added to it, when you are using a download manager to download a sequence of files, you ought to be careful regarding a wide variety of factors. A few of them are:
- Security of your system from being infested with any malware (Adware, Spyware etc)
- License of the software
- Cost of the software
I came across a pretty little cute downloader from CodeProject which supports both single file download and batch downloads from a text file. I would like to have a brief review on the various features in bullet point here.
- Simple Opensource
- Easy to use Two-Tab Interface
- Supports Text Files containing URLs (one URL per line)
- Managed Code (in c#). So higher amount of security from memory leaks etc provided by CLR.
Check out Cool Downloader from here.
Check it out at http://www.inbox.com/earth
Automated FTP Programming in C#
By far currently, the most effective way of transmitting huge amount of data over the network reliably is FTP. Till now FTP protocol has the serious lacking of security. There are implementations like Secure FTP (SFTP) but there are very few applications that have currently SFTP support in them. I came across a good tool which again in OpenSource so that we can understand the internals of Secure FTPHandshake. Check out FileZilla FTP Client from here.
This comes close to the heels of our discussion sometime back regarding free ad elegant management of FTP in our networks. We have touched base on FileZilla FTP Server over there. If you are looking for FTP-enabling your application, then .NET 2.0 most probably would be an answer for you. The APIs do support FTP in them. Check out here.
Friendly GUI for ASP.NET 2.0 Compiler
For commandline SDK fans like me sometimes it is really daunting experience to compile a huge project with a lot of assembly references and commandline options for output path etc. Also, during deployment scenarios, the production target servers may not be having development environments. Under these circumstances, I was trying to figure out some good tool and trying to make one. In the process I came across this free tool called WestWind ASP.NET 2.0 Compiler Utility.
Abyss Free Web Server
For starters who find IIS to be a bit daunting web server to configure, I wanted to share some information on a webserver which I found while surfing the web. It is called Abyss Web Server from Aprelium Technologies. You can download it from here. There are lot of good features with respect to Abyss webserver which I found while playing around it:
- Lower Memory Footprint
- Memory consumption is pretty low.
- Smaller download
- ASP.NET Support
- Browser-based Administration Tool
- Installation does not require any administrator privileges unless you opt for Windows service mode installation or 'Start with Windows'.
- Support for ISAPI, FASTCGI and PHP applications
- Support for Classic ASP via a third party ASP tool
- Elegant Browser based administration similar to Plesk/CPanel interface.
- Big websites can go for Premium editions but free edition itself is neat and great.
Check it out at http://www.inbox.com/earth