Pages

Saturday, 30 April 2011

Antique Collection--Hinged Wondler

Antique Collection--Hinged WondlerOur Victorian inspired corkscrews come in a decorative wooden gift box and feature all metal construction. The Hinge Pull is a double winged corkscrew with a pull tab top.

Price: $20.00


Click here to buy from Amazon

Join into Silverlight Union

Microsoft Silverlight .NET Tutorials, Articles and more on Silverlight .NET

Sorry, I could not read the content fromt this page.

View the original article here

Baby Shower Hostess Thank You Gift Basket

Baby Shower Hostess Thank You Gift BasketAfter a remarkable baby shower, send the hostess something thoughtful. After spending hours creating your perfect shower, help her relax and unwind with this unique assortment. Show your gratitude and let her enjoy zesty popcorn, fresh roasted nuts, crisp cheese straws, decadent cookies, savory snack mix and scrumptious mini cookies, only from WFGB.

Price:


Click here to buy from Amazon

Red Hat's Ceylon language is an unneeded tempest in a teapot

By Neil McAllister, InfoWorld, 04/21/11

Red Hat can't be serious. The leading Linux vendor can't really be planning to develop a brand-new programming language and SDK to compete with Java -- can it?

Apparently it can, although it seems as though Red Hat didn't really want you to know it yet. Instead of the customary press release, Red Hat's announcement came in the form of a pair of presentations by Red Hat engineer and JBoss fellow Gavin King, delivered at the QCon enterprise software conference last week in Beijing. King's slide decks quickly went viral on the Web, however, leaving the broader software development community both intrigued and perplexed.

[ InfoWorld's Paul Krill weighs in on why Ceylon is no Java killer. | See InfoWorld's picks for the top 5 JVM scripting languages. | Keep up with the latest Java techniques with the JavaWorld Enterprise Java newsletter. ]

Intrigued, because King is no dummy. As the creator of the Hibernate Java persistence framework, he knows Java inside and out. So if he says there are fundamental problems with Java that render it inadequate for modern software development, folks tend to listen.

Perplexed, because of all the things Red Hat could be spending its time, energy, and money on, reinventing the wheel -- particularly a wheel as large and complex as Java -- seems like the least helpful, not to mention the least likely to succeed. What on earth is Red Hat thinking?

Ceylon: Java redux
The media was quick to jump on the idea that Red Hat was cooking up a "Java killer," which King was just as quick to deny. Still, the language's name, Ceylon, is itself something of a giveaway. Java and Ceylon are both islands, but while Java is well-known for its coffee, Ceylon (now Sri Lanka) is famed for its tea -- get the picture?

That's not to say the Ceylon programming language diverges completely from Java. On the contrary, it relies on the Java runtime environment. Ceylon compiles to Java bytecode, which can then be executed by the JVM of your choice.

Where the languages differ is largely in matters of syntax. Although he was obviously once a fan, King believes Java has failed to keep pace with developments introduced by more modern programming languages, such as C#. He thinks it's high time someone gave the Java language a thorough once-over, throwing out the bad and addressing long-standing failings, such as support for high-order functions and improved type handling. He's done that, and he calls the result Ceylon.

But the Ceylon project aims to do more than just revamp Java's grammar. "Much of our frustration is not even with the Java language itself," writes King. "The extremely outdated class libraries that form the Java SE SDK are riddled with problems. Developing a great SDK is a top priority of the project."

You heard that right: The Ceylon project will produce not just a new language, but a new set of class libraries written in and for that language. There will be no inconsistencies here, no dropping back into Java syntax when you need to use an item from the standard library. Ceylon programs will run on the JVM, but they will be written using 100 percent Ceylon.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Hot to do Silverlight .NET hosting

Microsoft Silverlight .NET Tutorials, Articles and more on Silverlight .NET

Sorry, I could not read the content fromt this page.

View the original article here

Sonic Ultimate Genesis CO

Take a trip back in time to the heyday of the SEGA Genesis console by way of your Xbox 360 with Sonic's Ultimate Genesis Collection. Led by six classic Sonic The Hedgehog favorites, this collection is packed with games from iconic franchises you know and love, like Ecco the Dolphin, Streets of Rage, Golden Axe and Phantasy Star, but also contains many others you may have missed. The largest collection of classic SEGA titles available to date, these 40+ games bring classic single player and multiplayer action to life like never before as the best of the SEGA Genesis catalog is reborn on the Next-Gen stage of Xbox 360.

'Sonic's Ultimate Genesis Collection' game logo
Sonic going for a ring in 'Sonic the Hedgehog'
Side-scroll for rings with Sonic.
View larger.
Socking it to street toughs in 'Streets of Rage 2'
'Beat 'em up' in Streets of Rage.
View larger.
Amazon warrior Tyris Flare in battle in 'Golden Axe II'
Hack 'n Slash in Golden Axe.
View larger.
Ninja fight in 'Shinobi III'
Find your inner ninja in Shinobi III.
View larger.
Classic Play Upgraded and Earning Achievements
Each title within Sonic's Ultimate Genesis Collection has been converted to hi-def (720p), ensuring that classic SEGA Genesis 2D style gaming never looked so good, but this collection is about more than looks. Each game will also play just as well, with original control schemes precisely matched to the intuitive and familiar controls of the Xbox 360 video gaming system. And since fun is always better when shared, multiplayer fans will enjoy the competition as they and their friends engage in 2-player classic battles in select games. Lastly all players with an Xbox LIVE membership will appreciate that their side-scrolling skill translates to the online arena via the collection's extensive set of Xbox LIVE achievements.

Games Included:

  • Alex Kidd in the Enchanted Castle
  • Alien Storm
  • Altered Beast
  • Beyond Oasis
  • Bonanza Bros.
  • Columns
  • Comix Zone
  • Decap Attack starring Chuck D. Head
  • Dr. Robotnik's MBM
  • Dynamite Headdy
  • Ecco the Dolphin
  • Ecco II: The Tides of Time
  • E-SWAT
  • Fatal Labyrinth
  • Flicky
  • Gain Ground
  • Golden Axe I
  • Golden Axe II
  • Golden Axe III
  • Kid Chameleon
  • Phantasy Star II
  • Phantasy Star III: Generations of Doom
  • Phantasy Star IV: The End of the Millennium
  • Ristar
  • Shining in the Darkness
  • Shining Force
  • Shining Force 2
  • Shinobi III: Return of the Ninja Master
  • Sonic 3D Blast
  • Sonic and Knuckles
  • Sonic Spinball
  • Sonic the Hedgehog
  • Sonic the Hedgehog 2
  • Sonic the Hedgehog 3
  • Streets of Rage
  • Streets of Rage 2
  • Streets of Rage 3
  • Super Thunder Blade
  • Vectorman
  • Vectorman 2
*Additional games such as Congo Bongo, Zaxxon and others available as unlockables.

Price: $19.99


Click here to buy from Amazon

AC Adapter + Power Cord for IBM ThinkPad T60 X60 R60 Z60 / Lenova Z60M Z60T 3000 C100 N100 V100

AC Adapter + Power Cord for IBM ThinkPad T60 X60 R60 Z60 / Lenova Z60M Z60T 3000 C100 N100 V100Brand New Replacement AC Adapter + Power Cord for IBM ThinkPad X60 R60 Z60 / Lenova Z60M Z60T 3000 C100 N100 V100 / PN 40Y7659 40Y7660 40Y7661 40Y7662 40Y7663 40Y7664 40Y7665 40Y7666 40Y7667 40Y7668 40Y7669 40Y7670 40Y7671 40Y7672 40Y7673 40Y7674 40Y7696 40Y7697 40Y7698 40Y7699 40Y7700 40Y7701 40Y7702 40Y7703 40Y7704 40Y7705 40Y7706 40Y7707 40Y7708 40Y7709 40Y7710 40Y7711 92P1104 92P1106 92P1109 92P1110 92P1114 92P1153 92P1155 92P1157 92P1159 93P5026 PA-1900-17I

Price:


Click here to buy from Amazon

Friday, 29 April 2011

What IBM really thinks about the cloud

By Eric Knorr, InfoWorld, 04/20/11

Certain industry executives who have been around a while never seem to get ruffled by the highs and lows of the industry. Economic downturn? Seen it before. Hot technology trend? Well, there's really not that much new here. Steve Mills, head of IBM's Systems and Software Group, is that kind of no-nonsense guy -- one who is seldom shy about giving his unvarnished opinion.

In this interview, conducted at last week's IBM Impact 2011 show in Las Vegas, Mills offered a candid assessment of HP's purported move to the cloud. Along the way, he resisted my attempts to suggest that cloud, mobile, and big data were conspiring to drive unprecedented change -- and offered one of the more down-to-earth explanations of cloud computing I've heard.

Last summer, IBM merged its Software Group -- which Mills already led -- with its Systems and Technology Group. As senior vice president and group executive of Systems and Software, Mills now has responsibility for all IBM products, making him one of the most powerful people at the company. We began the interview by talking about his new position.

Eric Knorr: You now have essentially double the responsibility you did before.

Steve Mills: I was spending a lot of time on hardware and hardware-related issues before, so it's not a new thing. The software team has had to spend a lot of time with hardware guys on hardware design -- and I'm spending more time on more aspects of the hardware design and pushing the hardware teams to pay more attention to workload-based characteristics.

Knorr: So that means you're involved in product development on both sides?

Mills: Right. All of product development, manufacturing, marketing, sales; it's over 100,000 people in lots of locations all over the world.

Knorr: Well, you're in a good position to answer this question. Recently, I've been hearing statements from executives around the industry that over next 5 years we're going to see more change than we saw during the last 25. Or words to that effect. Would you take it that far?

Mills: Well, there's no scorekeeper, you know? Change is always a matter of your own perspective in terms of where you are. Clearly, technology builds on technology, so there is an expansion phenomenon that occurs around technology. We all stand on the shoulders of giants.

So yes, the next 5 years will be profound in terms of new things that we see. And yet if you think about today -- pick 2010 and think of 2005 versus 2010 -- a lot changed, but a lot stayed the same. You saw things evolve more than absolute change. Handheld devices were certainly popular in 2005. People were running around with tablets back in the late '90s. They didn't perform that well and the model needed more work to get perfected. Now the whole market is abuzz with the tablet idea. It's not a new idea; it's just a bunch of things had to come together -- size, weight, the power, battery life, application functionality, things of this nature. Obviously the Web and high-bandwidth connectivity, all of which are required to make the iPad, or whatever your tablet choice is, work effectively.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Silverlight Tutorials, Interview Questions, Resources

Sorry, I could not read the content fromt this page.

View the original article here

90W AC Adapter for IBM Lenovo ThinkPad T61 Z61 X61 R61

90W AC Adapter for IBM Lenovo ThinkPad T61 Z61 X61 R61Compatible Models / Replace PN : IBM Lenovo ThinkPad T61 Z61 X61 R61

Price:


Click here to buy from Amazon

Build for Android or iOS? There's no need to choose

By Savio Rodrigues, InfoWorld, 04/08/11

A high-profile VC and a well-known mobile application developer were recently involved in a debate about whether to build for Android or Apple mobile platforms. The answer, it turns out: "it depends," "both," or "simply build for the mobile browser." The third answer is the correct one for most developers.

App developers and companies have different goals, so why follow the same advice?
Well-respected VC Fred Wilson, principal of Union Square Ventures, has suggested that developers interested in the largest user base should invest as much, if not more, in developing for Android as they do for iOS. Wilson justifies his recommendation by looking back at the desktop operating system market: "I believe the mobile OS market will play out very similarly to Windows and Macintosh, with Android in the role of Windows."

[ Read Peter Wayner's five-part series on HTML5's capabilities and Dori Smith's tutorial on building mobile-savvy websites. | Get the latest insights and news on open source trends with InfoWorld's Technology: Open Source newsletter. Subscribe today! ]

Countering Wilson's advice is Marco Arment, founder of Instapaper and former lead developer of Tumblr. Arment suggests developers need to keep a closer eye on development economics, degree of fragmentation, payment integration, and the willingness of users to pay for applications or extensions on a given mobile OS platform.

Arment's advice is likely to resonate with individual developers hoping to directly monetize their mobile application either by selling the application or through in-application purchases. Over time, however, you shouldn't bet against Android closing the gap versus Apple along the lines of development economics, payment ease-of-use, and fragmentation.

It remains to be seen whether Apple's platform can continue to generate higher application and in-application purchase revenue for developers even while Android boasts the No. 1 mobile OS by new-unit share. Today, the app store revenue gap between Apple and all other mobile platforms is striking. But will that continue?

On the other hand, a company that sells goods or services that are exposed through the mobile application, but does not monetize the application itself, needs to pay more attention to Wilson's advice. If the vast majority of a bank or retailer's prospective users are going to use an Android device for banking or shopping, the company had better offer a compelling experience on that platform.

But why choose between developing for Android or Apple?

Build mobile Web browser applications
It's amazing to watch companies that don't rely on directly monetizing their mobile application invest in native mobile applications for iOS or Android. In a rush to be the first to market, these companies optimized for a device rather than following the cross-platform and cross-browser Web application strategy they've used on the desktop for the better part of a decade.

Not surprisingly, this focus on native apps will change, thanks to HTML5, CSS 3, and JavaScript.

For example, if TweetDeck, which is best known for its thick-desktop Twitter client, can see the light and deliver the same user experience in a Web browser across desktop and mobile devices, chances are your company's Web application can also evolve into a mobile Web application without paying the cost of device-specific implementations.

The key element of TweetDeck's announcement is that "TweetDeck Web, however, is a standalone website and requires no downloads, [requires] no app stores, and is not limited to any one brand of Web browser."

"No app stores" is a win for the browser
The "no app stores" angle obviously has its pros and cons. However, unlike individual developers, companies that aren't monetizing the mobile app itself don't need to rely on an app store to attract users. They already have users and other processes to attract new users. Their users simply want to interact with these companies through mobile devices. In fact, putting the company's Web application into an app store adds extra hurdles for users and for the company when it comes to fixing defects or updating the application.

Yes, if users begin to rely more on app stores and less on the Internet itself for finding new vendors of goods or services, being in the app store of choice will become as important as being listed in Google's Web index. But we're years away from this scenario becoming reality, if it ever does. In the short to medium term, established companies can well address new and existing customers through a mobile Web application.

It's strange that Google hasn't recognized the mobile browser application opportunity and is instead trying to replicate Apple's App Store strategy in its Android Market. The use of the browser undermines the value of the underlying OS, and because Google doesn't much care to profit from the underlying OS or the device (unlike Apple), it should be encouraging companies to build mobile Web applications, not device-native applications. And Google should be indexing and promoting these mobile Web applications.

Consider cross-device frameworks as a step toward standard browser applications
Individual developers and companies that need to be an app store or want to access more of the device's native capabilities, such as the camera or GPS, should evaluate the various cross-device frameworks available. For example, PhoneGap already has an impressive list of cross-device native feature support. Using a framework such as PhoneGap and its build service could make it easier, faster, and cheaper to create applications for Android and iOS, instead of having to decide which platform to prioritize.

Over time, standards will emerge to access core mobile device capabilities, such as the camera and contacts list, in a cross-device fashion. Whether this occurs through de facto standards around a framework such as PhoneGap or through a formal standards body efforts is unclear. Maybe Google will smarten up and realize it has more to gain by spearheading this initiative than trying to play Apple's App Store game.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Lenova Square D Undermount Double Bowl Kitchen Sink SS-RIM-ED

Lenova Square D Undermount Double Bowl Kitchen Sink SS-RIM-EDLenova Square D Collection Stainless Steel Color Finsh Kitchen Sinks Double Bowl By Lenova

Price:


Click here to buy from Amazon

Lenova Bath Round Above Counter Vessel Sink SS-B5

Lenova Bath Round Above Counter Vessel Sink SS-B5Lenova Bath Collection Stainless Steel Color Finsh Bathroom Sinks Vessel Sinks By Lenova

Price:


Click here to buy from Amazon

Announcing the SharePoint Diagnostic Studio

Author: Bill Baer, Senior Technical Product Manager, Microsoft Corporation - SharePoint

One of the most challenging aspects of maintaining a SharePoint deployment is understanding why certain events have transpired in the environment, often IT Professionals and Developers only have access to when an event occurred and are tasked with parsing Performance Counters, Event and Diagnostic logs, or executing Transact-SQL statements against the Usage database to put the what and why to the when.  These tasks are typically accomplished through an array of tools such as Excel, Log Parser, SQL Server Management Studio and others and the IT Professional and Developer are challenged to correlate and condense this information into a meaningful format - large complex server farm environments make these tasks all the more difficult. Often the most accessible solutions are used to identify and resolve issues occurring in a server farm environment to include the SharePoint Health Analyzer and Systems Center Operations Manager.The next version (v2.0) of the SharePoint Administration Toolkit includes the new SharePoint Diagnostics Studio.  The SharePoint Diagnostics Studio provides a 3rd layer than can be implemented to support these processes and solutions.

In the new version of the SharePoint Administration Toolkit we’ve introduced a new and revised SharePoint Diagnostics Studio that represents a complete departure from previous diagnostics toolkits.  The next generation SharePoint Diagnostics Tool, the SharePoint Diagnostics Studio, presents server diagnostic information in a visual and structured way that enables Developers and IT Professionals to quickly diagnose and act upon intermittent performance, reliability and functionality problems in a SharePoint 2010 environment.

The SharePoint Diagnostics Studio offers unprecedented depth surfacing every request, across every machine, remotely, with minimal permissions.  This depth and usage allows the IT Professional or Developer to rapidly identity and isolate issues without requiring access to the physical hardware that supports the underlying environment.

 

        The SharePoint Diagnostics Studio gathers and consolidates Event and Diagnostic (ULS) logs in addition to information from the Usage database and presents it through a graphical user interface supporting clarity and a single view into issues impacting a deployment.The SharePoint Diagnostics Studio provides a wide variety of reports intended to address the most common issues impacting capacity, performance, availability, and usage that can be used independently or together to identify and isolate issues occurring in a SharePoint environment. The SharePoint Diagnostics Studio provides reports in 5 separate categories:
Integrated search enables rapid insight into issues that have occurred during the lifecycle of a request allowing the IT Professional or Developer to search against the most common criteria including date and time, Correlation Id, and the source user.
Snapshot and export support in the SharePoint Diagnostics Studio provides the ability to take information offline.

Context sensitive help provides guidance on both the purpose and how each report should be used.

View the original article here

Thursday, 28 April 2011

The Lenovo Affair: The Growth of China's Computer Giant and Its Takeover of IBM-PC

The Lenovo Affair: The Growth of China's Computer Giant and Its Takeover of IBM-PCLenovo is a global leader in the PC market, employing more than 19,000 people worldwide.  Its landmark takeover of IBMâ??s PC division in May 2005 was a major step for the company and a huge boost for Chinese industry.  The deal proved to the world that Chinese companies are not only competitive in the domestic markets but can also compete at a global level.

Lenovo was founded in 1984 by 11 engineers working out of a small bungalow in Beijing. Their crisis was to create a company that would offer PCs to the Chinese people at an affordable price.  Using the brand name, Legend, it promoted PC usage throughout China and developed the revolutionary Legend Chinese character card that translated English software into Chinese characters.

In 1994, Legend was successfully listed on the Hong Kong Stock Exchange and in 2003 rebranded itself as Lenovo.  The company went from strength to strength and dominated the Chinese market with more than 25% of market share in 2004.

The IBM acquisition has marked another key milestone in the history of the company.  Lenovo now has over $13 billion in annual reserves and possesses necessary infrastructure to develop its markets around the world.  The company is a worldwide sponsor of the International Olympic Committee and will offer funding and support to the 2006 Winter Games in Torino and the 2008 Summer Games in Beijing.

Author Ling Zhijun is well known in China for his reporting on Chinaâ??s economic reform, and for his book â??Jiao Fengâ?. This book sold over two million copies in China.  The author is a seasoned reporter for the Peopleâ??s Daily; based in Shanghai.

Martha Avery, the translator and editor of this book in English, has translated a number of works of Chinese literature into English that have been published by such presses as Viking Penguin, WW Norton, HarperCollins, Farrar Straus Giruoux and David Godine.  Her most recent authored book is Tea Road: China and Russia Meet Across the Steppe.  This is an economic history of the region and was published by the Intercontinental Press (China) in 2004.  Ms Avery is based in Boulder, Colorado, but travels frequently to China as business consultant for a large software distributor called Software Spectrum, Inc.

Price: $24.95


Click here to buy from Amazon

SharePoint MVP web chat; Wednesday, April 20th.

Do you have tough technical questions regarding SharePoint for which you're seeking answers?   Do you want to tap into the deep knowledge of the talented Microsoft Most Valuable Professionals?

The SharePoint MVPs are the same people you see in the technical community as authors, speakers, user group leaders and answerers in the MSDN and TechNet forums. By popular demand, we have brought these experts together as a collective group to answer your questions live.

So please join us and bring on the questions!  This chat will cover WSS 3.0, MOSS, SharePoint Foundation 2010 and the SharePoint Server 2010. Topics include setup and administration, design, development and general question.

?

View the original article here

Lenova A-CB-02 Accessories Bamboo Cutting Board, Carmel

Lenova A-CB-02 Accessories Bamboo Cutting Board, CarmelFinish Options:Carmel This Bamboo Cutting Board fits all of Lenova's RIM Series Sinks.

Price:


Click here to buy from Amazon

Open source programming tools on the rise

By Peter Wayner, InfoWorld, 04/18/11

If the open source model has a sweet spot, it's in programming tools. Linus Torvalds's fabled "world domination" on the desktops of clerks or CEOs may never arrive, but it's already here on the computers of programmers everywhere. Even in the deepest corners of proprietary stacks, open source tools can be found, often dominating.

The reason is clear: Open source licenses are designed to allow users to revise, fix, and extend their code. The barber or cop may not be familiar enough with code to contribute, but programmers sure know how to fiddle with their tools.

[ Also on InfoWorld: Find out which 7 programming languages are on the rise in today's enterprise and beware the 12 programming mistakes to avoid. | Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. ]

The result is a fertile ecology of ideas and source code, fed by the enthusiasm of application developers who know how to "scratch an itch." Programmers are a knowledgable and opinionated bunch; open source lets them share their knowledge and implement what they want.

Here is a very unscientific survey of worthwhile open source tools that have caught our eye. Some are entirely new projects; others are old favorites that continue to generate new ways to surprise us as they morph to support the latest programming trends.

This is the beauty of open source. Tweak and recompile, and your old programming tool can be new again.

 Open source programming tool on the rise: Rhomobile Rhodes
Ruby may be the second most popular language on Github, but that won't do you any good if you want to program for the iPhone, a platform that prefers Objective-C, the way God intended when he first created the NeXT machine.

Rhomobile Rhodes is an open source platform for bundling up Ruby websites and stuffing them into an iPhone app. You can even use jQuery Mobile to handle the layout if you wish. It's like building a Web app, but you have to remember that the user has big fat fingers instead of a much more precise mouse pointer.

 Open source programming tool on the rise: Git
While many developers continue to use CVS and Subversion, a number of projects are moving to Git, a source-control tool that works well for less centralized teams where a dominant central repository might not exist.

What Git does is it makes practically every copy its own central repository and offers sophisticated tools for merging the resulting proliferation of repositories. With SVN or CVS, users check out just a copy, a subordinate version of the code that must eventually rejoin the center. Git users, on the other hand, create stand-alone repositories with all the rights and privileges of the center. With Git, you can create four or five repositories on your development box and eventually merge them all. To use an analogy, Git is like democracy, while CVS represents the old feudal world.

Of course, not everyone welcomes the flexibility Git provides. Some see this freedom enabling confusion. Proponents counter that you're not required to use all of Git's power, but it's there to help out when the project requires more than a central government. Some developers have create Repo to combat the complexity of Git. A tool for pushing changes through multiple repositories, Repo is, in a way, the re-emergence of central control for the Git ecosystem.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Lenovo G560 Series 067999U Laptop (Black)

Affordable Technology. Fun is getting the latest technology at an affordable priceâ??the Lenovo G560 with OneKey Rescue System.
The Lenovo® G560 notebook is an affordable notebook that doesn’t compromise on the basics. It delivers outstanding performance for everyday tasks thanks to the Intel® Pentium® Dual Core processor, 4GB of memory and a spacious storage for images, music and videos. It also features OneKeyâ?¢ Rescue System, a convenient tool which makes data backup and recovery quick and easy. Plus, Lenovo Energy Management 5.0 helps to protect the long-term life of the battery by preventing unnecessary recharges, and uses advanced energy-saving technology to increase time spent away from the wall outlet. All in all, the Lenovo G560 is more than the average affordable notebook. And, it’s from Lenovo, makers of the award-winning ThinkPad.®

Lenovo G560 Notebook Key FeaturesG560 front view

Key Specifications

  • Intel® Pentium® Dual Core P6100 processor
  • Genuine Windows 7 Home Premium 64
  • Lenovo Energy Management 5.0 enables extended battery life, long-term battery durability and lower noise output through dynamic fan control

GET ENTERTAINED

  • 15.6 inch high-definition LED backlight display, 16:9 widescreen
  • HD graphics support
  • High-performance multimedia: 4GB DDR3 memory and 320GB HDD storage
  • DVD reader/writer
  • Integrated high-speed WiFi
  • Numeric keypad for easier data logging and gaming
  • Integrated web camera

REST EASYG560 top view

  • OneKey Rescue System for quick and easy data recovery with antivirus protection
  • VeriFace facial recognition technology - a fun way to log in to your PC

A BETTER WINDOWS 7 EXPERIENCE

  • Lenovo Enhanced Experience for Windows 7 provides a faster, richer and easier way to use your PC


OneKey Rescue System

OneKey Rescue System

OneKey Rescue System for quick and easy data recovery with anti virus protection. With the touch of a button, users can restore the system and recover valuable data. The OneKey Rescue System interface allows the user to quickly diagnose where a system corruption occurs, ensuring that recovery is fast and effective. OneKey Rescue System consists of 3 modules which can be accessed before booting into the OS, or in the case of OneKey Recovery can also be accessed in Windows (with limited functionality):

OneKey AntiVirus
Supports Norton Anti-virus, runs virus checking before entering operating system.

OneKey Recovery
Backup and recover system and user data.

System Repair
Automatically repair damage to critical system files.



VeriFace Face Recognition

VeriFace

VeriFace face recognition - a fun way to log in your PC.
Your face is your password and software supports multiple users.

  • Login log review - Check who has tried to log into your computer.
  • File encryption/decryption - Encrypt and decrypt sensitive files, using your face as the password.
  • Live detection - Stops unauthorized users from using a photo of the owner to log in. Checks head movement and other characteristics to determine if a real person or a photo. Users can enable/ disable the live detection or set the sensitivity level according to their preference.
  • Leave a video message - Unauthorized users can leave a video message for the computer owner to view when they return.


Multimedia Features

Card Reader

Multimedia features like a 5-in-1 media card reader, integrated camera, integrated microphone and optical disc drive provide a great multimedia experience at home or on the go.



Lenovo Energy Management

Lenovo Energy Management Lenovo Energy Management, our advanced power- and battery-management software (on select models), helps you easily control your laptop's energy usage with a simple interface and a quiet mode for studying or working.

VibrantView Displays

VibrantView Displays

VibrantView displays let light pass through with minimal diffusion, resulting in sharper contrast, crisper images and better image visibility in bright light.



Lenovo Enhanced Experience for Windows 7

Lenovo Enhanced Experience for Windows 7

FasterWindows 7 - Faster, Richer, Easier
Lenovo Enhanced Experience for Windows 7 PCs boot up and shut down faster than non-optimized PCs - all while loading critical security features like anti-virus software.

Richer
Experience rich entertainment and graphics features:

  • High Definition graphics support for super-smooth playback of high-def video content.
  • DirectX 10 and above for realistic graphic in games and running the Windows 7 Aero Peek interface.
  • Enhanced digital audio for a totally immersive multimedia experience.

Easier
Experience peace of mind with intuitive, integrated tools that make it easy to use and maintain your PC. Quickly backup, recover, scan and repair your PC with the simple touch of a button.

For more information, visit the Lenovo Enhanced Experience for Windows 7 page on Lenovo.com.




Price: $499.99


Click here to buy from Amazon

Of memory and strings

This post was provoked by a recent Stack Overflow question which asked whether there was an efficient representation of ASCII strings in .NET.

In particular, the questioner wanted to story hundreds of thousands - possibly millions - of strings in memory, and knowing (or assuming) that they all consisted of ASCII characters, he wanted to avoid the waste of space that comes from storing each character in a .NET string as a UTF-16 code unit.

My answer to the question mostly consisted of saying that I didn't think it would be worth the effort, and giving some reasons. But the more reasons I gave, the more I thought about the subtleties involved, and that it's actually quite an interesting case study into memory use in .NET.

If we're going to work out any sort of benefit from a more compact string representation, we'll need to be able to calculate how much memory our objects are taking to start with. Rather than work this out in a purely theoretical way, I've been running tests using code like this:

using System;

class Program
{
static void Main(string[] args)
{
int size = 10000000;
object[] array = new object[size];
long before = GC.GetTotalMemory(true);
for (int i = 0; i < size; i++)            
{
array[i] = new object();
}
long after = GC.GetTotalMemory(true);
double diff = after - before;
Console.WriteLine("Per object: " + diff / size);

       
GC.KeepAlive(array);
}
}

Obviously that doesn't take into account factors such as memory used by JITting, or anything that could be going on in other threads, but by using a suitably large number of objects, and by performing the division in floating point arithmetic (to avoid a slight variation making an 11.99999 come out as an 11, when it's really just a "12 with something else going on", we can work out the size of objects pretty clearly. The sample above measures the size of a vanilla object, but the code can be adapted very easily.

The first important thing to point out is that C# doesn't guarantee the results of this - it isn't responsible for determining how all of an object is laid out in memory; that's the runtime's job. While there are attributes to affect the layout and padding of the data members of a type in memory, there are other aspects that are out of your control. In this post I won't use any of the layout attributes - we'll just use the defaults.

Not all runtimes are created equal, either. On my laptop I've got Mono 2.8, .NET 3.5 and .NET 4, with the two versions of .NET each having the 32-bit (x86) and 64-bit (x64) CLRs. For the sake of simplicity, I'm going to stick with .NET 4 for this post, but I'll give results for both the x64 and x86 CLRs. To test each of them, I'm compiling with "/platform:x64" or "/platform:x86".

Before I start creating my own types, let's try a few built-in types, including strings:

Note that all the x86 sizes are rounded up to the nearest 4 bytes, and all x64 sizes are rounded up to the nearest 8 bytes.

The string numbers are interesting, because strings are the only non-array types in .NET which vary in size. A long string consists of a single large object in memory. Compare this with Java, where a String is a "normal" type in terms of memory consumption, containing an offset and length into a char array - so a long string consists of a small object referring to a large char array. This distinction will be very important when we come to build an AsciiString type. Another point about measuring string sizes is that it's relatively tricky to measure the size of an empty string - because even if you use the "new string('x', 0)" constructor, the result is still cached - the same reference is returned each time.

You might be forgiven for looking at the numbers above and thinking that the "overhead" of an object is 12 bytes in x86 and 24 in x64... but that's not quite right. Let's build our own straightforward classes and measure them...

Here are six classes, all of which are measured with the same simple test code:

class Empty {}
class OneInt32 { int x; }
class TwoInt32 { int x, y; }
class ThreeInt32 { int x, y, z; }

class Mixed1
{
int x;
byte b1, b2, b3, b4;
int y, z;
}

class Mixed2
{
int x;
byte b1;
int y, z;
byte b2, b3, b4;
}

The last case is mostly to check how the CLR handles an "awkward" class declaration, where the int variables won't naturally be aligned on 4-byte boundaries. The results look odd at first, but we'll make sense of them in a minute:

A few interesting things to note here:

There's a "base" overhead of 8 bytes per object in x86 and 16 per object in x64... given that we can store an Int32 of "real" data in x86 and still have an object size of 12, and likewise we can store two Int32s of real data in x64 and still have an object of x64. There's a "minimum" size of 12 bytes and 24 bytes respectively. In other words, you can't have a type which is just the overhead. Note how the "Empty" class takes up the same size as creating instances of Object... there's effectively some spare room, because the CLR doesn't like operating on an object with no data. (Note that a struct with no fields takes up space too, even for local variables.) The x86 objects are padded to 4 byte boundaries; on x64 it's 8 bytes (just as before) By default, the CLR is happy to pack fields pretty densely - Mixed2 only took as much space as ThreeInt32. My guess is that it reorganized the in-memory representation so that the bytes all came after the ints... and that's what a quick bit of playing around with unsafe pointers suggests too... but I'm not sufficiently comfortable with this sort of thing to say for sure. Frankly, I don't care... so long as it all works, what we're interested in is the overall size, not the precise layout.

In this blog post I'm not actually going to implement an ASCII string at all (well, not much). I'm merely pointing out what the data structures would look like. However, it's worth working out what desirable qualities it should have. As far as possible, it should feel like System.String. In particular:

It should be immutable. It should have fast access to individual characters, and the length. It should mostly "feel" like an immutable reference type, in that passing a value of type AsciiString around should be cheap, like copying a reference. It should use as little memory as possible... less than the equivalent string, or it's pointless. One caveat to this: in theory that could mean storing 8 characters in every 7 bytes, as ASCII really only uses 7 bits per character. I'm not going to those extremes, but you can think about them if you want.

We're going to store the characters as a byte array. We have three options as to exactly how we handle that byte array:

We could go the Java way, where several strings share references to the same array. Each string then has an offset and a length to say which bit of the array they're interested in. Pros: Substring becomes really cheap Cons: You can end up having just a tiny substring responsible for keeping a huge character array alive We could go the .NET way, where each string has its own character data, but the buffer may be longer than necessary... so it stores the length too. (A bit like a List.) Pros: Can potentially make building strings cheap, if you just keep whatever potentially oversized buffer you've already got. Cons: Wasted space for the unused part of the array, and a field for the length. We could just have a byte array of exactly the right size - and it already knows its size.

I'm going to assume the third option here. So all the data our type needs is a byte array. That's going to be pretty cheap... we hope. Let's look at what we can build.

To give a flavour of the implementation, I've decided to implement four members for each option:

A way of creating an AsciiString from a regular string The Substring overload with both a start and length The Length property The indexer returning a char

Hopefully that will give enough of an idea of what's going on to be useful. Note that these aren't production-quality implementations at all... none of the code has ever been run at all. I have made sure it compiles, so just be grateful for that :)

using System;
using System.Text;

public sealed class AsciiString
{
private readonly byte[] data;

    public AsciiString(string text)
{
data = Encoding.ASCII.GetBytes(text);
}
private AsciiString(byte[] data)
{
this.data = data;
}
public AsciiString Substring(int startIndex, int length)
{
if (startIndex < 0 || startIndex > data.Length)
{
throw new ArgumentOutOfRangeException("startIndex");
}
if (startIndex + length > data.Length)
{
throw new ArgumentOutOfRangeException("length");
}
byte[] newData = new byte[length];
Buffer.BlockCopy(data, startIndex, newData, 0, length);
return new AsciiString(newData);
}
public int Length { get { return data.Length; } }
public char this[int position] { get { return (char) data[position]; } }
}

Hopefully this is pretty straightforward - it's meant to be the most "obvious" solution. Note that we've not got the nice locality of reference which the real String class has - it's possible that the an AsciiString could end up with its backing array a long way away in memory, so a indexer operation for a single character could end up with three cache misses - one for the AsciiString object, one for part of the data array storing the length (for argument validation) and one for the part of the data array containing the character we're looking for. That may be unlikely, and it's not the kind of thing I normally think about - but it's probably the kind of thing the BCL team pay a lot of attention to.

We get the same "immutable reference type" behaviour present in the normal string type, however - you can have a null AsciiString reference just as normal, any assignments will just be reference assignments, etc.

What about the size though? There are two objects to consider:

The array, of size 12 + length or 24 + length (x86 and x64 respectively; rounded up to 4 or 8 bytes as well) The object itself, of size 12 or 24

So we've got a total size of 24 + length or 48 + length, depending on architecture. To show how the break-even point works, here's a little table showing the sizes of string and AsciiString for various sizes on both architectures:

As you can see, the break-even point in x86 is at length 10; in x64 it's at length 16. After that, we start winning - as we'd expect. The penalty for very small strings is quite hefty though - you'd really better hope you didn't have lots of single-character strings, taking 56 bytes each in x64.

Let's see if we can do better...

A lot of the overhead here has come from the fact that we've got an object which only has a single field. The field is all we're interested in... why are we bothering with all the overhead of the object? Let's make it a struct instead, effectively inlining that field wherever we use the type. Assignment, passing arguments to methods etc will still only be copying a reference - it's just the reference will be the byte array rather than a wrapper object.

It all sounds good, but there are two snags:

The value can never be null; that at least diverges from the familiar string behaviour We won't be able to prevent code from creating an instance of our struct with new AsciiString() - and that won't be good.

We can actually pit these two downsides against each other by making the "default" value a pseudo-null value... we can even throw NullReferenceException just as if it were a reference type. We don't even need to do any work in order to get that NullReferenceException - every member is going to use the data array anyway, and dereferencing that will automatically throw an exception. We might want to change things around a bit to make that the very first thing that can throw an exception, but that's all.

It's nasty, but it appeals very slightly. In an evil kind of way. It makes things slightly more familiar, but at the cost of being generally weird in other ways.

We still need to be able to check whether an AsciiString value is the logical null value. I'll add an IsNull property for that purpose. (An alternative would be HasValue, but that would be confusing with Nullable.)

Most of the code remains untouched - it looks like this:

public struct AsciiString
{
private readonly byte[] data;

    public bool IsNull { get { return data == null; } }
}

Now let's look at the sizes, which should be a lot more favourable than before. Note that I had to change the size-checking code to create an array of type AsciiStruct[] instead of object[] to avoid boxing. Should we take the size of the array itself into consideration when computing the size of the AsciiString? We haven't when working out the size of string... in each case the size of any individual element will be the size of a reference. For the table below, I haven't included it... but bear in mind that this form of measurement would count the size of most value types (int etc) as 0. It just goes to show that when you talk about the size of a data type, you really need to be very precise in what you mean.

This time, unsurprisingly, AsciiString is always more space-efficient than the normal string. It just takes a certain amount of holding our noses. Speaking of which...

Suppose we really, really want to have "proper" null references. We don't really need the struct. We could treat any byte array as an array of ASCII characters, with extension methods like this:

public static class ByteArrayExtensions
{
public static byte[] Substring(this byte[] data, int startIndex, int length)
{
if (startIndex < 0 || startIndex > data.Length)
{
throw new ArgumentOutOfRangeException("startIndex");
}
if (startIndex + length > data.Length)
{
throw new ArgumentOutOfRangeException("length");
}
byte[] newData = new byte[length];
Buffer.BlockCopy(data, startIndex, newData, 0, length);
return newData;
}    
}

The size is the same as with option 2 - in both cases there's just the byte array, basically. This option is truly horrible in many ways though:

You can no longer tell in your code (just through typing) what's meant to be an AsciiString and what isn'tKiss immutability goodbyeWe can't guarantee that all the characters will be valid ASCII any moreWe can't add extension properties or extension indexersWe can't make it implement the interfaces we want it to

Obviously, we'd never take this route. I just thought I'd include it for a regular dose of evil-ness.

Implementing an ASCII-only string representation sounds like it should be an obvious win in terms of memory, at the cost of doing a lot of work that's already been done for us in String. However, the most obvious implementation takes a while to break even in memory usage, compared with the normal string type, due to the "special" nature of string within the CLR. We can't mimic the "stretchiness" of string ourselves. The BCL/CLR teams could, of course, if they really wanted to. I'm not holding my breath though.

If we're dead keen on saving space at the cost of some design wonkiness, we can use a value type instead of a reference type. Other than nullity, it works pretty well... but you have all the disadvantages which go with value types, such as the unavoidable parameterless constructor and the need to watch out for boxing.

Aside from anything else, I hope this was useful as a delve into how much space objects actually take up in .NET - and as a way of highlighting the extra memory used when running in the x64 CLR.


View the original article here

Laptop AC Adapter/Power Supply/Charger+US Power Cord for Lenovo IdeaPad S10-2 S12 S9e s10 s10-1211 s10-3 s10-3t s10-42312au s10-42312cu s10-42312du s10-423132u s10-423135u s10-4231a8u s10e s9

Laptop AC Adapter/Power Supply/Charger+US Power Cord for Lenovo IdeaPad S10-2 S12 S9e s10 s10-1211 s10-3 s10-3t s10-42312au s10-42312cu s10-42312du s10-423132u s10-423135u s10-4231a8u s10e s9Compatible Model/Replace PN : Lenovo IdeaPad S10-2 S12 S9e s10 s10-1211 s10-3 s10-3t s10-42312au s10-42312cu s10-42312du s10-423132u s10-423135u s10-4231a8u s10e s9

Price:


Click here to buy from Amazon

Wednesday, 27 April 2011

Why open code is irrelevant to Android&apos;s success

By Savio Rodrigues, InfoWorld, 04/01/11

Google's recent announcement that Android 3.0 "Honeycomb" will remain closed to outside developers isn't sitting well with open source proponents. The stark reality, however, is that Android's growth has little to do with the question of open code.

The Android bait and switch?
While Honeycomb code will be available to developers at partner organizations, smaller shops will not be given access to the tablet-optimized version of Android for the foreseeble future. Andy Rubin, vice president of Android engineering at Google, explained in a recent Bloomberg Business Week interview the trade-off that led to the decision. "We didn't want to think about what it would take for the same software to run on phones," Rubin explains.

[ Get the latest insights and news on open source trends with InfoWorld's Technology: Open Source newsletter. Subscribe today! ]

Keeping the source code for Honeycomb private is one way Google plans to prevent developers from trying to run Honeycomb on smartphones, a scenario that Google didn't plan or test for prior to shipping the OS.

Although Android is often referred to as an open source mobile platform, the development approach is far from open. Google develops Android behind closed doors and makes the source code available when and, as it now appears, if Google feels it is appropriate.

Not surprisingly, some open source developers are taking an exception to the Honeycomb news, including Linux developer Adam Drews:

In hindsight Android was a bit of a bait and switch with a dash of divide and conquer. Most of the open source folks are fine with Android being closed up so long as it is opened up later and that means that we lose a large portion of the potential community to Android. This has translated to lower participation in projects like MeeGo and little demand on manufacturers to provide devices that we can easily install other operating systems on. If Android were fully closed we'd have a large base of support waiting to come over to freer pastures but with Android existing in this quasi-open state enough of the open source crowd will stick with it to make it hard for critical mass to grow behind projects like MeeGo.

The relative importance of openness
RedMonk's Stephen O'Grady tackles the question of whether it matters if Android is open or not:

But while developers are unquestionably and understandably disappointed, there is little evidence to suggest that a less than open Android will have a material cost in developer traction associated with it. Apple's iOS, a platform that is not open source, has immense developer traction with more than 350,000 applications available at the moment.

Based on market share of mobile devices shipped or number of applications for a particular mobile platform, it's abundantly clear that mobile operating system success has little to do with openness. In fact, O'Grady concludes that while Google may have felt that openness would turn out to be a differentiator in the market, that hypothesis simply hasn't been proven out.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Lenova Above Counter Rectangle Vessel Sink PAC-08

Lenova Above Counter Rectangle Vessel Sink PAC-08Lenova Collection White Color Finsh Bathroom Sinks Vessel Sinks By Lenova

Price:


Click here to buy from Amazon

How to create a non-rectangular image in Silverlight, WPF and WinForms

Introduction
In Windows Forms, it’s quite hard to create a display like this one without doing a lot of work  :

 ImageBrush1  
And just for avoidance of doubt, this isn’t a rectangular picture box or image that contains an oval shape and a transparent background. The element here isn’t contained in a rectangle, it’s genuinely oval so it neatly avoids those problems you can get with overlapping controls when using a Windows Forms PictureBox. 

Just to test that claim, here’s the image with a bordered TextBlock set next to it:

ImageBrush2

As you can see, there’s no overlap issue here.   Although it can be tricky to create such a control in Windows Forms, creating an element like this in WPF and in Silverlight is so simple you’d hardly believe it.

WPF and Silverlight Version
Using XAML, you can create the first effect with the following markup:





Let’s look briefly at the XAML. 

Firstly, an ellipse is created to hold the image.  The Ellipse object has a Stroke property that represents the color to be used for the outside edge of the ellipse.  (Notice that I carefully avoided using the word ‘Border’ there, for good reason.  WPF and Silverlight both offer a Border element, but we don’t need to use that here.)

It also has a StrokeThickness property, whose purpose is obvious, and I’ve set this to an arbitrary thickness of 7.  This is what creates the frame effect.

The next property to look at is the Fill property.  In cases where the value of a property is complex (in this particular example, where the fill isn’t simply a solid color), you need to use this kind of property-element syntax.  Essentially, all you do is create opening and closing tags for the property (in this case Ellipse.Fill) and then insert the required settings or additional sub-elements between the tags. 

In this example, that sub-element is an ImageBrush object, and that’s really the key that makes this work.   The ImageBrush is assigned an ImageSource, rather than a solid color or gradient color that you’d normally expect to see used by a brush.  And the brush can use this image to paint any area – in this case the fill area of the ellipse.

Of course, if you don’t want the frame effect, you can just remove the Stroke and StrokeThickness properties:





ImageBrush3

And, if a plain old oval shape isn’t what you need then you can apply Transforms to rotate or skew the shape.  I won’t cover those here, but may come back to them in a later blog.

Windows Forms Version
So, that’s fine if you’re building a WPF or Silverlight application, but what if you need this in Windows Forms? Well, one of the easiest ways is to use interop, which will allow you to insert this ellipse into a form by hosting it in a Windows Forms ElementHost control.

Here are the steps you need to follow:

In a Windows Forms project, use the Add—>New Item menu item and add a User Control(WPF) item from the WPF templates.  In my sample project, I named this OvalImage. 

Next, if you don’t already have the image you want to use, add one to the project in the usual way:  Add—>Existing Item.

Change the DesignHeight and DesignWidth properties of the user control as necessary.  I’ve used:

d:DesignHeight="150" d:DesignWidth="130">

Create the composite element by adding a Canvas, an Ellipse,and then using an ImageBrush to fill the ellipse:







Change any of the size or margin settings as needed for your particular image.

Then, switch to the Windows Form in Design view and drag an ElementHost control from the WPF Interoperability tab of the Toolbox.  if you can’t see this tab, then you probably still have the WPF User Control selected, in which case you’ll only be able to see WPF elements in the Toolbox.

Click on the smart tag of this control and select the user control (OvalImage in my example) as the Hosted Content.  The image should appear inside the ElementHost control, but it may be clipped.  Don’t worry if it is:

ImageBrush5

Build and Run the project.  You should see a result something like this (i.e. the clipping has disappeared:

ImageBrush6

As an experiment, I’ll add a label to the form and position it so that it sits on top of the ElementHost.

ImageBrush7

The trick here is to right-click on the label and select the bring To Front menu item.  When you run the project, you’ll see:

ImageBrush8

A neat finish, with the rectangular label and the non-rectangular image seamlessly fitting together.

Summary
If you’re not able to use WPF or Silverlight as the application type, you can still take advantage of some of their graphical tools in a Windows Forms application, thanks to the easy use of interop.

Posted Apr 20 2011, 04:45 PM by Ged Mead Filed under: XAML, WPF, Interop, .NET, VB.NET, Visual Basic.NET, Visual Basic, UserControl, Image

View the original article here

IBM/LENOVO NOTEBOOK AC ADAPTER 92P1105 (90 WATT)

IBM/LENOVO NOTEBOOK AC ADAPTER 92P1105 (90 WATT)This digital document is an article from Computer Workstations, published by Worldwide Videotex on May 1, 2009. The length of the article is 1005 words. The page length shown above is based on a typical 300-word page. The article is delivered in HTML format and is available immediately after purchase. You can view it with any web browser.

Citation Details
Title: LENOVA LAUNCHES THINKSTATION WORKSTATION.
Author: Gale Reference Team
Publication: Computer Workstations (Newsletter)
Date: May 1, 2009
Publisher: Worldwide Videotex
Volume: 22 Issue: 5 Page: NA

Distributed by Gale, a part of Cengage Learning

Price:


Click here to buy from Amazon

Grouping and Counting in LINQ to SQL

Introduction
In this earlier blog, I covered the basic steps leading up to creating grouped data and displaying it.  Now I want to add totals to those groups.

 Basic Grouping
The final code sample of the previous blog was :

Dim NWOrderContext As New NorthwindOrdersDataContext

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'  Group by cities
Dim NWOrders = From orders In NWOrderContext.Orders
Where orders.Freight > 99 And orders.ShipCountry = "USA"
Group orders By orders.ShipCity Into Cities = Group
Select Cities, ShipCity

  For Each Order In NWOrders
Console.WriteLine(String.Format("{0}", Order.ShipCity))

    For Each city In Order.Cities
Console.WriteLine(String.Format("{0}{1} ", Space(40), FormatCurrency(city.Freight)))
Next
Next
End Sub

And the resulting output was:

LINQ05

Using the Count Aggregate function
It’s quite a small step to include the total count of invoices per city into the query. Take a look at the amended code below:

Dim NWOrders = From orders In NWOrderContext.Orders
Where orders.Freight > 99 And orders.ShipCountry = "USA"
Group orders By orders.ShipCity Into CityCount = Count(), Cities = Group
Select Cities, ShipCity, CityCount

As you can see from the bold type, I’ve used the Count function and stored the result of the count in a variable named CityCount.   Because the Group By clause stipulates that the ShipCity property is used for the grouping action, the Count function will count the number orders that exist for each ShipCity.

When I run this query and display the result:

For Each Order In NWOrders
Console.WriteLine(String.Format("{0} ({1}) ", Order.ShipCity, Order.CityCount))

  For Each city In Order.Cities
Console.WriteLine(String.Format("{0}{1}", Space(55), FormatCurrency(city.Freight)))

  Next
Next

the output will be:

LINQ08

A more realistic scenario
Now, in real world usage the data displayed above isn’t likely to be much use, but my aim here is just to demo these LINQ techniques. But let’s at least make the data a bit more useful.

First, we can get the order dates and include them in the group:

Dim NWOrders = From orders In NWOrderContext.Orders
Where orders.Freight > 99 And orders.ShipCountry = "USA"
Group orders.OrderDate, orders.Freight By orders.ShipCity Into CityCount = Count(), Cities = Group
Select Cities, ShipCity, CityCount

Then, enumerating through the collections of anonymous types:

For Each SingleOrder In NWOrders
Console.WriteLine(String.Format("{0} ({1}) {2}", SingleOrder.ShipCity, SingleOrder.CityCount, Space(5)))

  For Each city In SingleOrder.Cities
Console.WriteLine(String.Format("{0}{1}  ordered on  {2} ", Space(30), FormatCurrency(city.Freight),
FormatDateTime(CDate(city.OrderDate), DateFormat.ShortDate)))

  Next
Next

the additional data is displayed:

LINQ09

If you’ve looked at the code closely, you’ll see that I’ve changed the name I’m using for the anonymous type in the For Each code block.  I’ve done this, because I think it’s easy to become confused by all the various uses of ‘order’ and ‘Order’, and it occurred to me that some people might think that when they see ‘Order’ in that kind of code that they are dealing with an order object created directly from the database or the object model.  So by changing the name to something completely different, I hope it makes it clearer that SingleOrder is simply a temporary anonymous type created just for this process.

Including Order By in the Query
The orders are listed in date order above because that’s the way they’re ordered in the database.  The LINQ query I used previously can be tweaked to change this.  Let’s say we want to list those freight costs by descending value:

Dim NWOrders = From orders In NWOrderContext.Orders
Where orders.Freight > 99 And orders.ShipCountry = "USA"
Order By orders.Freight Descending
            Group orders.OrderDate, orders.Freight By orders.ShipCity Into CityCount = Count(), Cities = Group
Select Cities, ShipCity, CityCount

When I run the same display code, the result looks like this:

LINQ10   

Accessing multiple tables
The final technique I want to cover here is another common requirement.  All the data you can see in the screenshot above comes from the Order table.

LINQ11

What happens if, for example, you needed to include the CompanyName field from the Customer table in the display?  You’ll be pleased to hear that it’s surprisingly easy, and that’s because the object context understands the relationships between the tables and allows you simply to drill through one table and into another table with which it has a relationship.

So, because the Customer table has a one-to-many relationship with the Order table, it’s possible to navigate from any particular order and grab it’s related CompanyName from the Customer table.  Here’s the syntax that does the trick:

Dim NWOrders = From orders In NWOrderContext.Orders
Where orders.Freight > 99 And orders.ShipCountry = "USA"
Group orders.OrderID, orders.OrderDate, orders.Freight, orders.Customer.CompanyName By orders.ShipCity Into CityCount = Count(), Cities = Group
Select Cities, ShipCity, CityCount, CompanyName

And then to display the results:

For Each SingleOrder In NWOrders
Console.WriteLine(String.Format("{0} ({1}) {2}", SingleOrder.ShipCity, SingleOrder.CityCount, Space(5)))

  For Each city In SingleOrder.Cities
Console.WriteLine(String.Format("{0}{1}  ordered on  {2} by {3}", Space(30), FormatCurrency(city.Freight),
FormatDateTime(CDate(city.OrderDate), DateFormat.ShortDate),
city.CompanyName))
Next
Next

The output of this will be:

LINQ12

(You’ll see that I didn’t include the Order By clause in this sample, but it’s no problem to include it if needed).

Summary
I’ve covered the basics of grouping and using the Count aggregate function in these two blogs.  There are several more aggregate functions that are worth knowing about, and I’ll deal with them in a future blog.

LINQ is one of those strange topics that looks as though everything is straightforward, but then every so often it’ll simply not do what you think it should.  In almost all cases, in my experience, it isn’t because LINQ can’t do it – it’s usually that you haven’t asked it in the right way.  I find that if I hit a wall, the best first step is to strip out every non-critical element from the query and then rebuild it an element at a time until I find what I’ve missed or misunderstood.  More than anything, practising and experimenting are the keys to success in LINQ.

Posted Mar 30 2011, 09:55 PM by Ged Mead Filed under: , , , ,

View the original article here

Learning Go Live 4

Special edition includes bonus track, "White Christmas", featuring Chris Botti! At Home With Friends is inspired by Joshua Bell's fondness for hosting informal musicales in his Manhattan home. Join the Grammy Award-winning violinist as he celebrates the many musical friendships he has made over the years - a diverse group of artists sharing their love of music in an intimate setting. Features vocal and instrumental duets with Chris Botti, Sting, Josh Groban, Kristin Chenoweth, Regina Spektor and many others.

Track listing:

1. I Loves You Porgy (featuring Chris Botti)

2. Come Again (featuring Sting)

3. Oblivion (featuring Carel Kraayenhof)

4. Cinema Paradiso (featuring Josh Groban)

5. Para Tí (featuring Tiempo Libre)

6. My Funny Valentine (featuring Kristin Chenoweth)

7. Maybe So (featuring Edgar Meyer, Sam Bush and Mike Marshall)

8. Grieg: Violin Sonata No. 3, Movement II (featuring Sergei Rachmaninoff (Zenph Re-Performance))

9. Eleanor Rigby (featuring Frankie Moreno)

10. O, Cease Thy Singing, Maiden Fair, Op. 4 No. 4 (featuring Nathan Gunn)

11. Il Postino (featuring Carel Kraayenhof)

12. Left Hand Song (featuring Regina Spektor)

13. Chovendo Na Roseira (featuring Dave Grusin)

14. Look Away (featuring Edgar Meyer and Chris Thile)

15. Variant Moods - Duet For Sitar & Violin (Abridged Version) (featuring Anoushka Shankar)

16. I'll Take Manhattan (featuring Chris Botti)

Bonus track:

17. White Christmas (featuring Chris Botti)

Price:


Click here to buy from Amazon

Rethinking application development in light of &apos;devops&apos;

By Savio Rodrigues, InfoWorld, 04/15/11

Devops, a term coined to describe the expanding reach of developers into areas typically considered operations tasks, is still viewed as a trend found only in early-adopter enterprises -- but for how long? What can you do to prepare? What should you look for in technology that enables the devops model?

The developer land grab that is devops
The desire to release new functionality faster to users is high on every developer's wish list. However, most enterprises have multiple layers of processes assigned to separate roles, which often increase the time between a new feature being developed and made available to users. However, most IT managers would agree that these processes and the separation of roles were instituted to increase the quality and uptime of IT environments and ultimately improve the user experience.

[ Get the latest insights and news on open source trends with InfoWorld's Technology: Open Source newsletter. Subscribe today! ]

The growing access to automated, self-service provisioning of IT resources and environments is enabling developers to flatten the roles, if not processes, between a developer and the user.

RedMonk analyst Michael Cote suggests that devops can be viewed as a land grab by developers, writing, "after ejecting every function except writing code, development teams have been bringing those roles back to the core team, starting with QA, then product management, and now operations."

Not surprisingly, devops is taking hold primarily in startups or smaller companies where the separation of developer versus operations roles is ill-defined by necessity.

The changing role of operations in a devops world
In larger enterprises with established separation of roles between developers and operations teams, the "devops" term may be counterproductive. It can suggest that as developers undertake tasks previously owned by the operations team, operations staff become less critical to the IT organization.

The reality underlying devops is far from that mistaken belief. Cote describes the changing role of operations staff in a cloud-driven devops world:

Rather, it means that as with QA and product management, their role moves from "keeping the lights green" to "delivering good, productive experiences." Operations becomes one of the product owners, not just the "monkeys" who hook up wires to servers and increase disk space.

The 451 Group's Jay Lyman shares a similar view in his research on devops:

However, in the larger picture and in the long run, particularly at greater scale, there is undoubtedly need for system administrators. One of the bottom line findings of my research on devops is that the trend is very much about a dramatically changed purpose and role for system administrators, who are typically freed up of mundane OS maintenance and other tasks, but who must also embrace openness and transparency in their operations and scripts, which can be very foreign.

Far from developers replacing operations staff, and thereby accepting some of the manual tasks required to keep an environment up and running, new cloud technology removes the need for these manual -- and at times, mundane -- tasks in the first place. As these tasks are removed, operations teams are able to better contribute to the value that their business and users perceive to be coming from IT.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Wireless Flexible Keyboard White - PS/2, USB

Wireless Flexible Keyboard White - PS/2, USBTwist it, roll it, fold it, and soak it. The Flexible Compact Keyboard from BRANDO is a revolutionary approach to taking PC computing anywhere! It's water resistant, flexible, and dust and contaminant proof.

The Flexible Compact Keyboard is great for industrial environments, hospitals, libraries, and motor boats. The silicon based material is impervious to almost anything, lightweight, ultra-slim, and compact, this keyboard is perfect for travel, school, or any work environment. It fits easily into your briefcase, backpack, or notebook carrying case and you don't have to worry about any sharp edges!

The soft material allows a quick, reflexive typing action that is silent and more comfortable than traditional hard, plastic keyboards. The flat design also offers an ease in typing which eliminates negative-angle stress to your wrists. USB connector compatible, plus includes a USB to PS/2 adapter. This flexible keyboard really can handle whatever your day brings to it! This keyboard also makes a great gift for birthdays, holidays, and graduations.

Price:


Click here to buy from Amazon

Tuesday, 26 April 2011

Stewardship, not ownership: It&apos;s time for IT to give up on control

Feature  By Bob Lewis, InfoWorld, 03/28/11

"Improvisation is too good to leave to chance," said singer Paul Simon. It's a lesson that IT needs to learn and, more important, act on.

We're surrounded. Here in the land of information technology, we're inundated by threats and not just from the bad guys, although there are plenty of those to worry about. Never mind them -- protecting the enterprise from its own workers is a much bigger challenge for IT because of employee desires:

[ Rethinking IT's control: Let users install their own apps. Let users pick their own PCs. Let users bring their own smartphones. Learn to let go. | Get the career advice you need for today's IT from Bob Lewis' Advice Line newsletter. ]

Using their own PC when they work from home -- and sometimes even at the office. Visiting Facebook, LinkedIn, YouTube, and other sites that have both business and personal uses without any IT-imposed restrictions.Installing apps, such as iTunes, Picasa, InfoSelect, or the Google desktop, they'll find useful based solely on their own judgment. Working with iPhones, iPads, or Androids -- usually their own, not the company's. Accessing some amazing cloud-based service that lets them do right now what isn't even scheduled to launch until 2013 in the IT project master schedule.

All of the above either turns IT in Dr. No or puts the corporate crown jewels at too much risk, right?

Wrong.

As someone once said, those who fail to learn the lessons of history are doomed to repeat the seventh grade. To keep us all out of middle school, consider the chart below, which superimposes a brief economic history of the United States (based on the unemployment rate as provided by the Bureau of Labor Statistics) and IT's overall level of control over corporate information technology:

The chart tells the story: When IT lost control of information technology as PCs empowered individual users, the U.S. economy expanded; when we regained control, the economy contracted. The same thing happened when someone who almost always wasn't in IT put just about every company in the country on the Web, along with lots of new companies that kept their Web development teams carefully separate from IT -- and when IT regained control of Web development.

Correlation doesn't, of course, prove causation, but the lack of linkage between IT keeping tight control and economic success isn't the best news for those in our profession who spend most of their time locking down plans and details.

Control is about playing it safe -- preventing the unexpected, continuing to do only what we know, avoiding risk instead of managing it, coloring inside the lines instead of asking for a blank sheet of paper. The problem is, many of the risks you avoid are also opportunities you fail to pursue. You also end up becoming a member of the Value Prevention Society.

Three inescapable trends that have changed the IT landscape
The IT landscape has changed in three fundamental ways that together are making our habit of control obsolete:

A vast expansion of IT's scope.A radical increase in business-user sophistication.The nascent dominance of single-actor business processes.

It's the Yogi Berra theory of roads, and IT is facing it right now: We're at a fork and we have to take it. One path ignores these changes and follows IT's tradition of controlling the use of information technology. The other, better choice redefines IT's role, turning us into stewards who support everyone's ability to more effectively exploit information technology's potential.

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.


View the original article here

Lenova Classic Undermount Single Bowl Kitchen Sink SS-CL-S3

Lenova Classic Undermount Single Bowl Kitchen Sink SS-CL-S3Lenova Classic Collection Stainless Steel Color Finsh Kitchen Sinks Single Bowl By Lenova

Price:


Click here to buy from Amazon

Expression Blend Tutorials

Getting Started with Expression Blend 3.75 hours

Expression Blend Beta Preview 2.5 hours

Getting Started with Expression Design

Hope these tutorials are useful. Suggest the some more best tutorials on this topic in bellow comment section.


View the original article here

Lenovo 65W Ultraport AC Adapter

Lenovo 65W Ultraport AC Adapter
MODEL- 40Y7696 VENDOR- LENOVO

FEATURES- ThinkPad and Lenovo 65W AC Adapter with US/Canada/LA Line Cord
ThinkPad and Lenovo 65W Ultraportable AC Adapter packs all the power
you need into less space!
* Get power when and where you need it with a spare AC adapter. Keep one
in the office one at home and another in your carrying case for
convenient access to power wherever a wall outlet is available.
* The ThinkPad and Lenovo 65W Ultraportable AC Adapter performs to the same
specifications as the standard AC adapter that ships with select ThinkPad
and Lenovo systems. It is the smallest adapter currently available from
Lenovo.
* Compatible with Lenovo 3000 notebooks ThinkPad X60 Series notebooks
select ThinkPad T60 Series notebooks and ThinkPad Essential Port
Replicator.
* And its backed by Lenovos limited warranty with renowned Service and
Support available from IBM.


MANUFACTURER WARRANTY:  1 YEAR

Price: $73.76


Click here to buy from Amazon

 
Powered by Blogger