<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computersight &#187; Programming</title>
	<atom:link href="http://computersight.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://computersight.com</link>
	<description></description>
	<lastBuildDate>Sun, 21 Mar 2010 16:05:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cloud Computing 101: Universities are Migrating to The Cloud for Functionality and Savings</title>
		<link>http://computersight.com/programming/cloud-computing-101-universities-are-migrating-to-the-cloud-for-functionality-and-savings/</link>
		<comments>http://computersight.com/programming/cloud-computing-101-universities-are-migrating-to-the-cloud-for-functionality-and-savings/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 19:22:26 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/David+C.+Wyld+Southeastern+Louisiana+University">David C. Wyld Southeastern Louisiana University</a></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[colleges]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[higher education]]></category>
		<category><![CDATA[information technology]]></category>
		<category><![CDATA[Infrastructure as a service]]></category>
		<category><![CDATA[Platform as a service]]></category>
		<category><![CDATA[reliability]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software as a service]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[universities]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/cloud-computing-101-universities-are-migrating-to-the-cloud-for-functionality-and-savings/</guid>
		<description><![CDATA[Cloud computing has been touted as a revolutionary concept in computing. In this article, we introduce the cloud computing concept, and then discuss the implications for the use of the cloud model in higher education. Due to budget constraints and the power of computing &#8220;on-demand,&#8221; many believe that colleges and universities will be at the forefront of the shift to using cloud-based resources. We examine the impact of cloud computing on both research and university computing operations. We see that globally, this shift is already making a difference in how universities procure and use IT resources. In conclusion, we advance a six-stage Cloud Migration Strategy for introducing and implementing cloud computing in institutions. We also discuss the necessary changes in policies and procurement, as well as security and reliability concerns for institutions implementing cloud computing.]]></description>
			<content:encoded><![CDATA[<p><strong>INTRODUCTION</strong></p>
<p><strong><i>A Different Way of Computing&nbsp; </i></strong></p>
<p>I need a computer. Actually, I need the processing power of hundreds of computing hours. Heretofore, if I was a researcher running data or testing a model, that meant using solely the computing power available on my campus computing system. For a major operation, that might mean waiting behind other faculty and student projects, and then having to run my data over days at a time. Today, that computing power can be had at my fingertips in a matter of minutes &#8211; or even seconds.</p>
<p>Likewise, my email, my files, my programs were all formerly on my computer &ndash; or on my campus&rsquo; mainframe. Today, those operations &#8211; and my data &#8211; may reside on servers in Washington State &ndash; or in Bangalore.&nbsp; And this may not just be for my computing needs. Today, it may be for my entire campus and all of the institution&rsquo;s students and faculty.</p>
<p>Welcome to the world of cloud computing!</p>
<p><strong><i>The Cloud Computing Concept&nbsp; </i></strong></p>
<p><i>The Economist</i> reminds us that: &ldquo;Computing has constantly changed shape and location&mdash;mainly as a result of new technology, but often also because of shifts in demand.&rdquo;&nbsp; We have seen revolutionary computing technologies &#8211; truly &ldquo;game changing&rdquo; concepts &#8211; come about roughly once each decade in the &ldquo;modern era&rdquo; of computing since around 1945 when computing came to mean computations performed by a machine, not by man. From the mainframe era of the 1960s to the advent of minicomputers in the 1970s, the personal computer in the 1980s, the growth of the Internet and the Web in the 1990s, and the explosion of cell phones and other smart, Web-connected devices in the past 10 years.</p>
<p>Now, many think that cloud computing will be &ldquo;the next big thing.&rdquo; Indeed, Gartner&nbsp; believes that in the end, the impact of the cloud model will be &ldquo;no less influential than e-business.&rdquo;&nbsp; If industry analysts are correct, we thus stand at an inflection point &ndash; a true paradigm change &ndash; in the evolution of computing.</p>
<p>The basic idea behind cloud computing is that anything that could be done in computing &ndash; whether on an individual PC or in a corporate data center &ndash; from storing data to communicating via email to collaborating on documents or crunching numbers on large data sets &#8211; can be shifted to the cloud. As can be seen in Table 1, cloud computing encompasses a wide variety of offerings, including: SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service).</p>
<p><strong>Table 1</strong></p>
<p><strong>Variants of Cloud Computing</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<p><strong>Level</strong></p>
</td>
<td>
<p><strong>Label</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p>User Level</p>
</td>
<td>
<p>SaaS</p>
<p>&ldquo;Software as a Service&rdquo;</p>
</td>
<td>
<p>Companies host applications in the cloud that many users   access through Internet connections. The service being sold or offered is a   complete end-user application.</p>
</td>
</tr>
<tr>
<td>
<p>Developer Level</p>
</td>
<td>
<p>PaaS</p>
<p>&ldquo;Platform as a Service&rdquo;</p>
</td>
<td>
<p>Developers can design, build, and test applications that   run on the cloud provider&rsquo;s infrastructure and then deliver those   applications to end-users from the provider&rsquo;s servers.</p>
</td>
</tr>
<tr>
<td>
<p>IT Level</p>
</td>
<td>
<p>IaaS &ldquo;Infrastructure as a Service&rdquo;</p>
</td>
<td>
<p>System administrators obtain general processing, storage,   database management and other resources and applications through the network   and pay only for gets used.</p>
</td>
</tr>
</tbody>
</table>
<p>Cloud computing has now become &ldquo;shorthand&rdquo; for the larger trend of computing services delivered over the Internet. From the perspective of the market analyst, IDC, cloud computing represents &ldquo;an emerging IT development, deployment and delivery model, enabling real-time delivery of products, services and solutions over the Internet.&rdquo; As one commentator recently characterized it: &ldquo;Cloud computing &mdash; in which vast stores of information and processing resources can be tapped from afar, over the Internet, using a personal computer, cell phone or other device &mdash; holds great promise&hellip;to cut the costs, complexity and headaches of technology for companies and government agencies.&rdquo;</p>
<p>Certainly, one of the hallmarks of cloud computing is that it enables users to interact with systems, data, and each other in a manner that minimizes concern about the underlying technology. According to the <i>Cloud Computing Manifesto</i>: &ldquo;The key characteristics of the cloud are the ability to scale and provision computing power dynamically in a cost efficient way and the ability of the consumer (end user, organization or IT staff) to make the most of that power without having to manage the underlying complexity of the technology.&rdquo;</p>
<p><i>The Economist</i> captured the meaning of this trend in stating: &ldquo;The plethora of devices wirelessly connected to the Internet will speed up a shift that is already under way: from a &lsquo;device-centric&rsquo; to an &lsquo;information-centric&rsquo; world&hellip;.(and) as wireless technology gets better and cheaper, more and more different kinds of objects will connect directly to the cloud.&rdquo; Technology guru Clay Shirky perhaps put it best when he said: &ldquo;What is driving this shift is a change in perspective from seeing the computer as a box to seeing the computer as a door.&rdquo; The emerging cloud computing paradigm is thus based on a &ldquo;user-centric interface&rdquo; that minimizes user concern over the supporting infrastructure. &nbsp;</p>
<p><strong><i>Overview&nbsp; </i></strong></p>
<p>How does this new, on-demand, information-centric model of computing fit in the world of higher education &ndash; and what does it entail for research, for collaboration and for communication in colleges and universities? This article examines the early evidence from the field and discusses the practical and institutional implications. It concludes with a Cloud Migration Strategy for college and university IT executives to follow as they seek to best integrate cloud computing into their overall IT strategies.</p>
<p><strong>Cloud Computing in Universities Today</strong></p>
<p>For universities, migrating to cloud-based services affords them the ability to provide improved collaboration and research capabilities, while at the same time, providing an opportunity to cut IT costs while providing the same &ndash; or better &ndash; levels of computing services. Magnified by the need to pare overhead costs at a time when public and private institutions are grappling with significant budget shortfalls, cloud computing allows universities to not just use the resources of commercial cloud providers &ndash; many of which are available to them either for free or at reduced costs. With the cloud model, students and faculty can take advantage of the ability to work and communicate from anywhere and on any device using cloud-based applications.</p>
<p>The benefits for higher education center upon the scalability and the economics of cloud computing. These will be discussed in subsequent sections.</p>
<p><strong><i>Scalability of Resources&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </i></strong></p>
<p>One of the most important impacts of cloud computing will be the notion of computing power on-demand. One industry expert described this new found power in the following manner: &ldquo;When you radically democratize computing so that anyone has access at any moment to supercomputer-type capacity and all the data storage they need.&rdquo; This &ldquo;democratization&rdquo; of computing processing and storage power could have profound implications in everything from scientific inquiry (by making no problem too big to compute) to new enterprise formation (by drastically reducing the need for upfront investment in IT resources &ndash; and the people to support and maintain them) to public agencies (by making IT more affordable and available to governments at all levels and in all locales). Thus, we may be seeing a truly new era, where through democratizing computing technology, this will help to bring &ldquo;the benefits of high-powered computers and communications to all.&rdquo;</p>
<p>Cloud computing is a revolutionary concept in IT, due to an unprecedented elasticity of resources made possible by the cloud model. In everyday use, elasticity is commonly thought of not just as the ability of an object to stretch out when needed, but to also contract as necessary (think of a rubber band or a bungee cord). In computing terms, elasticity can be defined as: &ldquo;The ability of a system to dynamically acquire or release compute resources on-demand.&rdquo; &nbsp;Under the cloud model, organizations that need more computing power have the ability to &ldquo;scale-up&rdquo; resources on-demand, without having to pay a premium for that ability.&nbsp; Say, for instance, that a researcher or a department has large, batch-oriented processing tasks. The individual or group can run the operations far faster than previously and at no additional costs, since using 1000 servers for one hour costs no more than using one server for 1000 hours. This unique attribute of cloud computing is a commonly referred to as &ldquo;cost associativity,&rdquo; and it allows for computational needs to be addressed far faster and far cheaper than in the past. In short, cloud computing gives organizations &ndash; even individual users &ndash; with unprecedented scalability.</p>
<p>Additionally, where in the past only the largest universities have had supercomputing capabilities cloud computing, with number-crunching capabilities available on an on-demand basis, affords researchers anywhere to scale their computing power to match the scale of their research question &#8211; bringing supercomputing to the mainstream of research. As Delic and Walker recently characterized it, cloud computing might just &ldquo;enable new insights into challenging engineering, medical and social problems,&rdquo; as researchers will now have new found capabilities &ldquo;to tackle peta-scale type(s) of problems&rdquo; and to &ldquo;carry out mega-scale simulations.&rdquo; Craig A. Stewart, Associate Dean for Research Technologies at Indiana University, recently remarked that with cloud computing, &ldquo;You reduce the barrier to use advanced computing facilities.&rdquo;&nbsp;</p>
<p>We have seen the reduction of barriers already paying dividends in research. At pharmaceutical giant Eli Lilly, researchers needed to queue their projects to run in Lilly&rsquo;s internal data center. This process to provision enough server capacity for their respective projects often meant a delay of up to two months waiting on their data run. Today however, with cloud computing, research scientists can today provision the necessary processing capacity for their projects in five minutes. This allows researchers at Lilly and other research organizations to crunch data and test theories in ways that may have gone unexplored in the prior era where they would have been dependent solely on in-house computing resources! Similar experiences are being reported at universities, both in the U.S. and abroad. For instance, at the International Institute of Information Technology in Hyderabad, India, Associate Professor Vasudeva Varma reports that the ability to run more data from more experiments more quickly has resulted in more publications for faculty in the Institute&rsquo;s Search and Information Extraction Lab, which he heads.</p>
<p><strong><i>Economics of Computing&nbsp; </i></strong></p>
<p>There is much discussion about the whole concept of &ldquo;free&rdquo; pricing for products and services today &ndash; and many of the email, storage, hosting, and applications that are at the forefront of cloud computing today are indeed free. The most notable of these are the product offerings of Google (Gmail, Google Apps, Google Docs, and others). Much attention has been devoted to the concept of &ldquo;freeconomics,&rdquo; most notably the recent book by <i>Wired</i> magazine editor Chris Anderson entitled, <i>Free: The Future of a Radical Price</i>. Most consumer-level cloud offerings would be labeled a &ldquo;freemium,&rdquo; which is a free version that is supported by a paid, premium version. Such freemiums are becoming an emergent business model, as they are particularly popular among online service and software companies. And, when faced with competing against &ldquo;free&rdquo; alternatives, older, more established companies have seen users migrate to the gratis alternative. Indeed, some see an entire &ldquo;Culture of free&rdquo; emerging, where from music to entertainment to news to software, people are coming to expect that free is the price they should pay.</p>
<p>In the corporate computing market, as software, hardware and processing power, and storage capacity become more and more commoditized, cloud computing becomes a free &ndash; or lower cost &ndash; alternative to the way things have been done for decades. As Gartner analyst Andrea DiMaio recently remarked: &ldquo;Why should I bother looking for an email client to replace Outlook and coexist with my newly installed Open Office, if I can get email and office suite as a service with somebody like Google at a fraction of the cost and &#8211; most importantly &#8211; giving up the IT management burden too? Why are we talking about moving servers from Windows to Linux when the real question is why do we need to have our own servers in the first place?&rdquo;</p>
<p>Already, there have been many campuses that have switched to Google or Microsoft-hosted email. Google and Microsoft host email for over four thousand colleges and universities, not just in the U.S., but in over 80 countries worldwide. In fact, almost half of all campuses are now making use of hosted email services. The switch to hosted services is paying significant dividends for the early adopting institutions. By switching to Gmail, Notre Dame reports that it saved $1.5 million in storage and other tech costs, while at the same time, finding that their students&rsquo; satisfaction with the campus&rsquo; email rose by over a third! Likewise, institutions (such as Arizona State and Washington State) are consistently reporting at least six figure annual savings from switching to Google or Microsoft hosted systems. Even more importantly, by switching to hosted email and productivity software, the job and focus of college IT staff can be changed. As Pepperdine University&rsquo;s CIO Timothy Chester recently observed, his smaller IT staff can now be used more efficiently and be more productive, commenting that: &ldquo;We want our staff working more with students and faculty and less on the nuts and bolts of delivering technology.&rdquo;&nbsp;&nbsp;</p>
<p>Certainly, as challenging budgetary times have been forecast to persist across higher education for the next few years &ndash; at least, there will likely be even greater pressures on colleges and universities to replace &ldquo;paid&rdquo; software and computing resources with &ldquo;free&rdquo; or low-cost cloud alternatives. From the cloud provider standpoint, Google has stated that its incentive in providing such free services to universities is to create &ldquo;relationships for life&rdquo; with students and faculty.</p>
<p><strong>ANALYSIS</strong></p>
<p>Many in higher education are coming to believe that concur with the cloud computing will be the model of the future for information technology delivery and utilization in colleges and universities. Across higher education, the cloud computing landscape should be quite active over the next few years, as we will see both coordinated efforts and &ldquo;rogue&rdquo; operations that will test how and where cloud computing can be effectively applied. As we have seen, colleges and universities will in many instances lead the way. These entities will continue to do so, based on their need for computing power on demand and for providing the types of ready &ndash; and in many cases free &ndash; IT resources &ndash; to their faculty and students. With pressure to reduce the fixed costs of higher education &ndash; and IT being a very rich target &ndash; the shift to cloud may be more forced in some cases than may be dictated by the on-the-ground circumstances. Indeed, some of the most exciting uses and best practices for cloud computing could well come from the world of higher education.</p>
<p>We have seen predictions that due to the cost and operational benefits of cloud computing, more and more companies will find themselves outsourcing most &ndash; if not all &ndash; of their IT to cloud providers, creating what has been termed as &ldquo;server-less organizations.&rdquo; &nbsp;Indeed, it has been predicted that organizations of all sizes will find it beneficial to concentrate on and optimize their business processes by outsourcing the IT function. So, why not &ldquo;server-less universities?&rdquo; By outsourcing almost all of IT and all data storage/handling &ndash; this may be a viable proposition for colleges and universities, particularly as cloud offerings expand and are made more secure and reliable.</p>
<p>As we have seen in this article, there are certainly discussions and embryonic efforts underway &ndash; both in the U.S. and abroad &#8211; as public and private universities examine how to best made the cloud-concept work for they and their students and faculty. Universities are beginning to work collaboratively in the cloud to pool their IT resources. Already, this has occurred in Virginia and North Carolina. In the Commonwealth, a dozen colleges and universities have come together to form the Virginia Virtual Computing Lab. Such efforts allow institutions to cut their IT costs by reducing their need for software licensing, for upgrade capabilities, and for perhaps maintaining their own data centers, all while improving the IT resources for their faculty and students. Already, by shifting to cloud offerings, North Carolina State University has been able to dramatically lower expenditures on software licenses and simultaneously, reduce the campus&rsquo; IT staff from 15 to 3 full-time employees.</p>
<p>Additionally, there have been calls for the federal government to take the lead to create a universal cloud computing environment, to be available for use by all colleges and universities nationwide. In doing so, proponents argue for the economic and educational benefits that such a resource would provide, as it would democratize computing technology and &ldquo;level the playing field&rdquo; so all students and faculty could have access to the scale and type of computing power enjoyed only by elite institutions.</p>
<p><strong>CONCLUSION</strong></p>
<p><strong><i>A Cloud Migration Strategy for Higher Education</i></strong></p>
<p>It is important to bear in mind that, as one commentator recently put it, &ldquo;cloud computing is a tool, not a strategy.&rdquo; IT leaders in higher education will thus be well-advised to take a programmed, assessment of how cloud computing can fit into their overall IT strategy, in support of the mission and overall strategy of their institution. This should take the form of a 6-step process, which this author has labeled as the Cloud Migration Strategy.</p>
<p>The Cloud Migration Strategy begins with learning about the basics of cloud computing &ndash; through attending seminars, networking, talking with vendors, and reading articles such as this one. Given that cloud computing represents a new paradigm in computing technology, it will be important for technology transfer to occur &ndash; the &ldquo;techies&rdquo; in and outside of the institution will need to go the extra mile to educate and inform the &ldquo;non-techie&rdquo; amongst their ranks and constituencies as to the merits and value of cloud computing. It will be especially important to devote sufficient funding for research to establish how cloud computing is working &ndash; or not working &ndash; in various areas in the university and across institutions, so as to ground policies and develop best practices in regards to the use of cloud computing.</p>
<p>Then, IT executives should conduct an honest assessment of their institution&rsquo;s present IT needs, structure, and capacity utilization. In a cloud computing environment, where resources can be added &ndash; or subtracted &ndash; based on needs and demand, it will be critical for IT managers to honestly assess their institution&rsquo;s IT baseline for faculty, students and operations. In looking at data center utilization, it will be vital to look at what resources are used all the time and are necessary for day-to-day operations to establish a baseline for internally-hosted operations. Only then can one look at whether to continue to host &ldquo;excess&rdquo; capacity in the data center or to contract for cloud services as needed to scale-up to meet demands for greater amounts of computing resources.</p>
<p>University IT leaders should then pick one area &ndash; even one specific project &#8211; to &ldquo;cloud pilot&rdquo; and assess their ability to manage and bring such a project to fruition. As with any new technology, we are seeing a great deal of pure experimentation with cloud computing &ndash; &ldquo;science project&rdquo; like work for the most part up till now. All of us who use the Internet are experimenting with cloud applications in our daily lives &ndash; from Twittering to Gmail to using photo-sharing sites. In the same way, we are seeing organizations conducting cloud computing trials &ndash; what one writer termed as &ldquo;science experiments&rdquo; in the use of the technology. Such efforts that are far away from their core IT operations and many times on (or trying to connect) the periphery of the organization. . Many times &ndash; even in the public sector and especially on campuses, these experiments may be &ldquo;rogue&rdquo; operations &ndash; taken on by individuals and units to test the utility of the technology. These are important efforts, and they should be supported &ndash; and reported within and outside the institution &ndash; so that others in the IT and the wider community can learn of the successes &ndash; and the downsides &ndash; of operating in the clouds. Thus, it will be vitally important to share both &ldquo;best practices&rdquo; and &ldquo;lessons learned&rdquo; in cloud computing. Indeed, many predict that such &ldquo;science projects&rdquo; in large and small organizations will drive the eventual acceptance and adoption of cloud computing.</p>
<p>After the internal assessment and external outreach stemming from the pilot effort, they should then conduct an overall IT cloud-readiness assessment to determine if they have data and applications that could readily move to a cloud environment and if a public/private/hybrid cloud would be suitable or useable for these purposes and rank-order potential projects. Finally, it is time to begin a cloud roll-out strategy &ndash; gaining buy-in from both institutional leadership and IT staffers and communicating with both internal and external stakeholders as to the goals, progress, and costs/benefits of each cloud project. This is where the cloud goes from being a test effort to become more mainstream in the way the university manages its data, its operations and its people. It becomes part of &ldquo;normal&rdquo; operations, just as other prior tech innovations (from telephony to fax to the Internet to email and to social media) have become IT tools, used in support of the institution&rsquo;s IT strategy and more importantly, its overall strategy.</p>
<p>At this point, the process enters the final stage &ndash; call it &ldquo;continuous cloud improvement&rdquo; &ndash; to where the institution continues to move appropriate data and applications to the cloud &ndash; and perhaps even back from the cloud to internally-hosted operations, if necessary, based on a thorough and continuous assessment of the appropriate use of cloud technologies for their particular university.</p>
<p><strong><i>Implications for Higher Education</i></strong></p>
<p>The shift to more cloud-based applications will indeed bring new found capabilities to communicate, collaborate and conduct research to university faculty, staff and students. However, it will also necessitate a flurry of policy decisions that will need to be made and operational rules that will need to be implemented. For instance, there will have to be IT policy decisions made as to who can access what files and what type of access they will have (i.e. read-only, editing access). The shift will also necessitate institutions to examine how cloud computing will secure and procure their computing environment.</p>
<p>Indeed, one of the principal concerns about cloud computing whether it is secure and reliable.&nbsp; Unfortunately, worries over cloud reliability and availability &ndash; or specifically, the lack thereof when such instances arise &#8211; are not just theoretical, as there have been well-publicized outages of many of the most popular public cloud services.&nbsp; And, as one industry analyst astutely pointed-out, when cloud service outages or inaccessibility occur, &ldquo;most of the risk and blame if something goes wrong will fall directly on the shoulders of IT &#8212; and not on the cloud computing service providers.&rdquo;</p>
<p>Security concerns may indeed impede the shift to cloud-based models. As with prior shifts in information technology with the advent of the Internet and the Web, the introduction of e-mail, and the explosion of social media, their growth and adoption rates have been slowed by initial fears &ndash; some justified and some very unjustified &ndash; over security concerns and the loss of control over data and operations. Certainly, privacy and security questions will need to be addressed as institutional data and applications move into a cloud environment. Indeed, analogies have been drawn between the advent of cloud computing today with the introduction of wireless technologies a decade ago. Finally, security is undoubtedly a hard metric to quantify. And, all too often, from the perspective of Bernard Golden and other observers, the IT community has a somewhat damaging tendency to treating all risks &ndash; whatever the real nature of them &ndash; as the very worst case scenario and not judging the true impact &ndash; and likelihood &ndash; of their occurrence.</p>
<p>Finally, universities&rsquo; often outdated and byzantine procurement rules and regulations, some of which may even preclude the use of cloud computing in select instances, will need to be changed to be more cloud-friendly and encourage the savings and efficiencies that can come from this new model of IT. There will also need to be changes made in not just the language, but in the mindset of contracting for computing services. For while IT administrators look at capacity and systems, end users look to performance. As Joab Jackson recently put it, the key metric will now become: &ldquo;When I sit down at that computer, do I see the functionality I need?&rdquo;</p>
<p>In time, we may look back on the latter portion of this first decade of the new millennium as a true turning point in the history of computing. The transition however will take years, perhaps even decades, and we&rsquo;re not close to a day when we will simply have computing easily at our fingertips. However, all signs point to a true, campus-led revolution in computing.</p>
<p>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
<p>David C. Wyld (<a href="mailto:dwyld@selu.edu" target="_blank">dwyld@selu.edu</a>) is the Robert Maurin Professor of Management, Southeastern Louisiana University in Hammond, Louisiana. He is a management consultant, researcher/writer, and executive educator. His most recent work is &ldquo;Moving to the Cloud: An Introduction to Cloud Computing in Government,&rdquo; by David C. Wyld. It is a research monograph published by The IBM Center for the Business of Government, Washington, DC in November 2009. The complete report is available for free on the web in PDF format at: <a href="http://www.businessofgovernment.org/pdfs/WyldCloudReport.pdf" target="_blank">http://www.businessofgovernment.org/pdfs/WyldCloudReport.pdf</a>.&nbsp;&nbsp;&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/cloud-computing-101-universities-are-migrating-to-the-cloud-for-functionality-and-savings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What If It Fails?: The Security and Reliability Issues Surrounding Public Sector Utilization of Cloud Computing Resources in Governmental Information Technology Strategies</title>
		<link>http://computersight.com/programming/what-if-it-fails-the-security-and-reliability-issues-surrounding-public-sector-utilization-of-cloud-computing-resources-in-governmental-information-technology-strategies/</link>
		<comments>http://computersight.com/programming/what-if-it-fails-the-security-and-reliability-issues-surrounding-public-sector-utilization-of-cloud-computing-resources-in-governmental-information-technology-strategies/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 17:39:26 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/David+C.+Wyld+Southeastern+Louisiana+University">David C. Wyld Southeastern Louisiana University</a></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[information technology]]></category>
		<category><![CDATA[public sector]]></category>
		<category><![CDATA[reliability]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[service levels]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/what-if-it-fails-the-security-and-reliability-issues-surrounding-public-sector-utilization-of-cloud-computing-resources-in-governmental-information-technology-strategies/</guid>
		<description><![CDATA[Cloud computing is poised to become one of the most important and fundamental shifts in how computing is consumed and used. Forecasts show that government will play a lead role in adopting cloud computing &#8211; for data storage, applications, and processing power, as IT executives seek to maximize their returns on limited procurement budgets in these challenging economic times. After an overview of the cloud computing concept, this article explores the security issues facing public sector use of cloud computing and looks to the risk and benefits of shifting to cloud-based models. It concludes with an analysis of the challenges that lie ahead for government use of cloud resources.]]></description>
			<content:encoded><![CDATA[<p><strong>INTRODUCTION</strong></p>
<p><i>&nbsp;</i></p>
<p><strong><i>The &ldquo;Cloud&rdquo;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </i></strong></p>
<p>In the world of computing, clouds have always served a metaphorical &ndash; almost mystical role. They have been used traditionally to represent the Internet in a networked environment in diagramming and mapping operations.</p>
<p>Today, there is a new development &#8211; &ldquo;cloud computing.&rdquo; What is the cloud? The cloud model represents nothing less than a fundamental change to the economics of computing and the location of computing resources. With the growth in Internet usage, the proliferation of mobile devices, and the need for energy and processing efficiency, the stage has been set for a different computing model.</p>
<p>There has been a suggestion to define the concept using the name &ldquo;cloud&rdquo; as an acronym, standing for computing that is: &ldquo;Common, Location-independent, Online, Utility that is available on-Demand.&rdquo; The term &#8220;cloud computing&#8221; has at its core a common element &ndash; in that with the cloud model, computing services are delivered over the Internet, on demand, from a remote location, rather than residing on one&rsquo;s desktop, laptop, mobile device, or even your own organization&rsquo;s servers. For an organization, this would mean that for a set or variable, usage-based fee &ndash; or even possibly for free, it would contract with a provider to deliver applications, computing power and storage via the Web. The cloud can take on various forms, including: SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service).</p>
<p>The basic idea behind cloud computing is that <i>anything</i> that could be done in computing &ndash; whether on an individual PC or in a corporate data center &ndash; from storing data to communicating via email to collaborating on documents or crunching numbers on large data sets &#8211; can be shifted to the cloud. Certainly, one of the hallmarks of cloud computing is that it enables users to interact with systems, data, and each other in a manner that minimizes the need to be concerned about the underlying technology. According to the <i>Cloud Computing Manifesto</i>: &ldquo;The key characteristics of the cloud are the ability to scale and provision computing power dynamically in a cost efficient way and the ability of the consumer (end user, organization or IT staff) to make the most of that power without having to manage the underlying complexity of the technology.&rdquo;</p>
<p><i>&nbsp;</i></p>
<p><strong><i>The Growth of the Cloud</i></strong></p>
<p><i>&nbsp;</i></p>
<p><i>&nbsp;&nbsp; </i>Global IT spending hit $3.4 trillion in 2008, although the aggregate total is expected to decline for the first time since 2001 in the current year &ndash; and perhaps for 2010 as well.&nbsp; Indeed, across the private sector, IT spending is under fire. In fact, due to the interrelated impacts of the recession and the credit crisis, capital budgeting and credit availability for large IT projects has declined significantly. Thus, the only areas of IT that are growing in the wake of the economic crisis are outsourced IT and IT services. Additionally, as new entrants, many of them tied to cloud services, enter the marketplace, the prices for outsourced IT are likely to decline over the next few years as competition intensifies between larger, entrenched competitors and these upstart firms.</p>
<p>Roughly ten percent of the approximately $64 billion spent on business applications worldwide in 2008 was spent on cloud computing applications.&nbsp; Many analysts, including Gartner, project growth rates for cloud computing in excess of 20% or more for years to come. The growth rate over the next few years could be as high as 30%, with analysts estimating that the global market for cloud computing services could reach $42 billion by 2012. Gartner sees the cloud computing marketplace as an even larger market, and it predicts that the market for cloud services already surpasses $40 billion today, and that it will grow to over $150 billion annually by 2013.</p>
<p>Why cloud &ndash; and why now? According to the results of the 2009 Cloud Computing Survey, surveying over 500 IT decision-makers, the shift to cloud computing can be seen as organizations are increasingly relying on new technologies to cut their IT procurement costs, but not their IT organization&rsquo;s functionality. Cloud computing is also by no means an &ldquo;all or nothing&rdquo; proposition. Indeed, it has been seen in practice that cloud involvement often starts when organizations initially use cloud resources for part of their non-mission-critical applications or as resources for test projects.</p>
<p><strong><i>Cloud Computing and Government IT&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </i></strong></p>
<p><i> </i></p>
<p>Many analysts believe that the present economic situation &ndash; and its resulting financial strain placed on governments &ndash; will only serve to accelerate the adoption of cloud computing in the public sector. This is due to cloud computing&rsquo;s ROI. Indeed, the benefits are so large that IT organizations have been willing&mdash;eager, even&mdash;to tolerate the challenges that accompany the technology. Indeed, a July 2009 <i>Computerworld</i> report found that the larger the organization, the greater the likelihood that it would be engaged in using cloud computing.</p>
<p>The economy and the resulting tightness of all governmental budgets &ndash; on every level &ndash; may indeed speed and heighten the rise of cloud computing. In this budgetary context, the forecast impact of cloud computing on just the U.S. federal government&rsquo;s IT spending is certainly eye-opening. The public sector market analyst firm, INPUT recently projected that over the next five years, overall federal IT spending will grow at a compound annual rate of 3.5%, reaching $90 billion by 2014. INPUT forecasts that federal cloud computing-related spending will grow almost <i>eight times</i> as fast, with a growth rate of approximately 30% annually over the same time frame. According to INPUT&rsquo;s projections, federal spending on cloud computing services will triple over the next five years, growing from $277 million in 2008 to $792 million annually by 2013.&nbsp; This would mean that by 2014, over $1 billion of the federal IT budget would be devoted to cloud computing.&nbsp; Projections from Market Research Media are even more optimistic, saying that cloud computing represents &ldquo;a fundamental re-examination of investments in technology infrastructure.&rdquo; Their market analysis projects a 40% CAGR (compound annual growth rate) for cloud computing spending in the federal sector and predicts that cloud spending will top $7 billion annually by 2015.&nbsp;</p>
<p>While there are many significant positives to be gained by the increasing use of cloud computing, the shift raises a whole host of security concerns as well. This article explores the security issues facing public sector IT leaders as they consider shifting increasing data and computing applications to cloud providers.</p>
<p><strong>SECURITY CONCERNS FOR PUBLIC SECTOR IT</strong></p>
<p>Security is indeed a significant issue facing IT executives as they consider shifting data and processing to cloud providers. One of the principal concerns about cloud computing is the reliability question, and this is certainly a case where when a tree falls (i.e. an outage occurs), everyone hears the sound. Unfortunately, worries over cloud reliability and availability &ndash; or specifically, the lack thereof when such instances arise &#8211; are not just theoretical. There have been well-publicized outages of many of the most popular public cloud services, including Gmail and Google Apps, Apple&rsquo;s Mobile Me service, and Amazon&rsquo;s S3 cloud service. When service disruptions do occur, these events tend to paint all cloud services with a broad brush. As one observer characterized the September 2009 Gmail outage: &ldquo;E-mail is a mission-critical application for business users &#8212; period. If customers perceive that Gmail isn&#8217;t reliable, they won&#8217;t adopt it. Every Gmail outage makes companies think twice before adopting the free e-mail solution.&rdquo; Indeed, the security of cloud computing is an issue that will inevitably &ldquo;blow-up&rdquo; each time data breaches occur in cloud offerings and hit the media. &nbsp;And, as once commentator astutely pointed-out, when cloud service outages or inaccessibility occur, &ldquo;most of the risk and blame if something goes wrong will fall directly on the shoulders of IT &#8212; and not on the cloud computing service providers.&rdquo;</p>
<p>When a cloud provider sees a data breach or service failure occur, this calls into question the efficacy of storing files and information online, causing huge security concerns for all affected users and not just the target cloud provider, but indeed, the whole cloud computing universe, which could be painted with a broad brush in such security matters.&nbsp; Yet, as one computer security analyst recently observed, &ldquo;Perfect security on the cloud is an illusory goal&hellip;and the vulnerabilities of the cloud will have to be weighed against (its) benefits.&rdquo; Indeed, many security experts believe that the notion of putting more data and more applications on the Internet via the cloud model could present vast new opportunities for criminal activity through identity theft and misappropriating intellectual property, hacking, and other forms of malicious activities.</p>
<p>The degree to which <i>any</i> organization engages in cloud computing &ndash; whether outside or inside its own &ldquo;four-wall&rdquo; environment &#8211; will certainly depend on its need for security. Yet, some will see the risks of moving data outside their own four walls too great to ever consider a cloud-based option. For private sector IT executives, there is a reluctance to shift core, mission-critical data storage or applications to public cloud environments, even if the cost savings and efficiency arguments are there, over concerns about the reliability and security of cloud offerings. Take for instance the case of the Princeton, New Jersey-based Educational Testing Service (ETS), which administers the SAT and other standardized tests. While ETS uses SaaS platforms for non-core functions, the firm&rsquo;s CIO, Daniel Wakeman, recently expressed his reluctance to shift data storage and processing for the tests themselves to a cloud environment. This is in spite of the fact that due to the highly cyclical nature of test administrations, scoring, and reporting around specific testing schedules throughout the year, ETS has an average server utilization rate of just around eight percent, making the firm a prime candidate for acquiring computing resources on-demand. Wakeman simply stated that due to security issues which have yet to be worked-out in what he and other perceive to be an &ldquo;immature market,&rdquo; ETS will monitor developments in the cloud marketplace and &ldquo;not (be) putting anything up there that we really care about.&rdquo; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>The security debate is perhaps even more intense when it comes to public sector IT. Take for instance the stance of Chiu Sai-ming, who serves as the Chief Assessor at Hong Kong&rsquo;s Inland Revenue Department. While Mr. Sai-ming believes it vital to take advantage of new technologies, he believes that the very notion of housing taxpayer data outside of his ministry is &ldquo;out of the question.&rdquo; Many in public sector IT will echo the concerns expressed by Ray Roxas-Chua, who serves as the Chairman of the Commission on Information and Communications Technology (CICT) for the Government of the Philippines. Cabinet Minister Roxas-Chua recently stated that: &ldquo;The &lsquo;inherent risks&rsquo; of cloud computing need to be addressed before government embraces it is a viable way of managing information.&rdquo;&nbsp;</p>
<p>Certainly, how to make cloud computing secure is one of the biggest issues for making it viable for the federal government &ndash; or for any government agency. As with prior shifts in information technology with the advent of the Internet and the Web, the introduction of e-mail, and the explosion of social media, their growth and adoption rates have been slowed by initial fears &ndash; some justified and some very unjustified &ndash; over security concerns and the loss of control over data and operations. Certainly, privacy and security questions will need to be addressed as public data and applications move into a cloud environment. As Adrienne Thomas, who is the Acting Archivist of the United States, plainly stated recently &ldquo;It&#8217;s a very big issue for government in terms of someone else to have control of our stuff.&rdquo; Yet, as Arun Gupta observed, in order to succeed today, &ldquo;You have to have the confidence to say, I don&#8217;t need to control everything. That&#8217;s very much a Web 2.0 mentality.&rdquo; Linda Cureton, NASA&rsquo;S CIO, urged IT decision-makers in government that it is imperative when considering a cloud-shift: &ldquo;Don&rsquo;t confuse control and ownership with security and viability.&rdquo;</p>
<p>The widely-held perception that cloud computing and SaaS applications are less secure and less reliable than applications housed on an organization&rsquo;s own network appears to be nothing less than a &ldquo;myth.&rdquo; Indeed, cloud offerings may be significantly more reliable that an organization&rsquo;s internal offerings. The difference is that when a company&rsquo;s email server crashes or a power outage disrupts operations at its data center, these internal failings do not make media headlines, as is the case anytime there is an outage or data breach with a Google, an Apple, or an Amazon cloud offering. Indeed, large-scale cloud providers are often-times more secure than a government agency&rsquo;s or private sector company&rsquo;s internal IT operations simply because they have the &ldquo;talent, resources and focus&rdquo; that their customers &ndash; and their smaller counterparts &ndash; do not have. Still, IT executives stridently believe that their own, hosted systems are far more secure than cloud-based resources, and public sector IT managers stridently believe that their internal operations are more secure than a private sector vendor could provide.&nbsp;</p>
<p>&nbsp;&nbsp; One public sector expert recently characterized the need to retain control and protection of sensitive, private data &#8211; in an age of information sharing &#8211; the &ldquo;Catch-22&rdquo; for government IT in regards to cloud computing. However, Ron Ross, NIST&rsquo;s Director of Security, observed that it is important to consider the sensitivity of the data in question and develop and employ &ldquo;a range of security controls (that) will be appropriate for differing levels of data sensitivity.&rdquo; Data security questions then are dependent on the nature and sensitivity of the data involved. Major Larry Dillard, a program manager in the Army&#8217;s Office of the Chief Marketing Officer, recently commented on overcoming the security concerns of his superior by stating: &ldquo;All data is not created equal&hellip;(and) all the challenges we&#8217;ve faced have been self-imposed. We&#8217;re not putting nuclear launch codes on Salesforce.com, we&#8217;re putting the street addresses of 17-year-olds.&rdquo;</p>
<p>One of the complicating factors in the shift to a cloud computing environment will be federal requirements for agencies to certify the security of their IT contractors&rsquo; systems &#8211; with no cloud-specific security standards in place. From the perspective of NIST&rsquo;s Peter Mell: &ldquo;Compliance is going to be tricky in the cloud space for several reasons, but one reason is that clouds are likely to use new security technologies that aren&#8217;t well understood or widely adopted, and that will make it difficult to prove the required level of security to auditors and to authorizing officials.&rdquo; Some have questioned whether the federal government would be precluded &ndash; from a regulatory standpoint &ndash; from using cloud-based services for such reasons.&nbsp; In fact, it has been commented that: &ldquo;For many agency applications, stringent compliance requirements in areas such as privacy, financial controls, and health information will preclude use of public clouds, regardless of the actual security controls of the provider.&rdquo; Analysts have already voiced concern that cloud providers methods of logging activities and document reads/access are presently insufficient for meeting the needs of government agencies to assure their compliance through audit controls.&nbsp;</p>
<p>Analysts have stated that one of the benefits for small companies is that they may, in fact, be able to raise the level of their computing security by moving more data and applications to the cloud. This is simply because cloud providers will have more resources to spend on security for their operations than most individual firms. Plus, their investments in security can be spread over their entire present &ndash; and prospective &ndash; clients (perhaps hundreds or thousands of firms), producing far greater results in improving computer security than individual firm&rsquo;s investments in such efforts. The same principle will hold true for government clients as well, especially those at the state and local levels. Yet, analysts have said that this may also be true even at the federal level, as large cloud providers &ndash; whose business depends on secure operations &ndash; may provide better security than internal federal operations.&nbsp;</p>
<p>What are the other benefits of cloud computing in the security area? One of the best ways to improve security is to have a single-point of access, controlled by the organization, and mandating users follow their procedures and policies for access privileges. However, while such access controls return power to the client, they may well serve to defeat some of the robust advantages for remote access fundamental to the cloud computing model. A recent study from researchers at the University of Michigan showed that by shifting virus protection from individual PCs to the cloud that connected them by raising the level of protection to the network, significantly improving the ability of anti-virus software to detect viruses and malware. &nbsp;&nbsp;</p>
<p>Cloud computing is also a relatively quick and easy solution to the significant problem of laptop theft, which poses a very real, intransigent security and financial headache for IT managers. This is because should a user lose his or her laptop, there would be no security threat, simply because the data would reside in the cloud, rather than on the machine itself. In fact, some have said this would actually mean that cloud storage would increase security for the federal government by reducing the security risk inherent with the hundreds of thousands of laptops in employee possession both inside and outside of federal facilities.</p>
<p>&nbsp;&nbsp; Cloud providers have been characterized as addressing such security concerns by going &ldquo;over the top&rdquo; with their physical and data security measures. For instance, SaaS-provider Salesforce.com&#8217;s data center employs &ldquo;five levels of biometric hand geometry scanners and even &lsquo;man trap&rsquo; cages designed to spring on those without the proper clearances.&rdquo; This is evidence that cloud providers are very much aware of and attune to both their clients&rsquo; concerns in the security area and the legal and regulatory risks that are being taken on by both the client and their firm by accepting a sizable portion of the client&rsquo;s IT operations.</p>
<p>&nbsp;&nbsp; There are signs that there is some backlash against cloud providers to improve their security safeguards and practices. For instance, in response to a data breach that occurred with Google Docs, The Electronic Privacy Information Center (EPIC) asked the Federal Trade Commission (FTC) to investigate Google&rsquo;s privacy and security measures for Gmail and Google Apps. Likewise, the Constitution Project, concerned that a user&rsquo;s personal information has weaker privacy protections in the cloud than when contained on a single device, has called for the cloud computing industry to set privacy standards and for the Congress to examine the privacy issues as well.</p>
<p>And for the concerns about security and privacy, centralizing operations in a cloud environment may not just make computing more secure, but make compliance easier &ndash; and cheaper &#8211; as well. From the viewpoint of Federal CIO Vivek Kundra, &ldquo;When you look at security, it&#8217;s easier to secure when you concentrate things than when you distribute them across the government.&rdquo;</p>
<p>Yet, as Bernard Golden recently observed, those who view cloud computing as too risky may be &ldquo;overly optimistic&rdquo; in their view on how well there own security and risk management efforts work &ndash; both in reality and in comparison to the cloud model. He remarked that: &ldquo;This attitude reflects a common human condition: underestimating the risks associated with current conditions while overestimating the risks of something new. However, criticizing cloud computing as incapable of supporting risk management while overlooking current risk management shortcomings doesn&#8217;t really help, and can make the person criticizing look reactive rather than reflective.&rdquo;</p>
<p>As ever-greater amounts of governmental and private sector firms&rsquo; work is shifted to cloud computing, could this shift in the locus of computation indeed be creating a national security risk? Ruven Cohen noted that: &ldquo;Cyber-threats against the country and the government are growing exponentially, and the desire to connect agencies and make government open, transparent and interoperable makes it easier for hackers to carry out their attacks&nbsp; &#8212; (thus) will openness and interoperability make us as a nation less secure?&rdquo; He went on to note that government will have significant interest in protecting cloud resources for the private sector and individuals as well, noting the huge economic impact and disruption that can occur if a major cloud resource, such as Gmail, were to go down for an extended period of time or be lost forever. Such risks are not without precedent, as the government of Estonia was hit by a well-coordinated denial-of-service attack &ndash; suspected to be Russian in origin &ndash; during a period of tension between the two nations in 2007, and just this summer, several agencies in the U.S. government and sites in South Korea were cyberattacked by what was widely believed to be a scheme conducted by the North Korean government. Such a risk has led Nicholas Carr, author of <i>The Big Switch</i>, to label this as the threat of a &ldquo;Cold War 2.0&rdquo; &ndash; and it is certainly an area where federal policymakers need to be concerned.</p>
<p><strong>C</strong><strong>onclusion</strong></p>
<p>Security is undoubtedly a hard metric to quantify. And, all too often, the IT community has a somewhat damaging tendency to treating all risks &ndash; whatever the real nature of them &ndash; as the very worst case scenario and not judging the true impact &ndash; and likelihood &ndash; of their occurrence.</p>
<p>Analogies have been drawn between the advent of cloud computing today with the introduction of wireless technologies a decade ago. As Ron Ross, NIST&rsquo;s Director of Security recently observed, &ldquo;When wireless came along, we didn&rsquo;t really know a lot about how to protect it, but we developed that understanding as we went forward, and now we do a pretty good job of protecting wireless.&rdquo; However, Wyatt Kash recently warned that the shift to cloud computing could be slowed by what he termed as &ldquo;a darker cloud of Internet security vulnerabilities.&rdquo; John Garing, who serves as the CIO and Director of Strategic Planning for the Defense Information Systems Agency (DISA), characterized the cloud computing security dilemma as the classic case of the &ldquo;irresistible force versus immovable object,&rdquo; where &ldquo;the irresistible force is the incredible thirst for collaboration and information-sharing that Web 2.0 tools and many young people have brought on board and the immovable object is security.&rdquo;</p>
<p>It is likely that governments at all levels will be a significant part of the cloud computing market, as the inherent advantages of cloud models, combined with economic pressures, will drive more and more IT procurement to cloud-based resources. As the cloud model advances, it will be incumbent on government IT leaders &ndash; and well as vendor executives &ndash; to be mindful of the unique security challenges facing the public sector use of cloud computing resources. Certainly, there are a whole host of legal, privacy and workforce issues that will need to be dealt with as well. Thus, the governmental IT marketplace will be an important focus for much activity &ndash; and discussion &ndash; for the next decade.</p>
<p>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
<p>David C. Wyld (<a href="mailto:dwyld@selu.edu" target="_blank">dwyld@selu.edu</a>) is the Robert Maurin Professor of Management, Southeastern Louisiana University in Hammond, Louisiana. He is a management consultant, researcher/writer, and executive educator. His most recent work is &ldquo;Moving to the Cloud: An Introduction to Cloud Computing in Government,&rdquo; by David C. Wyld. It is a research monograph published by The IBM Center for the Business of Government, Washington, DC in November 2009. The complete report is available for free on the web in PDF format at: <a href="http://www.businessofgovernment.org/pdfs/WyldCloudReport.pdf" target="_blank">http://www.businessofgovernment.org/pdfs/WyldCloudReport.pdf</a>. &nbsp;&nbsp;&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/what-if-it-fails-the-security-and-reliability-issues-surrounding-public-sector-utilization-of-cloud-computing-resources-in-governmental-information-technology-strategies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>An Explanation on How Chaining Works in Jquery</title>
		<link>http://computersight.com/programming/an-explanation-on-how-chaining-works-in-jquery/</link>
		<comments>http://computersight.com/programming/an-explanation-on-how-chaining-works-in-jquery/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 13:00:57 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/Ivy+Black">Ivy Black</a></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[chaining]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/an-explanation-on-how-chaining-works-in-jquery/</guid>
		<description><![CDATA[Not sure what jQuery chaining is all about? Here is an easily digestible explanation with simple examples.]]></description>
			<content:encoded><![CDATA[<p>If you are new to jQuery as well as JavaScript as such, some concepts might be new to you. One such thing is the idea of chaining.</p>
<p>You can think of chaining as a list of actions run one after another, but instead of launching them separately they relate to the previous actions result.</p>
<p>Let&rsquo;s take this code for example:</p>
<div id="&rdquo;outerContainer&rdquo;">Title</p>
<p>Content</p>
</div>
<p>&nbsp;<img src="http://images.stanzapub.com/readers/2009/09/06/chaining1_2.jpg" alt="" /></p>
<p>Let us add an event to the header tag.</p>
<p>$(&lsquo;#outerContainer h2&rsquo;).click(function(){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Perform some action</p>
<p>});</p>
<p>This means that when someone clicks on the header the function above will be called.</p>
<p>$(&lsquo;#outerContainer h2&rsquo;).click(function(){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var parentContainer = $(this).parent();</p>
<p>});</p>
<p>We start of by creating a jQuery object using <strong>this</strong> to set our context as the header (h2). This is followed by the jQuery function parent() that moves the context to the #outerContainer element. A reference to which ends up being assigned to the parentContainer variable.</p>
<p><img src="http://images.stanzapub.com/readers/2009/09/06/chaining2_1.jpg" alt="" /></p>
<p>$(&lsquo;#outerContainer h2&rsquo;).click(function(){</p>
<p>$(this).parent().addClass(&lsquo;clicked&rsquo;).children(&lsquo;p&rsquo;).hide();</p>
<p>});</p>
<p>The above would add a class &lsquo;clicked&rsquo; to the #outerContainer and afterwards find all the children paragraphs which it then would hide. All this in one chain of actions.</p>
<p><img src="http://images.stanzapub.com/readers/2009/09/06/chaining3_1.jpg" alt="" /></p>
<p>As you can see by following the colours in the illustration the context of the actions in the chain can be affected by certain actions. You could split the actions into two types: ones that perform operations on an object (here: addClass(), or hide()) and ones that move your context to a different object (here: parent(), or children()).</p>
<p>To explain this even further, this is how the chain could be expanded:</p>
<p>$(&lsquo;#outerContainer h2&rsquo;).click(function(){</p>
<p>$(this).parent().addClass(&lsquo;clicked&rsquo;);</p>
<p>$(this).parent().children(&lsquo;p&rsquo;).hide();</p>
<p>});</p>
<p>However the above obviously means an unnecessary lookup as we locate the #outerContainer twice.</p>
<p>$(&lsquo;#outerContainer h2&rsquo;).click(function(){</p>
<p>var parentContainer = $(this).parent();</p>
<p>parentContainer.addClass(&lsquo;clicked&rsquo;);</p>
<p>parentContainer.children(&lsquo;p&rsquo;).hide();</p>
<p>});</p>
<p>Now this is a lot better performance wise, however you can easily see how chaining can help group actions into logical groups and save space, as well as make your code a lot more readable.</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/an-explanation-on-how-chaining-works-in-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database Programming in Layman&#8217;s Terms</title>
		<link>http://computersight.com/programming/database-programming-in-laymans-terms/</link>
		<comments>http://computersight.com/programming/database-programming-in-laymans-terms/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 07:45:08 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/Borlok+VA">Borlok VA</a></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[computer programming]]></category>
		<category><![CDATA[database programming]]></category>
		<category><![CDATA[Programming language]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/database-programming-in-laymans-terms/</guid>
		<description><![CDATA[I'm not a computer programmer by any means. What's more, I have no desire to be. However, I'm totally amazed at how complicated the subject appears to be in the search engines. So take a cruise and see how I do at breaking this complex subject in layman's terms.]]></description>
			<content:encoded><![CDATA[<p>These days everyone uses a computer. In the olden days, however, everything was done manually. It took time and effort to write in longhand and even longer to organize all the information that you had accumulated. Today we&#8217;re going to look at how to organize all that information into a database and then in simple terms examine what database programming is.</p>
<p>So just what is a database anyhow? Databases are excellent for organizing and excel at managing and keeping structured information. Say you have a phone book. You&#8217;re going to see names, addresses, and phone numbers for everyone that has a listed phone number in a specific region. All of this information can be organized into individual records that have their own field. Sound like Greek? It&#8217;s easy.</p>
<p>For example, Joe S. Smith would be one record. Within his record, he would have a field for first name, another field for last name, a third field for address, and the final field being the phone number. So each person with the name of Joe S Smith, Joe Smith, Joseph Smith, etc. would have their own unique record.</p>
<p><a target="_blank"></a>Other examples of databases are membership lists, customer lists, library catalogues, business card files, and parts inventories. You could make a list for an endless number of attributes.</p>
<p>Now, let&#8217;s say you have decided on what type of database you want to have; however, you have your own specific fields that you want to include. You are going to need to know how to tell your computer in its own language what you want your database to do; in other words, you will need to try your hand at computer programming. You will be developing the process for how you want your database to perform.</p>
<p>Now obviously, programming is a lot more complex than what I am including here. Essentially, you will be creating a step-by-step process using your computer&#8217;s own language which is with the use of bits that are either on or off with the use of binary numbers (don&#8217;t worry; there&#8217;s only two &#8212; 0 and 1).</p>
<p>So let&#8217;s take it one step further and what the various categories of computer programming are. The three major categories at this time are: command-level programming, productivity-tool programming, or programming using a general-purpose programming language such as Ada, BASIC, or C++. We are going to focus in on command-level programming, and you&#8217;ll see why in a moment.</p>
<p>Command-level programming are actually steps that you want your computer or software application to perform and the order in which those steps are to be done. You can either use a menu-driven or a keying sequence to perform those steps. Using command-level programming is especially useful for telling a word processor what to do or a productivity tool such as an Excel spreadsheet or a database.</p>
<p>Okay, so now let&#8217;s put all this together into a bite-size bit of our own. What is database programming? In layman&#8217;s terms, it is telling your database to take a certain list and put it into a customized format by using computer language. That&#8217;s all there is to it. That wasn&#8217;t hard, was it?</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/database-programming-in-laymans-terms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Designing a Website Using PHP and MySQL</title>
		<link>http://computersight.com/programming/php/designing-a-website-using-php-and-mysql/</link>
		<comments>http://computersight.com/programming/php/designing-a-website-using-php-and-mysql/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 06:20:20 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/Christopher+East">Christopher East</a></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/php/designing-a-website-using-php-and-mysql/</guid>
		<description><![CDATA[This article is aimed at those individuals who are already familiar with PHP/MySQL and will be designing their first website completely independently of everyone around them. This can be a very time consuming process and should not be done without a lot of prior thought and consideration.]]></description>
			<content:encoded><![CDATA[<p>Designing a new website can be an expensive and quite extensive business. Putting in careful thought and consideration as much as possible during the website design and development process. For those of you lucky to be blessed with good design skills then you would have already thought up of an idea as to how your website would look like when completed, although you do need to bear in mind the practicality of any designs.</p>
<h4>Ask yourself the following questions:</h4>
<ul>
<li>Will is work the way intended when it has been developed into a fully functioning website?</li>
<li>Will it be easy to use?</li>
<li>Who are the target audience?</li>
<li>How often will I need to change the design?</li>
</ul>
<p>By taking the above questions into account, you are able to produce a more effective and therefore a design that works with a lot more gusto than those designs that look excellent, but have hardly any functional content space.</p>
<p>Be prepared to lose some design elements during the development phase of your website. This can be for many reasons, including practical ones, which will enable you to be able to produce a much better website, even if the final design isn&#8217;t quite what you had hoped for. Of course there are ways to be able to develop sites that include every single one of their design elements, but these will not typically be the most attractive to end users. End users like to see a mixture of both good design and excellent functionality! If it comes down to having to choose between an end user feature, and a design element, in a majority of cases a tastefully developed end user feature can keep customers coming back 20 times more than a well chosen design element.</p>
<p>If you are not blessed with the ability to be able to design your own websites, much the same position as I find myself in, then you still need to go through the above process, but you need to be able to communicate this to a designer that will be capable of delivering what you expect. When you sign a contract with one of these designers, I would look at the terms of the contract, and aim to get a contract whereby if you are not satisfied with the work you have received then you are not liable for the cost of any time or materials. This will protect you and incentives the designers to produce their best work.</p>
<p>Once you have a fully completed design, then you can start looking at the ways in which you would like your target audience to interact with your website there can be many things, including blogs, photo galleries, polls, and general content. Working with content on websites is something that has many facets to it. Making sure that everything works with all of the search engines, is optimized to the correct level, makes content on each page a tricky one.</p>
<p>Working on many different ways to get users to interact with your website is crucial to keeping your website popular and ensuring that people carry on returning to look at what you are placing on the website.</p>
<p>One of the important things that you need to consider before you develop a website is security. Do your programming well, and you won&#8217;t suffer with individuals and rivals attempting to destroy your website, and stop you from working online.</p>
<p>Once you have a design, then you do need to start looking at the best way forward for your website. Look at things like interaction, as mentioned above, along with little things like how the website is going to pay for itself, and whether or not you&#8217;ll have to subsidize the website in order to keep it afloat.</p>
<p>Once you have made these decisions, get programming, use your preferred language, obviously this article assumes that you&#8217;ll be using PHP/MySQL, but use whatever you are more confortable with.</p>
<p>I won&#8217;t give you any code here, as it would take a remarkable amount of time to do!! Instead I shall just wish you the best of luck with your website.</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/php/designing-a-website-using-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gpa Calculator (Java)- Source Code</title>
		<link>http://computersight.com/programming/java/gpa-calculator-java-source-code/</link>
		<comments>http://computersight.com/programming/java/gpa-calculator-java-source-code/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 06:41:25 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/Sir+Pall+Estillo">Sir Pall Estillo</a></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[GPA]]></category>
		<category><![CDATA[GPA Calculator]]></category>
		<category><![CDATA[GPA Program]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming in Java]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/java/gpa-calculator-java-source-code/</guid>
		<description><![CDATA[Hey guys, this is the source code from a GPA Calculator I made recently. Hopefully it can help someone.]]></description>
			<content:encoded><![CDATA[<p>Hey guys, I know how difficult programming class can be. This is my most recent project from programming in Java, and I know this is a common project assigned in class, so I thought this might be useful to those who are stuck in the middle of their GPA program and don&#8217;t know what to do.</p>
<p>Source Code:</p>
<p>import javax.swing.*;<br />import java.awt.event.*;<br />import java.awt.*;<br />import java.text.DecimalFormat;</p>
<p>public class GPACalculator extends JFrame<br />{<br />&nbsp;&nbsp;&nbsp; char letterGrade;<br />&nbsp;&nbsp;&nbsp; double&nbsp;&nbsp;&nbsp; credits,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; GPA,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; points = 0.0,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; totalCredits = 0.0;<br />&nbsp;&nbsp;&nbsp; private JButton calcButton,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;clearButton;<br />&nbsp;&nbsp;&nbsp; private JLabel gradeDisplay,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditsDisplay,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay;<br />&nbsp;&nbsp;&nbsp; private JTextField gradeField,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;creditsField;<br />&nbsp;&nbsp;&nbsp; private JPanel panelTop,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelMid,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelLow;<br />&nbsp;&nbsp;&nbsp; private int WINDOW_WIDTH = 300,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WINDOW_HEIGHT = 200;<br />&nbsp;&nbsp;&nbsp; boolean result = true,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; cResult = true;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; String display;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public GPACalculator()&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; super(&#8221;GPA Calculator&#8221;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setSize(WINDOW_WIDTH, WINDOW_HEIGHT);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setLayout(new GridLayout(3, 1));<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; gradeDisplay = new JLabel(&#8221;Grade&#8221;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; gradeField = new JTextField(4);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditsDisplay = new JLabel(&#8221;Credits&#8221;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditsField = new JTextField(4);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; calcButton = new JButton(&#8221;Calculate&#8221;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clearButton = new JButton(&#8221;Clear&#8221;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; calcButton.addActionListener(new ButtonListener());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clearButton.addActionListener(new ButtonListener());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelTop = new JPanel();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelTop.add(gradeDisplay);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelTop.add(gradeField);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelTop.add(creditsDisplay);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelTop.add(creditsField);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay = new JLabel(display);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelMid = new JPanel();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelMid.add(messageDisplay);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelLow = new JPanel();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelLow.add(calcButton);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; panelLow.add(clearButton);&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add(panelTop);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add(panelMid);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add(panelLow);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setVisible(true);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216; &#8216;;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; credits = 0;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public boolean setLetterGrade(char lG)<br />&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; switch (lG) <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;a&#8217;:&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;A&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216;A&#8217;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;b&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;B&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216;B&#8217;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;c&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;C&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216;C&#8217;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;d&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;D&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216;D&#8217;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;f&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; case &#8216;F&#8217;:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = &#8216;F&#8217;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; default:<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = false;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return result;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public boolean setCredits(double cr)<br />&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean result = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (cr &lt; .25 || cr &gt; 6)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cResult = false;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cResult = true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return cResult;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public char getLetterGrade()<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setLetterGrade(letterGrade);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return letterGrade;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public double getCredits()<br />&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setCredits(credits);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return credits;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public double getCreditGrade(char letterGrade)<br />&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (letterGrade == &#8216;A&#8217;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade = 4.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else if (letterGrade == &#8216;B&#8217;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade = 3.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else if (letterGrade == &#8216;C&#8217;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade = 2.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else if (letterGrade == &#8216;D&#8217;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade = 1.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else if (letterGrade == &#8216;F&#8217;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditGrade = 0.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = false;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return creditGrade;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public double calcGPA()<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; points += getCreditGrade(letterGrade) * credits;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; totalCredits += credits;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; GPA = points / totalCredits;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return GPA;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; private class ButtonListener implements ActionListener<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void actionPerformed(ActionEvent a)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String readGrade,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;readCredits,<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;buttonAction = a.getActionCommand();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (buttonAction == &#8220;Calculate&#8221;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readGrade = gradeField.getText();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; letterGrade = readGrade.charAt(0);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setLetterGrade(letterGrade);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (result == false)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; display = &#8220;Letter grade must be a, b, c, d, or f.<br />&#8221; + <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#8220;Otherwise, place cursor at beginning of field <br />&#8221; +<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#8220;and retype the letter.&#8221;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay.setText(display);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readCredits = creditsField.getText();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; credits = Double.parseDouble(readCredits);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; setCredits(credits);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (cResult == false)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; display = &#8220;Credits must be between .25 and 6 inclusive.&#8221;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay.setText(display);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; catch (NumberFormatException nfe)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; display = &#8220;Credits should be a number.&#8221;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay.setText(display);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result = false;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (result == true &amp;&amp; cResult == true)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; calcGPA();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay.setText(&#8221;New GPA is: &#8221; +GPA);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (buttonAction == &#8220;Clear&#8221;)<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; points = 0.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; totalCredits = 0.0;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; gradeField.setText(&#8221;");<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; creditsField.setText(&#8221;");<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; display = &#8220;&#8221;;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; messageDisplay.setText(display);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; public static void main (String [] args)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; new GPACalculator();<br />&nbsp;&nbsp;&nbsp; }<br />}</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/java/gpa-calculator-java-source-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Just Design When You Could Also Code?</title>
		<link>http://computersight.com/programming/why-just-design-when-you-could-also-code/</link>
		<comments>http://computersight.com/programming/why-just-design-when-you-could-also-code/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 10:42:26 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/steve+maina">steve maina</a></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coders]]></category>
		<category><![CDATA[controversy]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[program managers]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/why-just-design-when-you-could-also-code/</guid>
		<description><![CDATA[This is my two cents worth of why program managers are more palatable than either designers or coders. It's for all you old school purists out there!]]></description>
			<content:encoded><![CDATA[<p><img src="http://images.stanzapub.com/readers/2009/06/10/1045399_0.jpg" alt="" /></p>
<p>More often than not, designers have rightfully been accused of retreating into their cocoons of ignorance as soon as their work of designing the user experience is finished, leaving the dirty, more hands-on work of developing it to the language gurus. This apathy is prevalent not only in the web development industry but also in the software and game engineering domains.</p>
<p>The hard truth is that the buck of development should stop with designers, such that they provide a turnkey solution to the user defined requirements. For optimum efficiency, designers should not only be concerned with creating the bigger picture but also painting it! These are the reasons:</p>
<h3>Realistic Designs</h3>
<p>With a clear image of how the final product will be actualized, a designer will come up with more feasible and practical concepts. Being an integral part of the development process, they carry the onus of ensuring their designs are implementable and user-friendly. A user-friendly website is not only a picnic to navigate from one page to another in a clear and concise flow of logic, but also provides a user with all the information they need without being too overbearing or cluttered.</p>
<h3>Easier Communication</h3>
<p>Virtually all products designed but implemented by different parties never sate both sides&#8217; expectation, especially when it comes to intangible products like websites, software or games. It normally comes down to a compromise between what it should have been and what, in reality, it can be.  Whereas the general idea is captured, it is seldom replicated verbatim. The panacea: designers should preach water and drink it to!  This avoids confusion, misunderstanding and misrepresentation.</p>
<h3>Convenient Iterative Development Process</h3>
<p>A design, in practice, should not be absolute. By this I mean it should be flexible and affable to change without distorting its intrinsic essence to meet the systems&#8217; technical constraints. These repetitive and necessary alterations can only be realized by the original designer. Not unless he is also a coder, this would be hard to implement.  A designer-cum-coder can iterate more aptly where necessary rather than having a coder resubmit the design to the designer, who is rarely at hand, to implement the alterations. This may even create friction.</p>
<h3>Better End Products</h3>
<p>I often like drawing parallels between software, web or game development to orchestral music where the designer is the composer and the coder is the ensemble&#8217;s maestro or conductor. Imagine the latter had the composers score? Wouldn&#8217;t the symphonies be awesome and captivating? Not only were they crafted by a master craftsman, but are conducted by their creator!</p>
<h3>Shorter development curve:</h3>
<p>The designers doubling up as coders implies that the design and coding processes occur at least sequentially if not concurrently (e.g. in Extreme Programming tm) . This results in a shorter development timeframe, which translates to a bigger profit  margin as the number of  projects presented  before their deliverable dates is directly proportional to the number of satisfied clients who will keep coming back , at times with referrals.</p>
<h3>Designer Becomes More Marketable</h3>
<p>Modern day designers worth their salt need to up their portfolio,  if they need to remain relevant. What with the proliferation of cheap design colleges of questionable repute churning out &ldquo;graduate designers&rdquo; by the cent a sackful.  &ldquo;I&#8217;m a designer. How can i achieve this?&rdquo; one may be forgiven to ask.   By learning to implement what you design rather than leaving it orphaned in the hands of coders. After all, citing design and coding skills in one&#8217;s resume does not hurt. On the contrary, it makes one less redundant and indispensable, a life and death determinant in these financially tumultuous times of corporate restructuring (read mass retrenchments) and downsizing (read firing).</p>
<p>However, in so much as designers should also code their innovations, there are down sides to this scenario. Quoting Lukas Mathis, he of the controversial article &ldquo;designers are not programmers&rdquo;1, says:</p>
<p>&ldquo;If the designer implements his own designs, he is beholden to two different goals: Clean code and great user experience. These two goals contradict each other. If you have to implement your own designs, you&#8217;re bound to compromise for the sake of code quality, which is bad for your interaction design.</p>
<p>Designers who implement their own designs face two issues: They know when a neat new idea will create messy code, and they know about all the existing code that would be touched by a change to the user experience&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;.The two goals are at odds, because the user experience is all about the little details, and those little details all end up being messy bits of code you would rather not have to write.&rdquo;</p>
<p>This aptly summarizes the hard stance taken by IT products development purist. They are of the old school of thought that advocates for clear cut lines between software design and implementation.  Apparently, designers create for humans, coders create for computers. Thus user experience designers should design the best possible user interface and leave the code makers to make the best possible programming decisions. While this holds some merit as I&#8217;ve found myself trying unsuccessfully to abstract my mind from the code when I&#8217;m working on a user interface, it is ultimately more convenient to have the technical and usability constraints in perspective.</p>
<h4>In conclusion</h4>
<p>All said and done, the scope of a project under development may ultimately decide the designers and programmers role. A small application can be pertinently handled by a program manager2 while a large system will definitely need specialized personnel!</p>
<p>1: http://ignorethecode.net/blog/2009/03/10/designers-are-not-programmers/</p>
<p>2: term used to describe designers-cum-programmers by Joel in his website</p>
<p>Joe on Software; http://www.joelonsoftware.com/items/2009/03/09.html</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/why-just-design-when-you-could-also-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automated Ot, Leave and Change Shift Monitoring</title>
		<link>http://computersight.com/programming/visual-basic/automated-ot-leave-and-change-shift-monitoring/</link>
		<comments>http://computersight.com/programming/visual-basic/automated-ot-leave-and-change-shift-monitoring/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 09:22:54 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/2tet">2tet</a></dc:creator>
				<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[2tet]]></category>
		<category><![CDATA[American]]></category>
		<category><![CDATA[Automated]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[Connotation]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[Filipinos]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[human]]></category>
		<category><![CDATA[Ib]]></category>
		<category><![CDATA[importance]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Leave]]></category>
		<category><![CDATA[Local]]></category>
		<category><![CDATA[Macro]]></category>
		<category><![CDATA[Mamaya Na]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Perspective]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[Shift]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/visual-basic/automated-ot-leave-and-change-shift-monitoring/</guid>
		<description><![CDATA[The importance of Automated OT, Leave and Change Shift Monitoring for company's continued success. I was a bronze medalist on this improvement.]]></description>
			<content:encoded><![CDATA[<p>In global perspective, monitoring overtime, leave and change shift has been a central discussion in business world. There were series of article written in which employee pleads for appreciation and they feel valued whenever an effort has been commended.</p>
<p>Locally, Human Resource Management alone does the job of monitoring overtime, leave and change shift. This setting is indeed a false one. Most of the companies in the Philippines are owned by the Japanese and the American. Certainly, Filipinos encompass &frac34;&#8217;s of the population.  Unfortunately, it is proven that most of the Filipinos relate themselves to common local connotation that is &ldquo;Mamaya Na!&rdquo;</p>
<p>Likewise, Ibiden Philippines, Inc. monitors overtime, leave and change shift through HR Department. Other departments just like QA monitors overtime, leave and change shift but not as serious as HR&#8217;s monitoring. Some departments even rely with HR&#8217;s update by the end of the month. Sadly, there was a delay in HR updates.</p>
<p>Hence, Automated OT, Leave &amp; Change Shift Monitoring&reg; was developed to alleviate the scenario.</p>
<h3>Productivity</h3>
<p>In the first place, IPI employees are unconscious of their productivity since there was no monitoring at all. This allows them to work without direction in the sense that they will just work in manner of just working.</p>
<h3>Quality</h3>
<p>Some departments have monitoring of overtime, leave and change shift. However, their monitoring is manual. Manual monitoring is susceptible to human errors. Thus, the quality and accuracy of computation is being sacrificed.</p>
<h3>Cost</h3>
<p>Since there was no monitoring of overtime, employees can render overtime on the basis of their &ldquo;wants&rdquo; not on the &ldquo;needs of the company&rdquo; for their service. This fact incurs cost.</p>
<h3>Morale</h3>
<p>No recognition is given to employees who were not able to file leave and change shifts per month. This hampers appreciation and employee satisfaction.</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/visual-basic/automated-ot-leave-and-change-shift-monitoring/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web Journal: My Indoctrination Into Computers &amp; the World Wide Web</title>
		<link>http://computersight.com/programming/html/web-journal-my-indoctrination-into-computers-the-world-wide-web/</link>
		<comments>http://computersight.com/programming/html/web-journal-my-indoctrination-into-computers-the-world-wide-web/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 08:22:59 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/thestickman">thestickman</a></dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA["Blog"]]></category>
		<category><![CDATA[Atari]]></category>
		<category><![CDATA[ATARI 130XE]]></category>
		<category><![CDATA[Commadore Computers]]></category>
		<category><![CDATA[Compaq]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Publishing]]></category>
		<category><![CDATA[TANDY]]></category>
		<category><![CDATA[Validator]]></category>
		<category><![CDATA[VIC-20]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Web-Log]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[WWW]]></category>
		<category><![CDATA[X-HTML]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/html/web-journal-my-indoctrination-into-computers-the-world-wide-web/</guid>
		<description><![CDATA[Several years ago I attempted to write a synopsis of my first experiences with computers and the World Wide Web. I guess you could call it a "blog" although there was at the time, no such things and even if there were, there was no place to publish it. So, here are my thoughts and experiences with my first computers and learning to create HTML.]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<h3>The information superhighway</h3>
<p>My first computer was a <a href="http://oldcomputers.net/vic20.html" target="_blank">VIC-20</a>, by Commodore. This was maybe in 1983? It was just a clunky keyboard that interfaced with my mom&#8217;s floor model television via a formidable-looking &#8220;alligator clip&#8221; that visually was more suited for automotive jumper cables.</p>
<p>When attached to the two screws on the back of the television set marked &ldquo;VHF&rdquo;, my computer occasionally had a &#8220;color monitor&#8221; of just 16 colors.</p>
<p>Despite her initial protestations and concerns of this hybrid set up &#8220;&hellip;possibly damaging the television&#8221;, I got fare time with the device. I was quite satisfied with my so-called computer. I could not envision much beyond the mystery of this machine and the language it spoke. I could play pre-packaged games that came as a small square &#8220;cassettes&#8221; that plugged into the back of the keyboard.</p>
<p>A game called <a href="http://en.wikipedia.org/wiki/Battle_Chess" target="_blank">Battle Chess</a> was my all-time favorite, especially when I added a &#8220;joystick&#8221; to enhance my ability to interact with the Chess characters. I usually lost the game, but it was fun anyway</p>
<p>I learned a bit of <a href="http://en.wikipedia.org/wiki/BASIC_programming_language" target="_blank">B.A.S.I.C.</a> language in which I could make a small <a href="http://en.wikipedia.org/wiki/ASCII" target="_blank">ASCII</a> &#8220;stick-man&#8221; character on-screen do jumping jack exercises. Faster or slower this character would jump, based upon the number of times I coded the &#8220;For/Next&#8221; loop to execute before the next &#8220;If/Then&#8217; statement. This was about the extent of my &#8220;programming abilities&#8221;</p>
<p>In the very early 90&#8217;s I attended a brief (10-week long?) one-night-per-week Adult Education Course for Programming in BASIC. I did okay with it, I sort-of &#8220;got it&#8221;. I passed the class near the top. But I could only see one thing for the future&#8230;-yeah, I&#8217;d need a better computer.</p>
<h3>Say, isn&#8217;t that one of those new-fangled MOS 6510 processors?</h3>
<p>I next bought a used <a href="http://en.wikipedia.org/wiki/Commodore_64" target="_blank">Commodore_64</a> computer, which was okay for about a year. I knew of a few &#8220;bulletin boards&#8221; and something called &#8220;telnet, and could possibly have connected to and send/read messages.</p>
<p>In 1985 or &#8220;86maybe, I &#8220;upgraded&#8221; to a new <a href="http://www.old-computers.com/MUSEUM/computer.asp?c=21" target="_blank">ATARI 130XE</a> but without a modem I still could not access anything beyond pre-canned programs on mini-cassette. I wanted to exchange a few e-notes with friends met at science fiction conventions whom spoke of this &#8220;telnet&#8221; thing, but my system without peripheral upgrades would not support it. I did however, very much enjoy a &#8220;game&#8221; called &ldquo;<a target="_blank"></a><a target="_blank"></a><a href="http://en.wikipedia.org/wiki/The_Halley_Project" target="_blank">The Halley Project</a> &rdquo; and while I never attained the end of the game and subsequently found the hidden so-called &#8220;Easter Egg&#8221; Extended Game Play that was said to exist, I much enjoyed this game.</p>
<p>The &#8220;IBM-PC&#8221; was the golden standard, so next came my first &#8220;real&#8221; computer, a <a href="http://en.wikipedia.org/wiki/Tandy_1000" target="_blank">TANDY 1000 RLX</a> computer by Radio Shack.</p>
<p>-Yeah, -mistakes come in threes I&#8217;m afraid&hellip;*grin*. Enough said!</p>
<p>While I was doing this, the Internet as we know it was quite ready to be born. There might have been quite a few telnet bulletin boards out there by now, linking together, encompassing larger areas of lay-users. The emergence of &#8220;backbone&#8221; companies such as <a href="http://en.wikipedia.org/wiki/AOL" target="_blank">America Online</a> and <a href="http://en.wikipedia.org/wiki/CompuServe" target="_blank">CompuServe</a> brought &#8220;internet&#8221; to the masses. Physical landlines were being strung by companies like Sprint, which were to be integral to the Internet boom about to emerge. From what had begun as a Professionals-users-only Old-boys club, emerged something the World had never expected, The <a href="http://en.wikipedia.org/wiki/World_Wide_Web" target="_blank">World Wide Web</a>. A &#8220;critical mass&#8221; of would-be users had been achieved, the ribbon was unceremoniously cut and a Information Superhighway we call &#8220;The Internet&#8221; exploded forth as many thousands of users joined in that first year alone with exponentially more every year since.</p>
<p>I had joined the emerging &#8220;internet&#8221; circa early 1994 with a program called PC_LINK&#8221; (not to be confused with a business that was later created in the late 1990s with the same name) on my new computer with a &#8220;i186&#8243; and 14.4kbs modem. I found a way to tweak this from the bench-tester&#8217;s 14.4-baud speed to 19.2-baud. This was still quite slow, really.</p>
<p>An aftermarket modem upgrade to a 28.8-kbs helped. A few years later, I had to upgrade yet again, to a COMPAQ Presario with &#8220;i586&#8243; with the optimum dial-up standard, the 56-kbs modem. And still, the Internet demanded more and more of computers. Today I use a used-to-be-HP with AMD-K6, tricked-out with added-on peripherals, and can barely keep up with the changes!</p>
<p>Still, my biggest personal pet peeve was that Personal Web-Pages take so long to load on dial-up! Why? I learned that there are &#8220;tricks&#8221; a conscientious Web-page programmer can do to assist users of &#8220;slower&#8221; computers. -Better coding.</p>
<h3>Road signs to Guide You</h3>
<p>Codified thought&#8230; I wanted to learn even just a little bit of how to write HTML. How to change the color of my text posted upon a Forum, or how to use a different font or emphasis&#8230; -That would do. But learning how to write Web Pages seemed impossible! On &#8220;forums&#8221; I would edit my replies to include little things gleaned like colored text, altered text sizes, and other styles of font. I wrote down what worked, what it does. I needed the skills to write my own pages.</p>
<h3>So, how about writing your own code?</h3>
<p>It was about seven years ago I began to learn through online resources and later, signed up via Internet classes with Distance Education Course and made it through several courses on &#8220;Introduction to HTML&#8221; and &#8220;Web-Page Design w/ multi-Media&#8221;. It was difficult as all new things are. I learned some basic HTML, tried it and quickly saw how sometimes what I wrote was skewed on one or the other of the two main browsers, Internet Explorer and Netscape! This is terrible! What did I do incorrectly? Was there someplace I could &#8220;test&#8221; my code for accuracy and compatibility? (YES! <a target="_blank"></a><a href="http://validator.w3.org/" target="_blank">W3C Validator</a>) -These course helped me to create web-pages&#8230; but I did not learn right away of resources like this, or where to look for pre-written (FREE would be preferred!) things such as ready-to-use code snippets, libraries of open-source images such as *GIFs, sound files, plug-ins and upgrades etc., to add value and appeal to my pages.</p>
<p>I learned about the history of the Internet, it&#8217;s intricacies, some potential dangers too. The direction it is heading, how &#8220;netizens&#8221; are using it today and, more importantly for me, how to do intelligent searches that lead to meaningful finds. As a future Web Page Designer seeking to increase his personal web-presence, this resource alone was worth the time invested in these courses.</p>
<p>I have looked for and found &#8220;code validator&#8221; sites, which allows web-coders to paste their live URL&#8217;s (or actual code into) to be validated for errors and/or warnings. You get a nearly immediate line-by-line review of your tested code, cited are any errors, conflicts, deprecated (discontinued/unsupported) tags, missing or improperly closed tags, bad/incorrect syntax and any other &#8220;unrecognized&#8221; errors.</p>
<p>Using this course, I have found other useful, fun sources of code, games, freebie utilities, plug-ins and archived knowledge that I *knew* must have existed, somewhere. Resources such as <a href="http://www.strangebanana.com/" target="_blank">StrangeBanana</a> that programmatically generates a new, unique X-HTML sheet for you, right before your eyes! You can &#8220;renew&#8221; the image with one click, to get one that you like! Free for you to take, follow their included instructions, and make it your own. And I located a slick collection of links to &#8220;opt out of site cookies&#8221;, like (website no longer exists). Most sites do let you &#8220;opt out&#8221; of receiving their cookies. -But they usually do not advertise this openly, so most people don&#8217;t even know this. This opt-out site has collected a listing of the most prolific cookie-givers, and shows you where to &#8220;opt-out&#8221; of those ads/tracking networks, by &#8220;blocking&#8221; future cookies from them with a &#8220;stale cookie&#8221;, one that the visited site cannot &#8220;overwrite&#8221; or otherwise replace.</p>
<p>I feel more confident in searching for resources since having undertaken this introductory course those years ago. A course that I could have availed myself of years sooner had I know they existed and was aware of the benefits they bring. This could have saved myself many hours of fruitless searches with non-relevant returns. In earlier courses and in my own reading I have learned how to make my Web-page code degrade and still be fairly compatible and forward-looking with most current generation browsers. Recommended reading is Elizabeth Castro&#8217;s <a href="http://www.amazon.com/World-XHTML-Fifth-Visual-QuickStart/dp/0321130073" target="_blank">HTML For the World Wide Web</a>. I started with the &ldquo;Fourth Edition&rdquo; of her excellent book. The &#8220;Fifth Edition&#8221; of this title is highly recommended. -Adding X-HTML and CSS (&ldquo;Cascading Style Sheets&rdquo;.) the Fifth Edition cited above is an indispensable desk side reference manual that no Web Page Builder should be without</p>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/html/web-journal-my-indoctrination-into-computers-the-world-wide-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five Essential Resources for Learning Jquery</title>
		<link>http://computersight.com/programming/javascript/five-essential-resources-for-learning-jquery/</link>
		<comments>http://computersight.com/programming/javascript/five-essential-resources-for-learning-jquery/#comments</comments>
		<pubDate>Mon, 19 May 2008 14:56:35 +0000</pubDate>
		<dc:creator><a target="_blank" href="http://www.triond.com/users/someguy675">someguy675</a></dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://computersight.com/programming/javascript/five-essential-resources-for-learning-jquery/</guid>
		<description><![CDATA[Are you a web developer looking to learn a JavaScript library fast?  If you are interested in learning Jquery this article is right for you.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a web developer who has recently learned jQuery.  My time is important to me so I had to learn jQuery fast.  Here are the list of the Five sites I found most useful for learning jQuery.</p>
<ol>
<li>
<h3><a href="http://jquery.bassistance.de/jquery-getting-started.html" target="_blank">Getting Started with jQuery</a></h3>
<p>This site contains great information about the jQuery library.  I already had knowledge of javascript and the document object model (DOM) so I found this a perfect place to start learning. The article starts from &#8220;hello world&#8221; and tries to explain the details of what is going on.</li>
<li>
<h3><a href="http://www.digital-web.com/articles/jquery_crash_course/" target="_blank">jQuery Crash Course</a></h3>
<p>The title is what started me off with this article.  I wanted to learn jQuery and I wanted to learn it fast.  This crash course takes you through the steps you need when learning the library.</li>
<li>
<h3><a href="http://www.learningjquery.com/" target="_blank">Learning jQuery</a></h3>
<p>This whole website is dedicated to teaching people how to learn and use jQuery.  It has an RSS feed so you can keep up-to-date with the sites latest tutorials.  The articles on the site are short and to the point.</li>
<li>
<h3><a href="http://15daysofjquery.com/" target="_blank">15 Days of jQuery</a></h3>
<p>The title of this article threw me off at first as I was interested in learning fast, and 15 days is a long time.  This is another great site with tutorials that include examples and an RSS feed so you can keep up-to-date with new tutorials.</li>
<li>
<h3><a href="http://www.pinceladasdaweb.com.br/blog/uploads/jquery/Jquery-Cheat-Sheet-1.2.png" target="_blank">jQuery Cheat Sheet</a></h3>
<p>If you&#8217;ve used cheat sheets before, you will understand how great it is to have this printed off to have with you at your desk.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://computersight.com/programming/javascript/five-essential-resources-for-learning-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
