
VIDEOS & PODCASTS
JavaScript for the C# Developer
With the proliferation of thin-client web applications, sooner or later every C# programmer will likely have to write some JavaScript. What could go wrong? After all, it's just another language based on the C syntax and every C# developer knows that without thinking. This session explores the very real mistakes C# developers make when writing JavaScript code and how to avoid them. Starting with an exploration of types in JavaScript, moving through the object and inheritance model (no classical class model here), and an in-depth discussion of functions. We’ll wrap up with some common anti-patterns all C# developers encounter and how to solve them. By the end of the session you will have a better understanding of why JavaScript has more in common with a functional language than an object-oriented one, and will be able to write good JavaScript code, avoiding the common pitfalls.
.Net Collections Deep Dive
The .NET framework provides a rich set of collection classes, crafted to help you address a multitude of tasks. But, let’s face it, we rarely use this vast array to the scope that we potentially could. Instead we habitually fall back on old favorites like List. This session is devoted to introducing those of us, who don’t want to get out of our comfort zone, to some of the performance traps we might be silently slipping into when choosing inappropriate collections. We will explore some of the new collections available in .NET 4.0, and discuss how they have been optimized to manage certain individual tasks. By the end of this session, you’ll no longer be reaching for your favorite collection out of habit, instead you’ll have your finger on the pulse of .NET collections, ready to utilize the appropriate option for the task in hand.
Caring about Code Quality
We all have seen our share of bad code. We certainly have come across some good code as well. What are the characteristics of good code? How can we identify those? What practices can promote us to write and maintain more of those good quality code. This presentation will focus on this topic that has a major impact on our ability to be agile and succeed.
Design Patterns for .NET Programmers
Between lambda expressions in C# and functional programming in F#, we can now make use of patterns well beyond those popularized by the so called GOF. In this presentation we will learn the benefits of some useful patterns and how to implement them using C# and F#.
Stepping into the Near Future of the IDE
Ever wonder what it might be like to write code in the future? DevExpress’ Mark Miller will explore trends in tools & human interfaces and preview interesting & exciting possibilities from the “bleeding edge” that may be converging to a point in space and time that is your IDE in the not-too-distant future..
Quality First - Building Quality Into Your Application Throughout the Lifecycle
Application quality is often considered as an afterthought and put off until late in the application lifecycle. To consistently deliver high quality products, quality should be considered throughout the development process. Agile development is helping the industry to improve the state of the art by making quality the responsibility of the whole team and making it a continuous process. This session explores techniques, processes and tools that help ensure that your product works in the agile world, including unit testing, TDD, agile testing and automated regression suites.
The Entire Game Should Move Onto the GPU, says Rev Lebaredian
As the computing functionality and horsepower of GPUs has grown over the last few years, the role of the GPU is rapidly expanding to game tasks beyond rasterization-based graphics. Now GPU computing can be used for solving a variety of problems in game computing including game physics, artificial intelligence, animation, post-processing effects and others. Rev Lebaredian, Director of Engineering in Nvidia, says that as GPUs grow and become more general purpose, more and more of the game is going to be shifting over to the GPU. The final goal is to have the whole game run on the GPU.
Rev Lebaredian leads a team of engineers developing APEX - a middleware library and tools for integrating realistic and scalable physics simulation into games. APEX is a new technology that empowers artists to quickly create fully interactive in-game clothing, destruction, particles and vegetation. APEX is a middleware library and artist-oriented tools, built on top of Nvidia's PhysX software. The APEX framework streamlines the integration of new effects into games.
Saltmarch Media spoke to Rev Lebaredian during his recent visit to Bangalore, India. The discussion began with a topic close to Rev's heart – APEX. "APEX is trying to handover the power of game physics to the artists directly as they are the biggest section of employees in a game development company. By achieving this, an artist need not depend on a programmer to achieve every task and this in turn will enable the creation of a lot of creative content which the user of today has come to expect from games," says Rev.
Read on to know Rev's thoughts on moving the entire game to the GPU starting with graphics and physics, how video applications are tapping the increasing computing power of GPUs, optimal Direct X 11 support, and advancements in the graphics and digital media processors industry. Rev also shares his experiences with using Optimus technology that addresses the performance/battery life balance by automatically selecting the right graphics processor-between an Nvidia discrete GPU or an Intel integrated GPU
Q. Please introduce yourself to our readership and talk in a bit about your role at Nvidia.
Rev Lebaredian: I am the Director of Engineering within the Content and Technology group within Nvidia. This is the group that deals primarily with application developers. My responsibility right now is leading the group that develops a product called APEX.
APEX is a middleware solution we have been creating and implementing in actual games that enables game developers to put hi-fidelity simulation and dynamics into their games with minimal amount of work for the quality that they get out of it.
The goal is to make APEX scalable across platforms and allow game developers to put as much of it as possible in their games by leveraging their artists, instead of just a few programmers in their group who know game physics.
Q. One of your talks at India Game Developer Summit specifically revolved around APEX, a middleware library and tools for integrating realistic and scalable physics simulation into games. Can you explain APEX in a bit?
RL: What we found while integrating physics with the GPU was that for many years, the bottleneck in most game productions was the fact that most of the actual employees within any game studio are artists and the ratio of artist to other employees remains big because games are getting bigger themselves.
So in order for us to get more content in games we need to address the issue at the artist level and allow and enable them to create physical content without having to depend on a programmer to do everything.
Currently within development companies there are around one or two artists who are experts at doing physics programming and that is not sufficient for us to really enable games with the kind of content everybody wants.
Q. APEX is built on top of Nvidia's PhysX software. PhysX was designed by a company called AGEIA, which was acquired by Nvidia in 2008. What do you see as the benefits of the acquisition?
RL: AEGIA was a great acquisition for us. We knew that as GPUs grow and become more general purpose, more and more of the game is going to be shifting over to the GPU. The final goal is to have the whole game run on the GPU.
The next natural step after graphics is physics. It is very parallelizable and it is scaleable. There is lots of computation so it is in many ways a good fit for GPUs. So we evaluated and found out that it would take a lot of time to build up a physics library just at the rudimentary level and that it was much better to do an acquisition.
We were lucky as AEGIA were willing to do this and they have also had a lot of experience with accelerating physics on the hardware. So in many ways it was a perfect match for us. What they were trying to do with their products matched our business model and hence the expertise that they had gained matched us perfectly. This also has ramifications in the future.
What we learn from moving physics over to the GPU will apply to everything else we try to move over to the GPU as well. Physics is a great real-time application to try to move to the GPU so it is critical for us to have technologies like this in-house that we can use as beacons for where our architectures need to go in the future on the whole.
Q. More and more processing is now being done on the GPU. And video is the killer application for the GPU. What are the new kinds of video applications that are tapping the increasing computing power of GPUs?
RL: Encoding and transcoding are already big on the GPU and we are seeing many compute based applications that take advantage of the raw horse power of the GPU. As and when people create more and more digital media, there is an insatiable appetite for computing power in order to process this and archive it and store it in ways that are convenient for people. So we definitely have a big need for this sort of computation abilities.
In addition there are lots of problems with video that are naturally suited towards massively parallel architectures. Motion estimation, doing optimal flow, and these sort of image processing problems map very nicely onto the GPU.
Q. Nvidia had earlier pioneered a technology called switchable graphics to address the performance/battery life balance. But it was cumbersome to use since users had to manually switch between the two display adapters. Recently Nvidia released the Optimus technology that automatically selects the right graphics processor-between an Nvidia discrete GPU or an Intel integrated GPU. Have you used the Optimus technology and what is your feedback about it?
RL: I think its fantastic and it is much better than the switchable stuff that we had before. Optimus is extremely elegant and I think what you will find in the reviews and in the press will confirm this. Everybody loves this and I think it is the ideal solution to this particular problem and it is the sort of thing that we are actually good at.
It has taken a lot more than just developing hardware and the driver in order to produce something like this. We have to go through all the applications people are running, create a profile and invest a lot in QA and there are things we have to do in an ecosystem to create a product like this. So it makes me proud when we actually deliver something as elegant as this as a company.
Q. Will optimal Direct X 11 support be a deciding factor in terms of GPU sales in the next few years?
RL: History has always shown that to be true with respect to GPUs. We are not done with graphics. There is obviously a long way to go before we get to photo realism. And with games we are not even close to where film has been for many years now. DirectX 11 is a large step towards that.
We have had a lot of texture complexity for a long time and we have hit the limits of it and it looks kind of weird when the geometric complexities of games do not match the shading and texture complexity that we have become accustomed to. So as soon as we have some games out there that take advantage of DirectX 11 features, it is going to become obvious that all games need to increase their geometric quality to match this.
Q. What are the advancements you see in the graphics and digital media processors industry in the coming years?
RL: We are at an inflexion point in this industry. The whole parallelization thing was something the world was forced to accept when CPUs started going to dual core. We are not able to depend on the same speed ups that we were getting year after year with traditional CPU architectures. So GPUs happen to be at the right place at the right time.
With the level of programmability we have now, we are slowly converging towards the limits of what CPUs will eventually become. So now it is a race to see who can create the massively parallelizable architecture for the future. My hope is to see applications as complex as games completely running on the GPU.
Q. What are Nvidia’s ambitions for the next decade?
RL: In the coming years we have a lot of work to do in integrating physics properly onto the GPU. Then we need to ensure that all of it is running in there and it is optimal as possible and coexisting with all other parts of the game that we want to run on the GPU as well – including artifical intelligence (AI) and various sorts of scripting and all the various processes that happen within a modern gaming engine.
SOA with SQL Server
A key component to any distributed architecture built with SOA methodologies in mind is the database infrastructure. Service Oriented Database Architecture (SODA) is much easier to implement and much more robust with features present in SQL Server 2005 and the 2008 release. Technologies such as Service Broker, Native Web Services, Query Notifications, and the SQL CLR built-in to SQL Server provide the ability to fully realize the SODA architecture, explains Chad Boyd in this talk recorded at Saltmarch Media's Great Indian Developer Summit.
Chad is an Architect, Administrator, and Developer with technologies such as SQL Server (and all related technologies), Windows Server, and Windows Clustering. He works with Gratis Internet Inc., an online marketing firm based in Washington, DC, and also spends a significant amount of time writing, talking, presenting and blogging about SQL Server. In the past, Chad has worked with companies and organizations such as Microsoft Corporation and The American Red Cross, and provided consulting/support services at companies such as Bank of America, HP, Citigroup, Qualcomm, Scottrade, TJX, SunTrust, and Zurich Financial Services. For over 2 years with Microsoft Corporation Chad was responsible for providing onsite and remote support, guidance, and advice with SQL Server products to some of Microsoft's foremost enterprise customers running the largest, most complex SQL Server installations and configurations in the world.
A Lap Around Visual Studio Team System
Wonder why 70% of projects are classified as failed projects? Working in silos does not help projects succeed. Learn how Visual Studio Team System 2008 helps break the walls across team members and build bridges to help team members collaborate effectively. In this talk recorded at Saltmarch Media's Great Indian Developer Summit Neelesh Kamkolkar steps through the features of Team System 2008 via demonstration and how it can help you and your team collaborate to deliver the best software possible while providing complete visibility into the software development lifecycle.
Neelesh has several years of experience in software design, development, product strategy and management. He has worked on performance management and diagnostics solutions amongst other technologies that bridge the gaps between application development, quality assurance and operations teams.
Over 6500 attendees have benefited from two game changing editions of Great Indian Developer Summit. In 2010, the biggest independent summit for software developers in India is bringing together over 100 sessions encompassing the full range of Microsoft computing, Java, Agile, RIA, Rich Web, open source/standards, languages, frameworks and platforms, practical tutorials that deep dive into technical skill and best practices, inspirational keynote presentations, an Expo Hall featuring dozens of the latest projects and products activities, Awards to honor software excellence, engaging networking events, and over 80 of the best and brightest of speakers from around the world. The summit will be held 20-23 April 2010 at the IISc in Bangalore. For further information on GIDS 2010, please visit the summit on the web http://www.developersummit.com/.
Busting Common Myths about Developer Productivity
Many traditional assumptions about software development have been challenged in recent years. Agile processes and service oriented architectures are two examples of this. An area that has seen little real scrutiny is developer productivity. Almost by convention, every new tool, framework or approach promises huge gains in productivity but a coherent view of all factors involved is usually missing. In this talk recorded at Saltmarch Media's Great Indian Developer Summit, Erik Dörnenburg examine several common myths about developer productivity and show that productivity improvements often require a trade-off with other desirable goals. He also discusses the relative impact of some tools and approaches.
Building on his experience with J2EE, Microsoft .NET and other environments, Erik Dörnenburg is continually exploring new patterns of enterprise software. His career in enterprise software began in the early nineties on the NeXTSTEP platform and Erik has been an advocate of agile, test-driven, object-oriented development and Open Source software for many years. Before helping clients with the design and implementation of large-scale enterprise solutions at Thoughtworks Erik was Technical Director at Pixelpark UK, a new media company, where he integrated enterprise systems with web-based solutions and a variety of digital delivery channels.
Over 6500 attendees have benefited from two game changing editions of Great Indian Developer Summit. In 2010, the biggest independent summit for software developers in India is bringing together over 100 sessions encompassing the full range of Microsoft computing, Java, Agile, RIA, Rich Web, open source/standards, languages, frameworks and platforms, practical tutorials that deep dive into technical skill and best practices, inspirational keynote presentations, an Expo Hall featuring dozens of the latest projects and products activities, Awards to honor software excellence, engaging networking events, and over 80 of the best and brightest of speakers from around the world. The summit will be held 20-23 April 2010 at the IISc in Bangalore. For further information on GIDS 2010, please visit the summit on the web http://www.developersummit.com/.
.NET Gotchas Workshop by Venkat Subramaniam: Part III
Programmers working on the .NET framework know the power and increased productivity that comes with it, says Dr. Venkat Submramaniam. Like any development, however, there are things that one should pay attention to while programming on .NET. Are there things in .NET that, if we do not pay attention to, may result in more trouble than it is worth? Find out in the third part of this 180-minute Workshop recorded at Saltmarch Media's Great Indian Developer Summit.
In this workshop, Dr. Venkat Subramaniam presents Gotchas that a developer needs to know to be productive in the .NET framework. The issues addressed include framework, language, language interoperability, COM interoperability. Most Gotchas are language independent while a few are C# or VB.NET specific.
In the summer of 2010, Dr. Venkat Subramaniam will be back at Great Indian Developer Summit to conduct focused conference sessions, a keynote and a workshop on topics ranging from F# and .NET CLR, effective Java, testing with dependencies, design patterns in Groovy and Java, Java Generics in version 1.5, functional programming to pointy haired bosses and pragmatic programmers.
Over 6500 attendees have benefited from two game changing editions of Great Indian Developer Summit. In 2010, the biggest independent summit for software developers in India is bringing together over 100 sessions encompassing the full range of Microsoft computing, Java, Agile, RIA, Rich Web, open source/standards, languages, frameworks and platforms, practical tutorials that deep dive into technical skill and best practices, inspirational keynote presentations, an Expo Hall featuring dozens of the latest projects and products activities, Awards to honor software excellence, engaging networking events, and over 80 of the best and brightest of speakers from around the world. The summit will be held 20-23 April 2010 at the IISc in Bangalore. For further information on GIDS 2010, please visit the summit on the web http://www.developersummit.com/.

Microsoft to Peel Mango at Mobile Developer Summit 2011
Microsoft has unleashed its major annual update codenamed Mango, to a flood of devices both old and new. Also known as Windows Phone 7.5, the latest build delivers an onslaught of features -- no...

The MDS Tribute to Steve Jobs
Mobile Developer Summit (MDS) 2011 will pay rich tributes to Steve through passionate discourses from real professionals and developers who have been touched by Steve's passion and creativity. They...



