Er. alokpandey's Blog

How to install SageFrame

Posted in ASP.NET (C# & VB) by Alok Kumar Pandey on October 14, 2011

SageFrame is now available for ASP.NET 4.0 also

Posted in ASP.NET (C# & VB), C#, WCF by Alok Kumar Pandey on August 12, 2011
SageFrame is now available for ASP.NET 4.0 also, interested developers 
and site owners now can directly download from CodePlex. 
http://sageframe.codeplex.com/releases/view/70057 
How to install full guide is available 
Installation on Windows XP
 Installation on Windows 7
For details just visit 
http://www.sageframe.com
For the Support just visit
http://www.sageframe.com/Community/Forum.aspx
http://www.sageframe.com/Blog.aspx

Windows Phone ‘Mango’ hands-on (updated with longer video!)

Posted in ASP.NET (C# & VB), Windows Mobile 7 by Alok Kumar Pandey on May 29, 2011

On top of the promised 500 new features in Mango, Microsoft brought reps from The Weather Channel and The History Channel to show off Mango-focused features they’re working on in preparation for this fall’s launch.

For more details please visit

http://thisismynext.com/2011/05/24/windows-phone-mango-hands-on/

Parallel Extensions for ASP.NET 4 Apps

Posted in ASP.NET (C# & VB), C#, Windows Mobile 7 by Alok Kumar Pandey on May 11, 2011

ASP.NET applications already get a lot of concurrency for free. The .NET Framework load balances incoming requests among ThreadPool worker threads, striving for optimal use of available CPUs. As long as you minimize blocking in your ASP.NET page code, ASP.NET will process requests concurrently. In most cases, and in particular for Web applications with heavy usage, it is probably not necessary to introduce extra parallelism since adding more work items will only result in competition for CPU time and ultimately reduce request throughput.

Dealing with I/O bound work
If most of the work being done in an ASP.NET request is asynchronous in nature (such as I/O), doing the asynchronous work synchronously can be a huge scalability bottleneck. Solutions based on Asynchronous Programming Model (APM) and Event-based Asynchronous Pattern (EAP) have been recommended to ease this bottleneck. For an in-depth discussion on this refer to Scalable Apps with Asynchronous Programming in ASP.NET and Asynchronous Pages in ASP.NET 2.0. The article Improving ASP.NET Performance also has some good pointers to improving the scalability of your web applications.

New features in the .NET Framework 4 can also be used to make programming asynchronous pages easier. The System.Threading.Tasks.Task class (and the Taskclass that derives from it) can be used to represent asynchronous operations, both classes implement IAsyncResult, and they provide capabilities for coordinating between multiple asynchronous activities. Since part of ASP.NET’s asynchronous pages support is based on the Asynchronous Programming Model (APM) pattern and IAsyncResult, Task can play a role in easing the implementation of asynchronous pages. In particular, Task is most useful if you want to structure your code with continuations, which can be useful if you have multiple stages of asynchronous activity that need to happen before the rest of the page continues execution. For more details, refer to Tasks and the Event-based Asynchronous Pattern and Tasks and the APM Pattern

Dealing with CPU intensive work

If requests are computationally cheap to process, then parallelism is probably an unnecessary overhead.

If the incoming request rate is high, then adding more parallelism will likely yield few benefits and could actually decrease performance, since the incoming rate of work may be high enough to keep the CPUs busy.

If the incoming request rate is low, then the Web application could benefit from parallelism by using the idle CPU cycles to speed up the processing of an individual request. We can use either PLINQ or TPL (either Parallel loops or the Task class) to parallelize the computation over all the processors. Note that by default, however, the PLINQ implementation in .NET 4 will tie-up one ThreadPool worker per processor for the entire execution of the query. As such, it should only be used in Web applications that see few but expensive requests.

If the incoming request rate is variable, i.e. there are long periods when request rate is low (say, at night) and then other periods when request rate is high (say, midday), we need a strategy that will dynamically adjust to the available resources. When the load is high, we don’t want to add to the contention but when the load is low, we want to use the idle resources. For this scenario, we can use TPL’s Parallel or Task constructs since they can adapt to use available resources within a process. If the server is already loaded, the Parallel loops can use as little as one worker and make forward progress. If the server is mostly free, they can grow to use as many workers as the ThreadPool can spare.

Conclusion


ASP.NET already takes advantage multiple processors on your server. Most developers will not need to explicitly add any parallelism into their ASP.NET Web applications. However, if your particular situation requires explicit parallelism, the new parallelism APIs in .NET 4 can be beneficial to you.

What is major points in WCF

Posted in ASP.NET (C# & VB), WCF by Alok Kumar Pandey on May 3, 2011

1) Address — Specifies the location of the service which will be like http://Myserver/MyService.Clients will use this location to communicate with our service.

2) Contract — Specifies the interface between client and the server. It’s a simple interface with some attribute.

3) Binding — Specifies how the two paries will communicate in term of transport and encoding and protocols

What is WCF?
The Windows Presentation Foundation (WPF) is a next generation graphics platform that is part of .NET 3.0 and .NET 3.5. It allows you to build advanced user interfaces that incorporate documents, media, 2D and 3D graphics, animations, and web-like characteristics. In just 24 sessions of one hour or less, you will be able to begin effectively using WPF to solve real-world problems, developing rich user interfaces in less time than you thought possible. Using a straightforward, step-by-step approach, each lesson builds on a real-world foundation forged in both technology and business matters, allowing you to learn the essentials of WPF from the ground up

What is WCF?


Windows Communication Foundation (WCF) is an SDK for developing and deploying services on Windows. WCF provides a runtime environment for services, enabling you to expose CLR types as services, and to consume other services as CLR types.
WCF is part of .NET 3.0 and requires .NET 2.0, so it can only run on systems that support it.

Difference between WCF and Web services?
Web Services
1.It Can be accessed only over HTTP
2.It works in stateless environment
WCF
WCF is flexible because its services can be hosted in different types of applications. The following lists several common scenarios for hosting WCF services:
IIS
WAS
Self-hosting
Managed Windows Service

What are the various ways of hosting a WCF service?


Self hosting the service in his own application domain. This we have already covered in the first section. The service comes in to existence when you create the object of ServiceHost class and the service closes when you call the Close of the ServiceHost class.
Host in application domain or process provided by IIS Server.
Host in Application domain and process provided by WAS (Windows Activation Service) Server.

What is three major points in WCF?


We Should remember ABC.
Address — Specifies the location of the service which will be like http://Myserver/MyService.Clients will use this location to communicate with our service.
Binding — Specifies how the two paries will communicate in term of transport and encoding and protocols
Contract — Specifies the interface between client and the server.It’s a simple interface with some attribute.

What is the difference WCF and Web services?


Web services can only be invoked by HTTP (traditional webservice with .asmx). While WCF Service or a WCF component can be invoked by any protocol (like http, tcp etc.) and any transport type.

Second web services are not flexible. However, WCF Services are flexible. If you make a new version of the service then you need to just expose a new end. Therefore, services are agile and which is a very practical approach looking at the current business trends.

We develop WCF as contracts, interface, operations, and data contracts. As the developer we are more focused on the business logic services and need not worry about channel stack. WCF is a unified programming API for any kind of services so we create the service and use configuration information to set up the communication mechanism like HTTP/TCP/MSMQ etc
For more details, read http://msdn.microsoft.com/en-us/library/aa738737.aspx

What are various ways of hosting WCF Services?
There are three major ways of hosting a WCF services
• Self-hosting the service in his own application domain. This we have already covered in the first section. The service comes in to existence when you create the object of Service Host class and the service closes when you call the Close of the Service Host class.

• Host in application domain or process provided by IIS Server.
• Host in Application domain and process provided by WAS (Windows Activation Service) Server.

What was the code name for WCF?


The code name of WCF was Indigo .
WCF is a unification of .NET framework communication technologies which unites the following technologies:-
NET remoting
MSMQ
Web services
COM+

What are the main components of WCF?


The main components of WCF are
1. Service class
2. Hosting environment
3. End point

How to set the timeout property for the WCF Service client call?


The timeout property can be set for the WCF Service client call using binding tag.
If no timeout has been specified, the default is considered as 1 minute.

How to deal with operation overloading while exposing the WCF services?

By default overload operations (methods) are not supported in WSDL based operation. However by using Name property of OperationContract attribute, we can deal with operation overloading scenario.
[ServiceContract]
interface ICalculator
{
[OperationContract(Name = “AddInt”)]
int Add(int arg1,int arg2);
[OperationContract(Name = “AddDouble”)]
double Add(double arg1,double arg2);
}
Notice that both method name in the above interface is same (Add), however the Name property of the OperationContract is different. In this case client proxy will have two methods with different name AddInt and AddDouble.

How to configure Reliability while communicating with WCF Services?

Reliability can be configured in the client config file by adding reliableSession under binding tag.
Reliability is supported by following bindings only

NetTcpBinding
WSHttpBinding
WSFederationHttpBinding
WSDualHttpBinding

WoWoo SageFrame Beta is Avilable

Posted in ASP.NET (C# & VB) by Alok Kumar Pandey on March 21, 2011

Lot of New features like
* Multiple sites support
* Integrated security with role based module.
* Module Base CSS support for each module

* Rapid web site development
* Open and extensible architecture
* Full control over HTML code
* Highly customizable design
* User Friendly as well as developer Friendly URL management

* WYSIWYG editor
* Number of built-in modules
* On demand menu and page generation no training required
* On demand template selection
* On demand module installation and integration
* Perfect SEO(Search engine optimize) friendly web site management

For Detail Just Vistit SageFrame

Google Global Firefox Addon

Posted in ASP.NET (C# & VB) by Alok Kumar Pandey on February 24, 2011

Google Global Firefox Addon

Anyone who is familiar with the Internet and searching on Google is likely to have run across several geotargeted ads which serve up content based upon your location. If you’re a creator of one of these ads, you probably know about one of the many ways to check up on your ads from proxies to manual additions to the url for your search query. While those solutions certainly work and aren’t too time consuming, the new Firefox addon, Google Global, allows you to perform those tasks with a couple clicks instead.

What Is Google Global?

Google Global is an addon which allows you to right-click on a Google search results page and choose which country you would like to emulate, and Google returns its results as if you were located in that country. The first incarnation, version 1.0, was greeted with interest, but due to feedback received from users, version 2.0 has been rebuilt from the ground up to provide a better user experience.
For an even more targeted search, you can even set region IDs and create a custom list of frequently used locations that you would like to test from. The specifications include: country, city, region, ZIP code, and IP address. By changing these specifications, you’ll receive results for different locations and the common languages associated with those locations.
The addon is completely free, but it is incompatible with version 1.0 due to the complete rewrite, so users with the previous version will need to uninstall the old version before installation of 2.0.

Download Google Global

What Great .NET Developers Ought To Know

Posted in ASP.NET (C# & VB), C#, VB by Alok Kumar Pandey on February 23, 2011

Everyone who writes code

* Describe the difference between a Thread and a Process?
* What is a Windows Service and how does its lifecycle differ from a “standard” EXE?
* What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?
* What is the difference between an EXE and a DLL?
* What is strong-typing versus weak-typing? Which is preferred? Why?
* Corillian’s product is a “Component Container.” Name at least 3 component containers that ship now with the Windows Server Family.
* What is a PID? How is it useful when troubleshooting a system?
* How many processes can listen on a single TCP/IP port?
* What is the GAC? What problem does it solve?

Mid-Level .NET Developer

* Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming.
* Describe what an Interface is and how it’s different from a Class.
* What is Reflection?
* What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?
* Are the type system represented by XmlSchema and the CLS isomorphic?
* Conceptually, what is the difference between early-binding and late-binding?
* Is using Assembly.Load a static reference or dynamic reference?
* When would using Assembly.LoadFrom or Assembly.LoadFile be appropriate?
* What is an Asssembly Qualified Name? Is it a filename? How is it different?
* Is this valid? Assembly.Load(“foo.dll”);
* How is a strongly-named assembly different from one that isn’t strongly-named?
* Can DateTimes be null?
* What is the JIT? What is NGEN? What are limitations and benefits of each?
* How does the generational garbage collector in the .NET CLR manage object lifetime? What is non-deterministic finalization?
* What is the difference between Finalize() and Dispose()?
* How is the using() pattern useful? What is IDisposable? How does it support deterministic finalization?
* What does this useful command line do? tasklist /m “mscor*”
* What is the difference between in-proc and out-of-proc?
* What technology enables out-of-proc communication in .NET?
* When you’re running a component within ASP.NET, what process is it running within on Windows XP? Windows 2000? Windows 2003?

Senior Developers/Architects

* What’s wrong with a line like this? DateTime.Parse(myString);
* What are PDBs? Where must they be located for debugging to work?
* What is cyclomatic complexity and why is it important?
* Write a standard lock() plus “double check” to create a critical section around a variable access.
* What is FullTrust? Do GAC’ed assemblies have FullTrust?
* What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?
* What does this do? gacutil /l | find /i “Corillian”
* What does this do? sn -t foo.dll
* What ports must be open for DCOM over a firewall? What is the purpose of Port 135?
* Contrast OOP and SOA. What are tenets of each?
* How does the XmlSerializer work? What ACL permissions does a process using it require?
* Why is catch(Exception) almost always a bad idea?
* What is the difference between Debug.Write and Trace.Write? When should each be used?
* What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not?
* Does JITting occur per-assembly or per-method? How does this affect the working set?
* Contrast the use of an abstract base class against an interface?
* What is the difference between a.Equals(b) and a == b?
* In the context of a comparison, what is object identity versus object equivalence?
* How would one do a deep copy in .NET?
* Explain current thinking around IClonable.
* What is boxing?
* Is string a value type or a reference type?
* What is the significance of the “PropertySpecified” pattern used by the XmlSerializer? What problem does it attempt to solve?
* Why are out parameters a bad idea in .NET? Are they?
* Can attributes be placed on specific parameters to a method? Why is this useful?

C# Component Developers

* Juxtapose the use of override with new. What is shadowing?
* Explain the use of virtual, sealed, override, and abstract.
* Explain the importance and use of each component of this string: Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d
* Explain the differences between public, protected, private and internal.
* What benefit do you get from using a Primary Interop Assembly (PIA)?
* By what mechanism does NUnit know what methods to test?
* What is the difference between: catch(Exception e){throw e;} and catch(Exception e){throw;}
* What is the difference between typeof(foo) and myFoo.GetType()?
* Explain what’s happening in the first constructor: public class c{ public c(string a) : this() {;}; public c() {;} } How is this construct useful?
* What is this? Can this be used within a static method?

ASP.NET (UI) Developers

* Describe how a browser-based Form POST becomes a Server-Side event like Button1_OnClick.
* What is a PostBack?
* What is ViewState? How is it encoded? Is it encrypted? Who uses ViewState?
* What is the element and what two ASP.NET technologies is it used for?
* What three Session State providers are available in ASP.NET 1.1? What are the pros and cons of each?
* What is Web Gardening? How would using it affect a design?
* Given one ASP.NET application, how many application objects does it have on a single proc box? A dual? A dual with Web Gardening enabled? How would this affect a design?
* Are threads reused in ASP.NET between reqeusts? Does every HttpRequest get its own thread? Should you use Thread Local storage with ASP.NET?
* Is the [ThreadStatic] attribute useful in ASP.NET? Are there side effects? Good or bad?
* Give an example of how using an HttpHandler could simplify an existing design that serves Check Images from an .aspx page.
* What kinds of events can an HttpModule subscribe to? What influence can they have on an implementation? What can be done without recompiling the ASP.NET Application?
* Describe ways to present an arbitrary endpoint (URL) and route requests to that endpoint to ASP.NET.
* Explain how cookies work. Give an example of Cookie abuse.
* Explain the importance of HttpRequest.ValidateInput()?
* What kind of data is passed via HTTP Headers?
* Juxtapose the HTTP verbs GET and POST. What is HEAD?
* Name and describe at least a half dozen HTTP Status Codes and what they express to the requesting client.
* How does if-not-modified-since work? How can it be programmatically implemented with ASP.NET?
Explain and the usage of VaryByParam, VaryByHeader.
* How does VaryByCustom work?
* How would one implement ASP.NET HTML output caching, caching outgoing versions of pages generated via all values of q= except where q=5 (as in http://localhost/page.aspx?q=5)?

Developers using XML

* What is the purpose of XML Namespaces?
* When is the DOM appropriate for use? When is it not? Are there size limitations?
* What is the WS-I Basic Profile and why is it important?
* Write a small XML document that uses a default namespace and a qualified (prefixed) namespace. Include elements from both namespace.
* What is the one fundamental difference between Elements and Attributes?
* What is the difference between Well-Formed XML and Valid XML?
* How would you validate XML using .NET?
* Why is this almost always a bad idea? When is it a good idea? myXmlDocument.SelectNodes(“//mynode”);
* Describe the difference between pull-style parsers (XmlReader) and eventing-readers (Sax)
* What is the difference between XPathDocument and XmlDocument? Describe situations where one should be used over the other.
* What is the difference between an XML “Fragment” and an XML “Document.”
* What does it meant to say “the canonical” form of XML?
* Why is the XML InfoSet specification different from the Xml DOM? What does the InfoSet attempt to solve?
* Contrast DTDs versus XSDs. What are their similarities and differences? Which is preferred and why?
* Does System.Xml support DTDs? How?
* Can any XML Schema be represented as an object graph? Vice versa?

Top Best Free 42 CMS

Posted in ASP.NET (C# & VB), HTML and XHTML, VB, WCF by Alok Kumar Pandey on February 18, 2011

Top Best Free 42 CMS

At BLORGE we’re great fans of open source, and in particular, open source content management systems (CMS).

While we all know about content management systems such as SageFrame, DNN, Joomla, wordpress and Drupal, you may be surprised to learn that there literally dozens and dozens of other content management systems out there, many of which  do have their special niche.

While some CMSs are great for putting up a dynamic website in a snap, others are too difficult to implement and use. We’ve compiled a list of what we consider to be the top open source content management systems available to help you choose the most appropriate tool for your needs.

  1. SageFrameSageFrame is an open source web development framework developed on the top ASP.NET 3.5 with service pack 1 (sp1) technology, provided by SageFrame. The SageFrame is a Leading web content management framework for Microsoft asp.net.

 

The SageFrame is not only a framework with a set of classes but it also creates an abstraction layer in which the programmer is concerned only with the code. The programmer needs not to worry about HOW the result will be presented, but HOW to produce the information.

Users can now relax about various elements such as database, security (with multiple roles), file system, etc because all the elements are dealt with within the framework. Native support for internationalization, multiple sites, templates (based on CSS), integrated security and login with single sign-in, possibility to modify the templates of SageFrame and customize it according to your needs.

 

  1. DNN – DotNetNuke is the leading Web Content Management Platform (or CMS) for Microsoft ASP.NET
  2. Joomla – a very  popular open-source CMS that is found at the heart of many well known websites (the United Nations is just one example)
  3. Drupal – another very popular, powerful and flexible content management system
  4. WordPress – although geared for publishing blog, WordPress has proven that it can be a powerful CMS too, as you can see with my publisher’scustom publishing web site
  5. Movable Type – like WordPress, Movable Type is also a weblog creation tool which is also used for building non-blog dynamic websites
  6. b2Evolution – a full-featured weblog creation tool/CMS that supports multiple categories, sub-categories, multiple weblogs, skins, statistics, comments, anti-spam filters, photo management and multiple blogs
  7. Xoops – extensible, OO (Object Oriented), easy to use dynamic web content management system written in PHP
  8. Alfresco – powerful enterprise content management system featuring web and document management
  9. DotCMS – J2EE/Java Web Content Management System (wCMS) which includes an AJAX calendar and events management, e-communications tools, personalization/CRM tools, eCommerce hooks and more
  10. e107 – PHP-based content management system designed for the quick creation of websites or community portals
  11. Exponent– a website CMS that allows site owners to easily create and manage dynamic websites without necessarily directly coding web pages, or managing site navigation.
  12. ImpressCMS – a community developed CMS for easily building and maintaining a dynamic web site offering easy to use, secure and flexible system which is said to be an ideal tool for business to community users, from large enterprises to people who want a simple, easy to use blogging tool
  13. Liferay – offers an enterprise portal solution using Java and Web 2.0 technologies
  14. KnowledgeTree Document Management System – document management software designed for business people for team collaboration, storing documents with ease
  15. Pivot – a web-based tool for maintaining dynamic websites, weblogs or online journals
  16. Magnolia – widely used by most Government websites, it offers an easy-to-use editing interface that allows authors to lay out content exactly as it would appear to a website visitor. Contains “best-of-breed” Java technology
  17. MediaWiki – is a free software wiki package originally written for Wikipedia, but that is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis
  18. MiaCMS – is a fork of the Mambo CMS and offers simple installation, graphical content editors, RSS content syndication, powerful/extensible 3rd party extension system
  19. MODx – described as a “PHP application framework that helps you take control of your online content”; it allows developers and advanced users to give as much control as desired to whomever they desire for day-to-day website content maintenance chores
  20. Nucleus CMS – extensible and powerful CMS based on PHP/SQL blogging tool that features multiple weblog capabilities, and RSS syndication
  21. Nuxeo CPS – is said to be “the most complete open source platform” for building Enterprise Content Management (ECM) applications, and is described as an user-friendly accessible application ready to for enterprise-grade content management with many collaboration features.
  22. OneCMS – most commonly used by gaming websites, it can be used by webmasters to manage their website, allowing the user to upload files, add content and various other features
  23. OpenACS – an open architecture community system toolkit for building scalable, community-oriented web applications.
  24. PhpCMS–  a CMS characterized by simple system requirements, high performance and flexibility, which is said to be suitable for both small, private websites, as well as complex high-traffic websites
  25. Plone– easy to use, set-up and run CMS, well suited for project groups, online communities, small business websites
  26. TextPattern – a flexible and easy-to-use feature rich CMS with a built-in search engine
  27. PhpNuke – a CMS and portal solution that features web-based administration, surveys, customisable blocks, modules and themes with multilingual support.
  28. Zope – application server for building content management systems, intranets, portals, and custom applications, written in Python
  29. Plone – suited for building an intranet, web site or community site, Plone is a Content Management, Document Management and Knowledge Management system
  30. Jahia – is an enterprise web content and portal management system that includes a web publishing system, a content management server, and a portal server
  31. Website BAKER – a PHP-based CMS developed with one goal in mind, to enable users to create websites easily
  32. ezPublish – is both an open source content management system and content management framework, which offers an enterprise content management solution, community portal and social networking platform
  33. jLibrary – a CMS engine geared for both personal and enterprise use and offers a very flexible system that can almost be used for any information management purpose
  34. Pligg – ever wanted to create your own Digg clone? Well Pligg is exactly what you’re looking for. It’s a content management system based on PHP/MySQL with features such as multiple authors, article rating, private messaging and much more
  35. Mambo – full-featured CMS that can be used  for small or large websites; described as a “powerful enough for the most demanding Internet or intranet site, simple enough for everyone to use!”
  36. Jaws – a Framework and Content Management System for building dynamic web sites that is user-friendly and easy-to-use
  37. Geeklog – PHP/MySQL based application for managing dynamic web content, offering out-of-the-box blog engine, and CMS with support for comments, trackbacks, multiple syndication formats, and spam protection
  38. CMS Container – enables an organization to efficiently maintain a large content-driven website using single CMS. This CMS features the ability to create a staging and live environment, scheduling of content for publication, and automatic removal of content on expiry
  39. SiteFrame – a lightweight, web-based CMS designed for the rapid deployment of community-based websites. A group of users can share stories and photographs, create blogs, send email to one another, and participate in group activities.
  40. Xaraya – offers a “cutting edge open source framework” written in PHP, on which developers can create sophisticated web applications featuring modular design, stable and extensive API and fully internationalized platform
  41. PHP Fusion – PHP-based light-weight open-source content management system that includes a simple, comprehensive administration system.

“Programming Quotes”

Posted in ASP.NET (C# & VB), C#, HTML and XHTML, J-Query, JavaScript, LINQ, PLINQ, SEO, SilverLight, VB, WCF by Alok Kumar Pandey on February 15, 2011
  1. If debugging is the process of removing software bugs, then programming must be the process of putting them in. –  Edsger Dijkstra
  2.  

  3. The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.  – Tom Cargill
  4.  

  5. “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”-  C.A.R. Hoare
  6.  

  7. Measuring programming progress by lines of code is like measuring aircraft building progress by weight. – Bill Gates
  8.  

  9. “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – Martin Golding
  10.  

  11. “The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.” – Seymour Cray
  12.  

  13. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. – Rick Cook
  14.  

  15. “Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.” – Larry Wall
  16.  

  17. “Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code.” – Christopher Thompson
  18.  

  19. Walking on water and developing software from a specification are easy if both are frozen. –Edward V Berard