Friday, May 14, 2010
Bypas proxy with translate page
In my work our networking administrators stopped web sites that according to the security department should not be opened. Stopping WebPages that I usually follow makes me very angry. For a vile I follow these pages with help of proxy sites but every day network administrators they did find this and block also proxy sites that I use. One day in usually work day I had to translate a part of text from English to Albanian, for this I used the Google translator and I accidentally past a link in translate box instead of text, and I thought maybe it can work to open Website so I hit Translate button in Google page and I was amazed when I saw that the page did open successfully. From that day when I won to check my daily pages that are block I use translate pages like Google, yahoo and other too.
Sunday, April 11, 2010
C# 4.0 and its future
New version of c # 4.0 ( including dynamic typing, co- and contra-variance, named and optional parameters, and improved COM interoperability) will be release on 12.4.2010 but C# Chief Architect Anders Hejlsberg also presented first ideas for the next version of C# in DevDays in Netherlands.
Check out the video
Check out the video
Monday, January 25, 2010
New release of JQuery 1.4 version
Today during the day I visited the jQuery site and saw that a new version is published (jQuery 1.4 not only is this a complete redesign of the existing API site but it’s also a complete rewrite. ) they say. For more check the link: http://www.Jquery.com
Monday, August 31, 2009
Some Software Architecting thoughts
Hear I post some of sentence that I did take from my favorite book "Architecting Microsoft® .NET Solutions for the Enterprise" that I strongly recommend to read this book even if you’re not a Software Architect (yes I’m also a developer but this help me a lot in my development of project).
It Depends
It always depends. As an architect, you are never sure about anything. There's always the possibility that you're missing something. However, the role requires that decisions be made, so you must be able to evaluate all options and make an informed decision, and to do this promptly, when a decision is required. To buy yourself some time and activate your mental processes in the background, first say, "It depends," and then explain why and what the answer depends on. If you are unsure about what a point depends on, the default answer is, "It depends on the context."
Requirements Are Lord Over All
The architect is just one link in the natural chain of actors in a software project. The customer says what he wants. If the customer doesn't know what he wants, someone will be there to prompt him for specifics. The analyst formalizes what the customer wants. The project manager prepares the groundwork for the formally-defined project. The architect gets the bundle of requirements and sorts them out. Developers follow the architect. The database administrator does his best to make the database support the application effectively. Note that the customer leads the chain, and what the customer wants is the law. What the customer wants goes under the name of requirements. Of course, only few customers know what it is they want. So requirements change.
Program to an Interface
Even if you make a living out of implemented code, you should leverage interfaces wherever possible. Repeat with us: "No implementation is possible without an interface." Look around, there's always an interface that can be extracted.
Keep It Simple but Not Simplistic
You know KISS (Keep It Simple, Stupid), right? This is just our customized version. Simple and concise is usually equivalent to great and well done. Aim at simplicity, but give yourself a boundary for the low end of the range. If you go below that lower boundary, your solution will become simplistic. And this is not a good thing.
Inheritance Is About Polymorphism, Not Reuse
Object-oriented programming (OOP) taught us that we should write a class once and reuse it forever and extend it at will. And this is possible thanks to inheritance. Does this naturally extend to class reuse? Reuse is a much subtler concept than you might think at first. Polymorphism is the key aspect of OOP to leverage. Polymorphism means you can use two inherited classes interchangeably. As others have said, "Reuse is a nice side effect to have." But reuse shouldn't be your goal, or put another way, don't reuse a class through inheritance just to reuse the class. It's better to write a new class that more precisely fits the needs than to try to inherit an existing class that wasn't designed for the job.
Not the DAL? Don't Touch SQL Then
Repeat with us: "Separation of concerns. Separation of concerns." Push data access code and details (such as connection strings, commands, and table names) to the corner. Sooner or later, you need to take care of them, but consider business and presentation logic separately from persistence. And if possible, delegate persistence to ad hoc tools such as Object/ Relational Mapper (O/RM) tools.
Maintainability First
If you could pick only one attribute for your software, what would it be? Scalability? Security? Performance? Testability? Usability? For us, it would be none of the above. For us, what comes first is maintainability. Through maintainability, you can achieve anything else at any time.
All User Input Is Evil
You should have heard this already. If there's a way for users to do something wrong, they'll find it. Oh, this sounds like Murphy's Law. Yes, you should have heard this one, too, already.
Post-Mortem Optimization
Donald Knuth said that premature optimization is the root of all software evil. We go even further. Do not optimize the system. Instead, design it for being improved and extended at any time. But focus on pure optimization only when the system is dismissed.
Security and Testability Are by Design
If you're serious about a system attribute, design for it right from the beginning. Security and testability are no exception to this rule, and there's an International Organization for Standardization (ISO) standard that specifically says so.
It Depends
It always depends. As an architect, you are never sure about anything. There's always the possibility that you're missing something. However, the role requires that decisions be made, so you must be able to evaluate all options and make an informed decision, and to do this promptly, when a decision is required. To buy yourself some time and activate your mental processes in the background, first say, "It depends," and then explain why and what the answer depends on. If you are unsure about what a point depends on, the default answer is, "It depends on the context."
Requirements Are Lord Over All
The architect is just one link in the natural chain of actors in a software project. The customer says what he wants. If the customer doesn't know what he wants, someone will be there to prompt him for specifics. The analyst formalizes what the customer wants. The project manager prepares the groundwork for the formally-defined project. The architect gets the bundle of requirements and sorts them out. Developers follow the architect. The database administrator does his best to make the database support the application effectively. Note that the customer leads the chain, and what the customer wants is the law. What the customer wants goes under the name of requirements. Of course, only few customers know what it is they want. So requirements change.
Program to an Interface
Even if you make a living out of implemented code, you should leverage interfaces wherever possible. Repeat with us: "No implementation is possible without an interface." Look around, there's always an interface that can be extracted.
Keep It Simple but Not Simplistic
You know KISS (Keep It Simple, Stupid), right? This is just our customized version. Simple and concise is usually equivalent to great and well done. Aim at simplicity, but give yourself a boundary for the low end of the range. If you go below that lower boundary, your solution will become simplistic. And this is not a good thing.
Inheritance Is About Polymorphism, Not Reuse
Object-oriented programming (OOP) taught us that we should write a class once and reuse it forever and extend it at will. And this is possible thanks to inheritance. Does this naturally extend to class reuse? Reuse is a much subtler concept than you might think at first. Polymorphism is the key aspect of OOP to leverage. Polymorphism means you can use two inherited classes interchangeably. As others have said, "Reuse is a nice side effect to have." But reuse shouldn't be your goal, or put another way, don't reuse a class through inheritance just to reuse the class. It's better to write a new class that more precisely fits the needs than to try to inherit an existing class that wasn't designed for the job.
Not the DAL? Don't Touch SQL Then
Repeat with us: "Separation of concerns. Separation of concerns." Push data access code and details (such as connection strings, commands, and table names) to the corner. Sooner or later, you need to take care of them, but consider business and presentation logic separately from persistence. And if possible, delegate persistence to ad hoc tools such as Object/ Relational Mapper (O/RM) tools.
Maintainability First
If you could pick only one attribute for your software, what would it be? Scalability? Security? Performance? Testability? Usability? For us, it would be none of the above. For us, what comes first is maintainability. Through maintainability, you can achieve anything else at any time.
All User Input Is Evil
You should have heard this already. If there's a way for users to do something wrong, they'll find it. Oh, this sounds like Murphy's Law. Yes, you should have heard this one, too, already.
Post-Mortem Optimization
Donald Knuth said that premature optimization is the root of all software evil. We go even further. Do not optimize the system. Instead, design it for being improved and extended at any time. But focus on pure optimization only when the system is dismissed.
Security and Testability Are by Design
If you're serious about a system attribute, design for it right from the beginning. Security and testability are no exception to this rule, and there's an International Organization for Standardization (ISO) standard that specifically says so.
Thursday, October 25, 2007
Eric Traut talks (and demos) Windows 7 and MinWin
Thanks to DigitalDud on Channel9 for noting, on October 13 last week, Microsoft’s distinguished engineer Eric Traut gave a presentation at the University of Illinois about Microsoft’s virtualization technology and also mentioned Windows 7 - the next version of Windows after Vista. And believe it or not it was on video. Whilst the presentation is not directly about Windows 7, it does contain a demonstration of MinWin - an internal project to build the most efficient Windows kernel which will in turn be used in Windows 7.
The whole presentation (WMV) goes for approximately 1 hour and includes a very deep look into hypervisors. http://www.acm.uiuc.edu/conference/2007/video/UIUC-ACM-RP07-Traut.wmv
The whole presentation (WMV) goes for approximately 1 hour and includes a very deep look into hypervisors. http://www.acm.uiuc.edu/conference/2007/video/UIUC-ACM-RP07-Traut.wmv
Monday, October 15, 2007
Concurrent Programming with PFX
Microsoft is developing a number of technologies to simplify the expression of parallelism in code. An example of this work is Parallel Extensions for the .NET Framework (PFX), a managed programming model for data parallelism, task parallelism, scheduling, and coordination on parallel hardware. PFX makes it easier for developers to write programs that take advantage of parallel hardware (you've all heard of multi-core and what the future holds with many-core...), without having to deal with the complexities of threads and locks in today’s concurrent programming story. Of course, PFX is not a concurrent programming silver bullet. There is still a great deal of work left to do in the imperative programming world's approach to concurrency. PFX is an excellent start with a syntax that .NET developers can relate to and understand.Here, Joe Duffy, Senior Software Engineer, and Technical Fellow Anders Hejlsberg sit down with me to discuss the basics and some of the details of the managed PFX library's architecture and implementation, whiteboard included.For more information on specific technologies.
the video u can use this link http://mschnlnine.vo.llnwd.net/d1/ch9/0/AndersH_JoeDuffy_ParallelFX_2_5Mbs.wmv
the video u can use this link http://mschnlnine.vo.llnwd.net/d1/ch9/0/AndersH_JoeDuffy_ParallelFX_2_5Mbs.wmv
Wednesday, October 10, 2007
Dramatically Improve Data-Driven Web Application Development with LINQ, Part 5
Part 5 of Richard Hale Shaw's session, Dramatically Improve Data-Driven Web Application Development with LINQ.
http://channel9.msdn.com/Screencasts/346893_MOV00A.wmv
http://channel9.msdn.com/Screencasts/346893_MOV00A.wmv
Subscribe to:
Posts (Atom)