My SQL Server Programming-Kill Spid?

Here's a little snippet from an SP i wrote a couple of years ago when i wanted to drop a db. Given the id of the database (@DR_ID), killed my processes just fine...
Get the dbid using the db_id() function.

    -- Get a cursor with the processes that have to die in order to be able to drop db
    DECLARE curProcesses CURSOR
        SELECT spid
            dbid = @nDR_ID

    OPEN curProcesses

    FETCH NEXT FROM curProcesses INTO --Gets the first process
    SET @nFetchStatus = @@FETCH_STATUS

    --Kill the processes
    WHILE @nFetchStatus = 0
        SET @sTemp ='KILL ' + CAST(@nKillProcess as varchar(5))
        FETCH NEXT FROM curProcesses INTO --Gets the next process
        SET @nFetchStatus = @@FETCH_STATUS
    CLOSE curProcesses
    DEALLOCATE curProcesses

Microsoft Surface Diagram: How it all works

The Microsoft Surface is a revolutionary piece of equipment that has basically brought the major film Minority Report to life, we never imagined something so futuristic would be here with is in 2007. This is heaven to us and we guess it is to you as well, the way this new Touch Surface high tech table works is mind blowing but below we have 4 simple steps of how the Microsoft Surface works.
Microsoft Surface Diagram
Microsoft Surface Diagram
1) Screen –
• There is a diffuser which turns the Surface’s acrylic tabletop into a large horizontal “multitouch” screen, which is capable of processing multiple inputs from multiple users. The Surface is so far advanced than we could imagine that it can recognize objects by their shapes or by reading coded “domino” tags when placed on the table.
2) Infrared –
• Surface’s “machine vision” operates in the near-infrared spectrum, using an 850-nanometer-wavelength LED light source aimed at the screen. When objects touch the tabletop, the light reflects back and is picked up by multiple infrared cameras with a net resolution of 1280 x 960.
3) CPU –
• Surface uses many of the same components found in everyday desktop computers — a Core 2 Duo processor, 2GB of RAM and a 256MB graphics card. Wireless communication with devices on the surface is handled using WiFi and Bluetooth antennas (future versions may incorporate RFID or Near Field Communications). The underlying operating system is a modified version of Microsoft Vista.
4) Projector -
• Microsoft’s Surface uses the same DLP light engine found in many rear-projection HDTV’s. The footprint of the visible light screen, at 1024 x 768 pixels, is actually smaller than the invisible overlapping infrared projection to allow for better recognition at the edges of the screen.

How to Kill All Processes That Have Open Connection in a SQL

The below code block can be used to kill all the processes which are connected to the database named @dbname except the process that the code block is running in the scope of. You can also set the database name by the DB_NAME() property.

DECLARE @dbname nvarchar(50)

dbname = N'Works'
--SET @
dbname = DB_NAME()
WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId

OPEN my_cursor




CLOSE my_cursor
DEALLOCATE my_cursor

MySQL 5.0 vs. Microsoft SQL Server 2005

Database engines are a crucial fixture for businesses today. There is no shortage of both commercial and open source database engines to choose from. Microsoft SQL Server 2005 is Microsoft’s next-generation data management solution that claims to deliver secure and scalable applications while making them easy to deploy and manage. MySQL has long been the DBMS of choice in the open source community. The recent release of MySQL 5.0 has seen major changes in both features and performance to bring the database system into enterprise-level standards.

This paper aims to give the low-down on features most desirable to database developers and compare both database management systems in light of these features.

View Complete article here

7 Best Skills that Every Programmer and Developer should Know

1. All development aspects
The “code” (implementation) is not a stand-alone artifact. It is related with the other development aspects. Example: the code design shall have a good enough modeling of the business domain aspects.
That means the developer (programmer) shall understand and know all these aspects. A good developer SHALL ACT LIKE A TEAM or shall know all the teams’ acts.
For that the “great developer” shall understand and have experience in all others development roles (PM, architect, designer, analyst, tester etc) and a good understanding of software methodologies.

2. Quality evolution versus successive projects
There is no absolute quality. There is only quality in context of one or more projects. A project can have constrains related to SCOPE, TIME and QUALITY. The next project on the same product could have other constrains related to these aspects. The development team shall consider also short, medium, and long term constraints. That mean if the first project was with great time constraint and less quality restrictions, the development team shall be able to restore the quality on the next projects. That is possible only if some development rules are respected.
A great developer shall be able to manage that.

3. Quality management
Quality can be achieved only by quality management: plan quality, assure quality, control quality and continuously improve the process.

4. Quality basic instruments in software: architecture & code quality
- shall be a good architect
- shall be good designer
- shall know to adapt: when “simple design” is required and when need a more elaborated design

5. One man team or team leading
A perfect developer shall be able to replace a team or any team missing parts.
- Good multi-disciplinary knowledge and skills in software domain
- Project & Team leadership’s skills, coaching, training

6. Agility
One team man shall be super-agile. For that, mandatory requirements for agile development shall be fulfilled:
- multi-disciplinarily
- senior skills in development
- senior skills in refactoring
- senior skills in communication
- great problem solving skills
- capability to work in a team or independently

7. Technologies
- shall have a good experience with different technologies
- shall be able to adapt to the new technologies

NetBeans IDE 6.9 Beta released!!!!

NetBeans IDE 6.9 Beta Release Information
The NetBeans IDE is an award-winning integrated development environment available for Windows, Mac, Linux, and Solaris. The NetBeans project consists of an open-source IDE and an application platform that enable developers to rapidly create web, enterprise, desktop, and mobile applications using the Java platform, as well as JavaFX, PHP, JavaScript and Ajax, Ruby and Ruby on Rails, Groovy and Grails, and C/C++. 
NetBeans 6.9 Beta introduces the JavaFX Composer, a visual layout tool for visually building JavaFX GUI applications, similar to the Swing GUI builder for Java SE applications. Additional highlights include OSGi interoperability for NetBeans Platform applications and support for developing OSGi bundles with Maven; support for JavaFX SDK 1.3, PHP Zend framework, and Ruby on Rails 3.0; as well as improvements to the Java Editor, Java Debugger, issue tracking, and more. 
Visit for more details

Create Installer for Java Application

Today, I came across a good article mentioning how to convert your java application into a installer and distribute it. There is an option to add JRE, obfuscate the code and make .exe of java programme in that.
Read it here

5 Best Habits of Software Developers

This article illustrates five habits of software development teams that make them more effective and therefore more profitable. It first will describe the demands the business team puts on its software development team and the software they create.
Next it will explain the important differences between state-changing logic and behavior logic.
Finally, it will illustrate the five habits using a customer account scenario as a case study.

There are many; and many of these are specific to types of work. I shall try and list some of the most important. Bear in mind that there's a lot hiding under each of the topics I list.

1. Treat every defect as an opportunity to learn; how did the defect get there? What can be done to prevent that type of defect happeining again?

2. Simple Design. Think about how much you can take away and still meet the requirements, rather than how fancy a solution you can build to the requirements. Keep a look out for code duplication - where the same decision is made in more than one part of the code.

3. Communicate. You can learn something from everybody. Talk to the people who are providing the requirements, who will use the system, who will test what you design, who are designing other parts of the system, who are looking at the overall architecture - if there are such people for your system.

4. Learn. All the time. Everything. I guess this isn't essential, but all the top developers I've ever met seem to do this, so I think I see a pattern...

5. Be able to work in other peope's roles. You don't need to be good at everything, but know enough about the basics of testing, requirements gathering, architecture, live support, project management etc. that you could cover those roles for a short period, with help.

6. Teach. Not all the time, but trying to explain concepts to other people is a great way of getting them straight in your own mind. 

Microsoft Visual Studio 2010 Express Features and latest Updates

The Visual Studio 2010 Express is a set of free tools which offers you an exciting experience with the new integrated development environment, a new editor built in Windows Presentation Foundation (WPF) and support for the new .NET Framework 4
Here are some key features of Visual Studio Express Edition:

- Visual Studio 2010 Express supports the new .NET Framework 4.

- Visual Studio 2010 Express products have a new integrated development environment (IDE) including a new Windows Presentation Framework code editor.

- In this new release, Visual Studio 2010 Express gains multi-monitor support as well as part of the new IDE.

- Unique to Visual Studio 2010 Express is a new streamlined user experience that focuses on the most common commands by hiding some of the more advanced menus and toolbars. These are easily accessible by users via the Tools / Settings menu.a

Microsoft Visual Studio 2010 Express gets more cloud-computing friendly

The just launched Visual Studio 2010 is packed with plenty of new functionalities and features, including better integration with the Windows Azure cloud computing platform, which should put local software developers on Cloud 9.
With Windows Azure Tools, developers can quickly write, test, debug and deploy cloud applications from within the familiar Visual Studio environment, said Microsoft Malaysia at the launch.
To address the growing complexity of software development, Visual Studio 2010 also ships with the powerful IntelliTrace tool.
Described as a “time machine for developers and testers,” this tool makes non-reproducible bugs a thing of the past.
It enables developers to record an application’s execution history, which guarantees reproduction of any bugs to allow a tester to easily find it again, and to iron out the glitch once and for all.
Also new is multi-monitor support to enable a developer to “tear off” any window, such as a code or trace information application, and dock it in a separate display for much easier viewing.
During the launch, Microsoft also unveiled an updated .NET Framework 4, which now has additional support for various industry standards — and thanks to the inclusion of Dynamic Language Runtime, more language choices for users.
The revamped product now also supports high-performance middle-tier applications, such as parallel programming, workflow and service-oriented applications.

5 PHP Mistakes

1. Single quotes, double quotes

It’s easy to just use double quotes when concatenating strings because it parses everything neatly without having to deal with escaping characters and using dot values. However, using single quotes has considerable performance gains, as it requires less processing.
Consider this string:
  1. $howdy = 'everyone';  
  2. $foo = 'hello $howdy';  
  3. $bar = "hello $howdy";  
$foo outputs to “hello $howdy” and $bar gives us “hello everyone”. That’s one less step that PHP has to process. It’s a small change that can make significant gains in the performance of the code.

2. Semicolon after a While

It’s funny how one little character can create havoc in a program, without even being reported to the PHP error logs! Such as it is with semicolons and While statements.
Codeutopia has an excellent example of this little error, showing that these nasty errors don’t even get reported (even to E_ALL!), as it quietly falls into a silent loop.
  1. $i = 0;  
  2. while($i < 20); {  
  3.   //some code here  
  4.   $i++;  
  5. }  
Omit the ; after the while statement, and your code is in the clear.

3. NOT Using database caching

If you're using a database in your PHP application, it is strongly advised that you at least use some sort of database caching. Memcached has emerged as the most poplar caching system, with mammoth sites like Facebook endorsing the software.
Memcached is free and can provide very significant gains to your software. If your PHP is going into production, it's strongly advised to use the caching system.

4. Missing Semicolon After a Break or a Continue

Like #2, a misused semicolon can create serious problems while silently slipping off into the shadows, making it quite difficult to track the error down.
If you're using a semicolon after a "break" or "continue" in your code, it will convince the code to output a "0" and exit. This could cause some serious head scratching. You can avoid this by using braces with PHP control structures (via CodeUtopia).

5. Not Using E_ALL Reporting

Error reporting is a very handy feature in PHP, and if you're not already using it, you should really turn it on. Error reporting takes much of the guesswork out of debugging code, and speeds up your overall development time.
While many PHP programmers may use error reporting, many aren't utilizing the full extent of error reporting. E_ALL is a very strict type of error reporting, and using it ensures that even the smallest error is reported. (That's a good thing if you're wanting to write great code.)

Top 10 Concepts That Every Software Engineer Should Know

The future of software development is about good craftsmen. With infrastructure like Amazon Web Services and an abundance of basic libraries, it no longer takes a village to build a good piece of software.
These days, a couple of engineers who know what they are doing can deliver complete systems. In this post, we discuss the top 10 concepts software engineers should know to achieve that.
A successful software engineer knows and uses design patterns, actively refactors code, writes unit tests and religiously seeks simplicity. Beyond the basic methods, there are concepts that good software engineers know about. These transcend programming languages and projects – they are not design patterns, but rather broad areas that you need to be familiar with. The top 10 concepts are:
  1. Interfaces
  2. Conventions and Templates
  3. Layering
  4. Algorithmic Complexity
  5. Hashing
  6. Caching
  7. Concurrency
  8. Cloud Computing
  9. Security
  10. Relational Databases

Adobe Flash CS5 Can Export to HTML5 Canvas

Adobe is not in the best position it has ever been, as its massively popular Flash platform is getting attacked from all sides. Apple is leading the charge, and the weapon it's using against it is HTML5. The proposed web standard can do many of the things Flash does, offering developers an... [View Full Article]

Twitter toys with sending ads to clients

In the history of anything whatsoever, timing is rarely, if ever, coincidental. More often these days, however, the strategy behind it looks confusing. Just days before it's scheduled to hold its developers conference in San Francisco (tomorrow and Thursday), Twitter revealed that it is in the process of either acquiring or building applications that will compete directly with the Twitter clients these developers will be taught how to build.
On Friday, Twitter revealed it was in the midst of purchasing Tweetie, believed to be the most popular Twitter client for Apple's iPhone. That product will become "Twitter for iPhone." That same day, the service released a Twitter client for BlackBerry; and it's that second event that let developers know, as Arlo Guthrie once put it, that there's a movement.S

10 Reasons why Ruby is better than PHP

I bet you thought I'd never get any more reasons out did ya? Well, today, I'm going to tell you all about IRB and the Rails command line debugger, both of which I use religiously.
One of the great pleasures of using Ruby, apart from the previous three reasons, and of course the following five reasons, is the wonder that is the Interactive Ruby console, or IRB. IRB is an interactive interpreter; which means that instead of processing a file, it processes what you type in during a session. It's a great tool for testing Ruby code, and a great tool for learning Ruby.
Once you have Ruby installed on your computer, you will notice that the ruby command will do the same thing as PHP - it silently waits for a script to be streamed in on stdin. On it's own, that's not particularly friendly, or even that useful. But another command that is installed alongside Ruby, is the irb command. Start up your command line tool of choice, and simply enter these three immortal letters: irb. Then you will see this:
This is the irb prompt. Now all you do is simply type any ruby code, and it will show you the result of each and every expression as it is evaluated. Not sure how a method works, or can't remember the output of a method? Then test it with IRB.
IRB lets you do things without having to fake out your controller. For example, in PHP, I'm forever using echo or CakePHP's debug function to print out some useful info to the browser when debugging my code. But when developing with Ruby, I simply have my trusty IRB prompt ready and waiting for me to inflict world domination.
Each of the above lines will be following by IRB echoing the result. So I can see exactly what is going on, and without me having to echo out data all through my code and to the browser.
This is actually very, very useful, and is a great way to test your code, or in fact any code at all. It's even better if you are a command line freak like me.
What is even better, better (!?) is that Rails also has its own command line interpreter, which is basically an extension of IRB. What makes it a little different, is that when it is started up, it also loads all your Rails code. So you have instant access to your Rails models, which is also very handy. Just cd to your Rails app root, and run:
You are then shown a similar command line prompt to IRB, and can run any part of your Rails app code.
To wrap up reason #4, I want to tell you about one of the best things about developing with Ruby on Rails. It's another extension of IRB, similar to Rails script/console, but is simply genius when debugging your Rails code.
There are several ways in which you can run your Rails app, but the traditional method is by using the the script/server script within your app. When run on the command line, this will start up a small web server, usually run by Webrick or Mongrel. Now I wouldn't recommend this method when running your app in production, as there are much better, and more efficient ways to do so, but I use this all the time when developing or testing my app code.
Just cd to your Rails app root and run this on the command line:
Notice I appended a command line flag; -u. This tells the Rails server to start up in Debug mode. If you use Mongrel, this is what you will see:
And the command line prompt will sit there blinking at you, waiting for you to load your app in your browser. So don't keep it waiting, open up your browser, and go to http://localhost:3000, and you will be shown your Rails app in all its glory.
Now we get to the good bit. Open up the code of any of your controllers in your favourite IDE or text editor. Then type the word debugger within one of your actions. Then go back your browser and navigate to that page. You should the notice that the page does not appear to finish loading. That is because your debugger keyword within the action method, has paused the server until you tell it to continue.
Go back to your command line when you started the Rails server, and you will see a bunch of log data, following by what looks like an IRB prompt. That is effectively what it is. You can now type any Ruby code at that prompt, just like you would with IRB or script/console. But the beauty of this, is that you have access to all the variables and methods at exactly the same point in your code where you placed the debugger keyword.
So instead of having to type echo or print statements throughout your code, and running them through your browser to see the results. You can add the debugger keywork at the point where you want to debug, and use the command line to access your code in real time.
I really hope you got all that, as this feature has saved me hours and hours of time when debugging my code. I can honestly say that it is a life saver. You really should try it out now, or if you're a little impatient, try it out in your browser for instant gratification. You should also check out Amy Hoy's "Secrets of the Rails Console Ninja's".
Thanks again for sticking with me, and hold on to your pants for reason #5 where I will be talking about Modules; Ruby's answer to name spaces. Which will lead me nicely onto another Ruby exclusive: Mixins!
P.S. I really appreciate everyone's comments. Keep them coming.

10 Reasons why DBAs Should Use Native XML

Top 10 Performance Testing Mistakes

1.Incorrect Load Levels
Fix: Improve and focus communications by conducting a one-on-one interview to determine expected “real world” load levels. If the application is already in production, obtain live usage data.

2 Performance Tester Identifying Key Business Processes
Fix: Conduct a one-on-one interview to identify key business processes: mission critical, heavy throughput, dynamic content, and any other business process that causes concern.

3 Too Many Business Processes
Fix: Concentrate on a few, perhaps 6-8, key business processes for performance testing - this is not a functional test.

4 Altering Load Test Objectives
Fix: Develop a complete custom plan with goal load levels, business process steps, transaction names, and acceptable response times. Analyze any missed objectives - stay consistent with the original goals unless there is a compelling reason for change.

5 Late Focus on Performance Testing
Fix: Engage the performance testing team as early as possible in the development life cycle to allow time between executions for a good analysis of the results from the performance tester. Detecting and correcting performance issues early reduces the repair cost.

6 Poor Transaction Naming Convention
Fix: For easier analysis, maintainability, future growth, and possible server consolidation, provide a clear naming convention.

7 Performance Tester Stands Alone
Fix: Let the experts do what they do best. Involve all members of the team: the DBA, Web Server Expert, Application Expert, Developer, etc. Executing a performance test is best done as a team.

8 Not Validating the Execution Transaction Levels
Fix: Validating transaction levels against the test plan after executing a full load test ensures the test presented the desired load to the application.

9 Server Experts Become Bouncy
Fix: If possible, don't bounce the server between test executions. Bouncing the server prior to every test causes the need to rebuild the memory and cache. Memory leaks and other reliability and availability issues will be more easily identified if the server is left untouched.

10 Over-technical on Results Reporting
Fix: Performance testing creates mountains of data that are usually very interesting to technical experts. Ultimately, however, the owners of the application are looking for key performance indicators to make a sound business decision for their application go-live. Create a one-minute overview for managers that concisely conveys the critical data related to application performance.

James Gosling leaves Oracle

James Gosling, the creator of the Java programming language, has resigned from Oracle, he announced in a blog entry on Friday
Gosling resigned on April 2 and has not yet taken a job elsewhere, he reported.
"As to why I left, it's difficult to answer: just about anything I could say that would be accurate and honest would do more harm than good," he wrote.

Groovy vs Scala [vs JRuby vs Closure vs Jython]

I'm planning to broaden my perspectives in JVM platform, and I've got a dilemma: what should I learn first? Could you please explain, what are the advantages of Groovy, Scala and other languages for JVM? Thanks.

Chosen as Best

JRuby and Jython. Both of these particular compilers are not quite there yet, mostly because JVM doesn't play nice with dynamic languages, so they have to go through some hoops.
Now, Ruby and Python are definitely two of the most important dynamic languages today. While they certainly compete against each other, they are quite different by themselves, in the community and philosophy.
Python is about choosing the Right Way and sticking to it. It's particularly conscious of form, and think form and semantics should not be dissociated, the most obvious example of which is the decision to delimit blocks through identation. As long as the particular decisions taken in Python agree with you, its a language that will please people who value stability.
Ruby is about going Your Way, the most striking example of which is the eagerness with which Ruby developers extend the language and libraries, sometimes to the detriment of interoperability when using multiple libraries. Their response to this late development is also quite telling: they are working on ways to keep doing that without causing such problems. People who like to tinker may well prefer Ruby.
Python had definitely a head start -- back in '99 it already had a name to it, while Ruby was slowing making inroads as an alternative to it. Ruby would only become a strong competitor when Rails came, and Ruby on Rails took the web by storm, leaving a path of copycats (for instance, Groovy's Grails).
Both languages have very strong community and features, and the most likely factor of choice is personal, subjective preference.
Which get us back to Scala, Groovy and Closure.
Groovy's strongest point is that its syntax is very, very close to Java, so a Java programmer can enjoy the benefits of a dynamic language almost effortlessly.
Closure's strongest point is that it is a Lisp. It has some advanced features, such as software transactional memory, but, in the end, the fact that it is a Lisp is more likely to influence one's decision to adopt it or not.
Finally, Scala is statically typed, which puts it in an entirely different class from all others. What often makes people group it together with the others is that it is a very concise and overhead-free language, like those dynamic languages. In that sense, a Java programmer may well be more comfortable with it than Groovy, as one gets the benefits of concise programs without giving up static typing.

What are the key differences between Scala and Groovy?

They're both object oriented languages for the JVM that have lambdas and closures and interoperate with Java. Other than that, they're extremely different.
Groovy is a "dynamic" language in not only the sense that it is dynamically typed but that it supports dynamic meta-programming.
Scala is a "static" language in that it is statically typed and has virtually no dynamic meta-programming beyond the awkward stuff you can do in Java. Note, Scala's static type system is substantially more uniform and sophisticated than Java's.
Groovy is syntactically influenced by Java but semantically influenced more by languages like Ruby.
Scala is syntactically influenced by both Ruby and Java. It is semantically influenced more by Java, SML, Haskell, and a very obscure OO language called gBeta.
Groovy has "accidental" multiple dispatch due to the way it handles Java overloading.
Scala is single dispatch only, but has SML inspired pattern matching to deal with some of the same kinds of problems that multiple dispatch is meant to handle. However, where multiple dispatch can only dispatch on runtime type, Scala's pattern matching can dispatch on runtime types, values, or both. Pattern matching also includes syntactically pleasant variable binding. It's hard to overstress how pleasant this single feature alone makes programming in Scala.
Both Scala and Groovy support a form of multiple inheritance with mixins (though Scala calls them traits).
Scala supports both partial function application and currying at the language level, Groovy has an awkward "curry" method for doing partial function application.
Scala does direct tail recursion optimization. I don't believe Groovy does. That's important in functional programming but less important in imperative programming.
Both Scala and Groovy are eagerly evaluated by default. However, Scala supports call-by-name parameters. Groovy does not - call-by-name must be emulated with closures.
Scala has "for comprehensions", a generalization of list comprehensions found in other languages (technically they're monad comprehensions plus a bit - somewhere between Haskell's do and C#'s LINQ).
Scala has no concept of "static" fields, inner classes, methods, etc - it uses singleton objects instead. Groovy uses the static concept.
Scala does not have built in selection of arithmetic operators in quite the way that Groovy does. In Scala you can name methods very flexibly.
Groovy has the elvis operator for dealing with null. Scala programmers prefer to use Option types to using null, but it's easy to write an elvis operator in Scala if you want to.
Finally, there are lies, there are damn lies, and then there are benchmarks. The computer language benchmarks game ranks Scala as being between substantially faster than Groovy (ranging from twice to 93 times as fast) while retaining roughly the same source size. benchmarks.
I'm sure there are many, many differences that I haven't covered. But hopefully this gives you a gist.
Is there a competition between them? Yes, of course, but not as much as you might think. Groovy's real competition is JRuby and Jython.

Ubuntu 10.10 to be code named Maverick Meerkat

Ubuntu 10.04, codenamed Lucid Lynx, is scheduled for release this month. The developers at Canonical, the company behind the Ubuntu Linux distribution, have already started the process of planning for the next major release. Founder Mark Shuttleworth revealed today in a blog entry that Ubuntu 10.10, which is scheduled to arrive in October, will be codenamed Moribund Moth Maverick Meerkat.
Ubuntu 10.10 will coincide with the launch of GNOME 3, a major overhaul of the open source desktop environment that provides significant parts of the Ubuntu user experience. Shuttleworth's statements about bold moves and opportunities for dramatic improvement suggest that we could potentially see Ubuntu adopt the new GNOME Shell if it proves suitable. It's possible that we could also see the new default theme evolve and benefit from experimental features that were deferred during this cycle, such as RGBA colormaps and client-side window decorations.
The upcoming 10.04 release is looking really impressieve. Users can expect to see even more progress as the Malodorous Mongoose Maverick Meerkat begins to take shape. As usual, we invite our readers to share their most humorous alternate codename suggestions in the discussion thread.
More Details at Mark Shuttleworth (

7 reasons why you really should learn jQuery

Below are my 7 reasons why you should learn a javascript framework, and that the best one to learn about is jQuery.
1. jQuery seperates behavior from markup
In HTML markup it is still quite common to see things like this:

Even though the validate() function can be placed in an external file, in effect we are still mixing markup with logic and events here. jQuery allows you to completely seperate the two. With jQuery, the markup would look like this:

Next, the seperate JS file will contain the following event subscription code:
$("myform").submit(function() {
...your code here

This allows for very clean markup with a lot of flexibility. jQuery takes javascript out of your markup, much like CSS took the style out of markup years ago.
2. Write less, do more
Write less, do more - it is the jQuery slogan, and it is an accurate one. Using jQuery's advanced selectors, you can do amazing things in just a few lines of code. You do not need to worry about browser differences (much), there is full Ajax-support and many other abstractions that make you more productive. jQuery takes javascript to a higher level. Here's a very simple example:
That little snippet loops through all
elements with the class "neat" and then adds the class "ohmy" to it, whilst slowly showing the paragraph in an animated effect. No browser checks, no loop code, no complex animation functions, just one line of code!
3. Performance
Out of the big Javascript frameworks, jQuery understands performance best. The minimized and gzipped version is only 18K in size, despite tons of new features in various releases, this number has hardly changed. With each release, major performance improvements have been made. This article is telling of the raw speed of jQuery and the focus that their developers have on it. Combine this with the new generation of browsers (Firefox 3, Google Chrome) that have fast javascript engines on board, and you have a whole new wealth of possibilities in creating rich web applications.
4. It is a "standard"
JQuery is not an official standard, let that be clear. However, the industry support for jQuery is overwhelming. Google uses it, and even hosts it for you. Dell, Digg, Wordpress, Mozilla and many others use it too. Microsoft is even shipping jQuery with Visual Studio. With so much weight behind this framework, you can consider it a safe choice for the future, and a safe bet to invest time in.  
5. Plugins!
There are thousands of plugins developed on top of jQuery. You can use it for form validation, galleries, field hints, animation, progress bars, you name it, it is available. The jQuery community is an eco-system, not just a library. This further supports reason #4, it is a safe choice. By the way, did you know that jQuery actively works together with their "competitors", such as Prototype. It looks like they're here to improve the overall state of javascript, not just for their own benefit.
6. It costs you little time
Of course it will cost you time to truly learn jQuery, especially if you will be writing lots of code or even your own plugins. However, you can do this in bits and pieces, there are tons of examples out there and it is really easy to get started. My advise is to first have a look in the plugin pool before you code something yourself. Next, have a look at the actual plugin code to see how it works. In short, learning jQuery is no huge investment, you can be productive right away and increase your skill in small increments.
7. Fun
I found working with JQuery to be a lot of fun. It is fresh, short and you quickly get results. It solves many nagging javascript problems and annoyances. I used to hate javascript coding but (somewhat) enjoy it now. With the basics fixed, one can now really think about developing next-generation web applications, without being slowed down by an inferior language or tool. I believe in the "Write less, do more" slogan.It is true.

Courtesy :ferdychristan

Top 10 Reasons to Switch to the NetBeans IDE

  1. Works Out of the Box Simply download and install the NetBeans IDE and you are good to go. Installation is a breeze with its small download size. All IDE tools and features are fully integrated—no need to hunt for plug-ins—and they work together when you launch the IDE.
  2. Free and Open Source When you use the NetBeans IDE, you join a vibrant, open-source community of thousands of users ready to help and contribute. There are discussions on the NetBeans mailing lists, blogs on PlanetNetBeans, and helpful FAQs.
  3. Connected Developer The NetBeans IDE is the tool of choice for teams working in a collaborative environment. You can create and manage projects, file issue tracking reports using both Jira and Bugzilla, and collaborate with like-minded developers—all directly from within the familiar interface of the IDE.
  4. Powerful GUI Builder The GUI Builder (formerly known as Project Matisse) supports a sophisticated yet simplified Swing Application Framework and Beans Binding. Now you can build GUIs in a natural way.
  5. Support for Java Standards and Platforms The IDE provides end-to-end solutions for all Java development platforms including the latest Java standards.
    • Java Mobility Support Complete environment to create, test, and run applications for mobile devices. With preprocessor blocks, you can readily handle fragmentation issues. Support for Java Mobility development is the best among all Java development tools.
    • Java Enterprise Edition (EE) 6 support: The first free, open-source IDE to support Java EE 6 specifications.
    • Java Standard Edition (SE) Support: You can develop applications using the latest Java SE standards.
  6. Profiling and Debugging Tools With NetBeans IDE profiler, you get realtime insight into memory usage and potential performance bottlenecks. Furthermore, you can instrument specific parts of code to avoid performance degradation during profiling. The HeapWalker tool helps you evaluate Java heap contents and find memory leaks.

  7. Dynamic Language Support The NetBeans IDE provides integrated support for scripting languages such as Ruby and Ruby on Rails, PHP, Groovy, JavaScript, JavaFX and Python.
    • PHP: With the NetBeans IDE for PHP, you get the best of both worlds: the productivity of an IDE (code completion, real-time error checking, debugging and more) with the speed and simplicity of your favorite text editor in a less than 30mb download.
    • Ruby and Ruby on Rails Support: Both native Ruby and JRuby development on Rails are available. You can switch easily between the two. The sophisticated Ruby editing capabilities makes it easy to create and modify Ruby applications.
    • JavaScript: The NetBeans IDE has the JavaScript tools you need: an intelligent JavaScript editor, CSS/HTML code completion, the ability to debug JavaScript in Firefox and IE, and bundled popular JavaScript libraries. Your favorite JavaScript framework will get you 80% of the way, NetBeans IDE will help you with that last 20%.
    • Groovy: In the NetBeans IDE, you can now create Grails applications, integrate Groovy scripts with your JavaSE project.
    • JavaFX: The NetBeans IDE is the official tool for JavaFX development! See your visual code live in the editor, and analyze your application's performance with the JavaFX Profiler.
    • Python: Discover the joys of Python programming with the NetBeans IDE. Enjoy great editor features such as code completion, semantic highlighting, and more.
  8. Extensible Platform Start with its extensible platform and add your own NetBeans IDE features and extensions or build an IDE-like application, keeping only features you want. Extending the platform and its Swing-based foundation saves development time and can optimize performance.
  9. Customizable Projects Through the NetBeans IDE build process, which relies on industry standards such as Apache Ant, make, Maven, and rake, rather than a proprietary build process, you can easily customize projects and add functionality. You can build, run, and deploy projects to servers outside of the IDE.
  10. Non-Java Code Support You're not limited to the Java programming language. You can include many other programming languages, such as C/C++, scripting languages like JavaScript, Ruby, etc. Even more exciting, define your own language and include it in your projects.

Top 10 Reasons to Buy Autodesk Maya 2009

1 Proven Solution
Autodesk® Maya® software has been the 3D tool of choice for companies producing the top film, games, and television content all over the world for the last decade. It has been extensively used on all but one of the 27 nominees and winners for the Academy Award for Best Visual Effects since 1999, and by three-quarters of the top 20 selling games publishers world wide. Meanwhile, award-winning commercials facilities like The Mill and Psyop count Maya among their toolset, as do top broadcasters like the BBC, NHK, and Turner. From Hollywood to Helsinki, from Soho to Singapore, from New York to New Delhi, the world’s top production companies rely on Maya.
2 Features
At the cutting edge of innovative feature development for over ten years, Maya 2009 is packed with tried and tested features that speed your project from initial concept to finished renderings: from polygon and NURBS modeling, UV mapping and texturing, animation and rigging (including new Animation Layers in 2009), the full gamut of dynamic simulation tools—including rigid bodies, soft bodies, fluid dynamics, cloth, fur, hair, and new nParticles— to toon shading, tools for generating plants and other natural detail, and a choice of four built-in renderers including mental ray® renderer, all accessible through a powerful new Render Pass architecture.
3 Performance
Through a combination of multi-threading, algorithmic tuning, sophisticated memory management, and tools for segmenting scenes, Maya 2009 is engineered to elegantly handle today’s increasingly complex data sets without slowing down the creative process.
4 Productivity
Increased competition and tighter deadlines, combined with higher audience expectations for quality, mean that every job requires artists to produce more creative output in less time than ever before. Maya 2009 maximizes productivity with optimized workflows for everyday tasks, opportunities for collaborative, parallel workflows, and automation through scripting for repetitive tasks, while new Animation Layers and Render Passes enable artists to re-use existing data and minimize the iterative process.
Top 10 Reasons to Buy Autodesk Maya 2009
Image courtesy of EFE.X S.A
Image courtesy of Duckling A/S
Image courtesy of Asylum Visual Effects
Image courtesy of 2K
5 Interoperability
From the most complex, proprietary pipelines, to the single user working from home, Maya is rarely used in isolation to create the finished job. Whether you are painting textures in Adobe® Photoshop® software, compositing shots in Autodesk® Toxik™ software, or bringing in cleaned motion capture data from Autodesk® MotionBuilder® software, Maya 2009 makes the task as seamless as possible, minimizing errors and reducing iterations. Included free with Maya, the Autodesk® FBX® technology supports the exchange of 3D data with over 30 professional applications, allowing assets created outside of Maya to be re-used, and offers a software developer kit (SDK) to assist studios with pipeline integration.
6 Extensibility
Maya is a total solution out of the box, but for companies wishing to tightly integrate it with their existing pipelines, or to add differentiated new feature development on top, Maya offers many avenues for customization. Built from the ground-up with its own embedded scripting language Maya Embedded Language (MEL), Maya 2009 also offers Python® scripting language, and an extensive, well-documented C++ application processing interface (API).
7 Platform Choice
Whether you are a fan of Windows®, a Mac® aficionado, or a Linux® operating system lover, Maya 2009 runs on the platforms you choose. And it’s ready to handle the massive amounts of memory that today’s large scenes require, with 64-bit executables for both Windows and Linux.
8 Talent Pool
With thousands of artists graduating from Maya programs each year in numerous countries worldwide, customers using Maya are able to find the talent they need to staff their projects. On the other side of the coin, individuals buying licenses of Maya are making an investment in their future careers by gaining skills and experience that are highly marketable to an installed base that continues to see healthy growth.
9 Autodesk Subscription and Support
For an affordable annual fee that lets you plan your budget ahead, Autodesk® Subscription
for Maya entitles you to all new releases and extensions offered during the subscription period. In addition, subscription members have access to an online technical knowledge-base and learning resources, and can manage their licenses through the subscription center. Adding Gold support to Autodesk Subscription provides you with access to knowledgeable support experts via telephone or web, and a mechanism to track and report issues.
10 Services
When a production requires more than an out of the box solution, Autodesk’s custom development center is standing by with a range of offerings, including custom code development, on-demand bug-fixing (even on prior versions) and a ‘Production Assurance’ menu of services that will make sure you can get precisely the help you need, when you need it most.

Top 10 Reasons for poor Oracle performance

   1.   Bad Connection Management

The application connects and disconnects for each database interaction. This problem is common with stateless middleware in application servers. It has over two orders of magnitude impact on performance, and it is totally unscalable.

    2. Bad Use of Cursors and the Shared Pool

Not using cursors results in repeated parses. If bind variables are not used, then there is hard parsing of all SQL statements. This has an order of magnitude impact in performance, and it is totally unscalable. Use cursors with bind variables that open the cursor and execute it many times. Be suspicious of applications generating dynamic SQL.

         3. Getting Database I/O Wrong

Many sites lay out their databases poorly over the available disks. Other sites specify the number of disks incorrectly, because they configure disks by disk space and not I/O bandwidth.

         4. Redo Log Setup Problems

Many sites run with too few redo logs that are too small. Small redo logs cause system checkpoints to continuously put a high load on the buffer cache and I/O system. If there are too few redo logs, then the archive cannot keep up, and the database will wait for the archive process to catch up.

         5. Serialization of data blocks in the buffer cache due to lack of free lists, free list groups, transaction slots (INITRANS), or shortage of rollback segments.

This is particularly common on INSERT-heavy applications, in applications that have raised the block size to 8K or 16K, or in applications with large numbers of active users and few rollback segments.

         6. Long Full Table Scans

Long full table scans for high-volume or interactive online operations could indicate poor transaction design, missing indexes, or poor SQL optimization. Long table scans, by nature, are I/O intensive and unscalable.

         7. In Disk Sorting

In disk sorts for online operations could indicate poor transaction design, missing indexes, or poor SQL optimization. Disk sorts, by nature, are I/O-intensive and unscalable.

         8. High Amounts of Recursive (SYS) SQL

Large amounts of recursive SQL executed by SYS could indicate space management activities, such as extent allocations, taking place. This is unscalable and impacts user response time. Recursive SQL executed under another user ID is probably SQL and PL/SQL, and this is not a problem.

         9. Schema Errors and Optimizer Problems

In many cases, an application uses too many resources because the schema owning the tables has not been successfully migrated from the development environment or from an older implementation. Examples of this are missing indexes or incorrect statistics. These errors can lead to sub-optimal execution plans and poor interactive user performance. When migrating applications of known performance, export the schema statistics to maintain plan stability using the DBMS_STATS package.

Likewise, optimizer parameters set in the initialization parameter file can override proven optimal execution plans. For these reasons, schemas, schema statistics, and optimizer settings should be managed together as a group to ensure consistency of performance.

        10. Use of Nonstandard Initialization Parameters

These might have been implemented based on poor advice or incorrect assumptions. In particular, parameters associated with SPIN_COUNT on latches and undocumented optimizer features can cause a great deal of problems that can require considerable investigation.