CodeGuru
Earthweb Search
CodeGuru Navigation
Member Sign In
User ID:
Password:
Remember Me:
Forgot Password?
Not a member?
Click here for more information and to register.

Become a Marketplace Partner

jobs.internet.com

internet.commerce
Partners & Affiliates
















RSS Feeds

RSSAll

RSSVC++/C++

RSS.NET/C#

RSSVB

See more EarthWeb Network feeds

Recent Entries

Monthly Archives

Internet.com / blogs

Free Tech Newsletters
Free Tech Newsletters
ADO.NET Entity Framework Tutorial and Basics
Discover an ADO.NET Entity Framework tutorial covering basic data operations for applications, including LINQ To Entities, Method Expressions, stored procedure mapping, and a little discussion about its usage in an enterprise environment.

Asynchronous Socket Programming in C#: Part I
This is a simple Client-Server application developed to explain the concept of asynchronous sockets in C#. This extends the socket program to accept multiple clients. Because this example uses Asynchronous methods, threads are not necessary to communicate to multiple clients (though internally the asynchronous communication mechanism uses threads at the OS level).

.NET Web Services Tutorial
Writing .NET Web services without using Visual Studio can be tricky. Learn how to create a Web Service without using Visual Studio .NET.

Free Tech Newsletters
Deploying and Configuring SQL Server Integration Services Packages Without the Wizard
Ever get confused by or dislike using the SQL Server Integration Services deployment wizard? Learn how to manually deploy the packages to SQL Server 2005 and configure the packages in a multitude of ways as well.
Improving Portal Page Load Performance
Portals provide users with access to more applications from a single point of entry, but if it takes too long to get in,, they will go elsewhere. Learn specific techniques to improve page load time and track down what is slowing your pages down.
Handling that Pesky Windows ControlBox
Some things that seem hard are actually quite easy, and some things that seem easy take a little work, like that little [X] on a Windows Form, the ControlBox. Learn how to know just when that little bugger is pressed.
Getting Up and Running with the Composite UI Application Block for WPF
Discover how to build complex Windows Presentation Foundation (WPF) applications with reusability and componentized design in mind by using ready-made patterns.
NEW and IMPROVED: A Lesson in Change Management and Project Management
What is the most effective way to introduce change within a department or organization?

"Hands on" Development

| Comments (0) | TrackBacks (0)

As a person running web sites, I get press releases on a regular basis. Being that the sites I oversee are focused primarily, on developers, it is no surprise that most of the release focus on developers and development. Of course, every now and then I get a press release that leaves me wondering a bit.

This week I received a release for a "hands on" development product. Of course, that sounds like something you might find interesting, so it should be no surprise that I opened it to take a look.

There are a number of different products for hands on development, but of course, this product was for hands--and developing them. No code, not specifically for programmers, but aimed at anyone with a hand and fingers!

The "hands on" development product is Xtensor, a tool that exercises your hands to help your finger extensor muscles and tendons. While this won't help you write the best C++ or Java program, it will help your hands if you do a lot of typing. I've included a picture because the $39.95 device actually looks pretty cool.

While this isn't the goofiest press release I've received, I have to admit, it rates pretty close!

The_Xtensor_Palm_View_02.jpg

The iPad from Apple has been in the news for what seems like nearly a half a century; however, it was just officially announced this week. While I would not normally cover this, I was shown a review of the iPad that was simply so good and so entertaining that I had to pass it along. After all, shouldn't a blog be used for sharing interesting and entertaining technical things?

Here is a review of the iPad..... by Hitler:


You might be asking the question, "What more could Microsoft add or change in Microsoft Office?" If so, then now is your chance to find out with the new beta of Microsoft Office 2010.

Download the Office 2010 Beta from Here

Because I'm talking about Office already, let me do a free plug for Microsoft...

Do you use OneNote? If so, no reason to read on! If not, then do you attend a lot of meetings or attend conferences? Do go to classes? If so, you should check out OneNote. It is a great tool for organizing notes (hence the name) and other information into one place. It is like having a slate of paper where you can type, write, draw, record audio, and more. You can even highlight, flag areas, and otherwise mark up your notes too. If you've never tried it, then that is just one more reason to take a look at the Office 2010 beta. It is your chance to check out OneNote!

Is Threading Going Away?

| Comments (0) | TrackBacks (0)

I attended the Indianapolis .NET Developers Association meeting last night. One of the discussion points was on the parallelism features in .NET. The question that was asked was in regard to these new commands in .NET were based on threads. Programming parallel feature has required creating and using threads. When I heard this question, it made me think back to the late eighties and early nineties and memory management.

Back in the "old days" you had to worry about memory management. In fact, if you needed more than 640k of memory&mdashyes "k" as in 1024 bytes per k-- you had to do special processing with extended or expanded memory on the computer. The processors could only easily work with 640kb of memory and thus complex things were needed to go beyond that. Developer would spend days and weeks tweaking programs to get them to operate in under 640kbs. You had to work with memory, you had to understand extended and expanded concepts, and you had to do lots of low level tweaking.

If you are under the age of 30, you might be scratching your head and wondering what I'm talking about. If you are an old C or C++ programmer, you are likely thinking back to the "old days" where you spent hours chasing memory. The bottom line is that today few developers even think about memory constraints let along about the methods around them. You simply just use memory.

.NET includes the Task Parallel Library, which allows you to take C# code like the following:

// Sequential
foreach (var item in sourceCollection)
{
    Process(item);
}

And turn it into parallelized code by changing it to the following:

// Parallel 
Parallel.ForEach(sourceCollection, item => Process(item));

It also includes the PLINQ features added in .NET 3.0 such as:

var source = Enumerable.Range(1, 10000);

var evenNums = from num in source.AsParallel()
               where Compute(num) > 0
               select num;

While this is only a little of the code available, you'll see that there is no reference to threads. The concept of threading is destined to be like the concepts of extended and expanded memory. It is destined to disappear.

As developers, the day is coming when you will likely stop thinking about creating a thread and assigning code to it. Rather, you will likely change your thinking to be about processes that your code performs. You will simply identify process and tasks that can be parallelized and you'll mark them appropriately. Threading--or other underlying technologies-- will be taken care of automatically, and the code within the identified processes will be spread across the cores or processors. The developer won't have to worry about the details.

You won't focus on threads; you'll focus on processes and tasks.

You can already see this change in thinking in what Microsoft has done. You can now run code in parallel by simply adding a few keywords. While the concepts of Extended and Expanded memory didn't disappear overnight, neither will threading. However, it is safe to say the days are numbered that most developers will need to think about the details of threading.

Of course, while you won't have to think about threading, you will have to think about parallelizing or running concurrent code!

It is always cool to find tips and tricks you can use. While not a programming trick, the addition of GodMode to Windows Vista or Windows 7 can turn out to help you as a developer.

GodMode isn't really a change in functionality for Windows. Rather, it is the creation of a folder that has a multitude of links that can help you. Like a Control panel, there are a number of productivity links. These provide links to things such as:

  • Action Center (and individual tasks within Action Center)
  • Administrative Tools
  • AutoPlay
  • Backup and Restore
  • Color Management
  • Credential manager
  • Date and Time
  • Default Location
  • Default Programs
  • Desktop Gadgets
  • Device Manager
  • Devices and Printers

...

  • Windows Defender
  • Windows Firewall
  • Windows Update

These are all some of the categorie's that are listed. There are also items listed within each category. This gives you virtually everything important all in one folder on your system.

To create this GodMode folder simple. Create a new folder on your system. Rename the folder to the following:

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

Like magic, the folder icon will change:

GodMode01.png

More importantly, your new folder will be mysteriously filled with all the goodness mentioned above.

GodMode02.png

Do you know what NGWS, COM++ and .NET all have in common? About ten years ago, these were all candidates for the name of a new framework being created by Microsoft. NGWS and .NET were the two that came down to the wire, but we all know that .NET won.

I believe that Next Generation Web Services (NGWS) was a close second. In fact, I was priviledged to get to work with Christophe Wille to create the first C# book ever published called Presenting C#. It was a book written by Christophe and published in time to be at the Microsoft PDC in the United States when .NET was announced. If you find a copy of the book, you'll see that there are a lot of references to NGWS. That is because the name changed between the time the book was completed and the time Microsoft announced .NET.

Things were moving fast ten years ago around C# and .NET. Ten years later, we have .NET 4.0 in beta and changes in C# continue to come regularly. The excitement around C# and .NET was very high when it was announced. I believe it is safe to say that that excitement still shows in C# today. After all, it has become one of the most demanded programming languages today!

Of course, as C# reaches its tenth birthday, you have to wonder what the next language will be that surpasses it. More importantly, you have to wonder if it is something already out there, just waiting for a good name!

 

Scott Guthrie and Somasegar have both announced the Visual Studio 2010 and .NET 4.0 will be delayed. How long the delay will be is unknown. In fact, March 22nd, 2010 was announced as the launched date. Nothing was stated specifically about moving this date; however, both indicated that the release would shift a few weeks.

On the positive side, the delay is partially a result of adding an additional public beta. Expectations are that there will be an additional public preview (public Release Candidate) in February--prior to the official release. This public RC will include a "go live" license, which in effect allows you to launch applications onto the web.

In my last blog entry, I mentioned Intel's futuristic 48-core chip. That is a long-term look that might cause you to believe you still have time to wait before considering multicore issues in your applications. If you are not considering multiple cores today, when developing your applications, then you are falling behind. While tapping the power of multi-core applications isn't critical in a dual core world, quad-cores are starting to make inroads into the market place and early next year you'll see the number of six core systems start increasing. Just as the release of quad-core systems pushed dual core to the mainstream. We should be able to expect six core systems to push quad-core mainstream.

Specifically, according to ChannelWeb, Intel leaked a document that indicated that they will be releasing thirteen different processors on March 16th of 2010. This includes seven quad-core processors and six new six core processors. The six core processors will be running between 2.26GHz and 3.33GHz. The seven 32nm, quad-core processors will operate between 2.13GHz and 3.46GHz.

Also on the leaked list were three other processors, of which one was dual core.

Multicore chips are no longer the future. They are here. Are you coding for them?

Are you looking seriously at concurrent or parallelized procedures within your applications yet? Do you know what impact using such techniques is going to have on your development cycle or your applications?

If you are not at least considering the impact of multi-core processors on your application development, then it might be a good time to start. If you look at the system offered today, you'll find that many now come with dual core chips. On higher-end desktop systems quad-core is becoming the norm. In 2010 you'll see AMD and Intel start migrating the high-end towards six-core chips.

The number of cores is going to continue to grow. In fact, in 2010 Intel is expected to release a 48-core chip to researches to begin using. According to BBC News, Intel has already developed an x86 based 48-core chip dubbed the Single-Chip Cloud Computer (SCC).

If you are not adjusting your applications to take advantage of multi-core, then you could be wasting nearly 80% of the power of a six core chip. On a 48 core chip you'd barely be touching the power if you don't adjust your application.

Of course, you can argue that 48 core chips are only for the high-end user and not main stream. Of course the same argument was made with dual core chips just a few years ago. The other old argument is that you'll never use all the power of the many cores. Again, a similar argument was made a few years ago about disk space. Nobody would ever need a terabyte of data storage on their machines. They could never use it all. Yet today, people are buying Terabyte drives for under $100. More importantly, they are using the space. Of course, to process all that data, what would be better than applications using multi-core chips to process it concurrently!

Are you already considering the impact of multi-core on your applications?

Microsoft has released a number of public betas. This includes Silverlight 4, which can now be downloaded from:

http://silverlight.net/getstarted/silverlight-4-beta/

Silverlight 4 is targeted for release next year. The first three versions of Silverlight were released within 22 months. Micorosft is on the same clip with Silverligth 4.

Also released are public betas of products such as Microsoft Office 2010, Project 2010, Visio, 2010, and SharePoint 2010. You can find more on these at:

http://www.microsoft.com/2010/en/

I predict a decrease in developer productivity today....

 


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers