<?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>The Omni Programmer</title>
	<atom:link href="http://www.omniprogrammer.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.omniprogrammer.com</link>
	<description>Things I have learned writing software, teaching programming, and living!</description>
	<lastBuildDate>Tue, 05 Jan 2010 03:11:57 +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>My First Week With The Amazon Kindle</title>
		<link>http://www.omniprogrammer.com/?p=131</link>
		<comments>http://www.omniprogrammer.com/?p=131#comments</comments>
		<pubDate>Sun, 03 Jan 2010 22:46:48 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[EBook Reader]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Kindle Review]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=131</guid>
		<description><![CDATA[I received an Amazon Kindle for Xmas. It wasn’t a surprise as I put it on the Xmas list my family insisted I provide. My wife had me order it with her credit card to make sure it was exactly what I wanted. The order was placed at the beginning of December to ensure it [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I received an Amazon Kindle for Xmas. It wasn’t a surprise as I put it on the Xmas list my family insisted I provide. My wife had me order it with her credit card to make sure it was exactly what I wanted. The order was placed at the beginning of December to ensure it would arrive on time. It took just four days to arrive here in Montreal from Amazon in the US.</p>
<p style="text-align: left;">Originally I had the Sony PRS-600 reader on my list. I made the list in mid-November and the Kindle was not available in Canada. But at the end of November Amazon announced it would ship to Canada. Even then I leaned towards the Sony. It was smaller but with the same size screen. It had a touch screen and expandable memory. It was compatible with Adobe’s ePub and other formats. But in the end it was price that made the difference. At the beginning of December a Sony PRS-600 at Best Buy was $399 CDN plus tax for a total of $450 CDN. With a hot Canadian dollar this worked out to $428 US.</p>
<p style="text-align: left;">The Kindle was $259 US plus $21 shipping and $31 import fees for a total of $311 US which was $327 CDN. The $100 difference was significant and since there was the possibility the Kindle might just become a desk decoration if I didn’t like it I could not justify the Sony pricing. Sony did reduce the list price to $359CDN and even down to $299CDN briefly before Xmas. But that was too late for me. So from the second week of December till Xmas morning I waited to open my Kindle.</p>
<p style="text-align: left;">Of course I did far too much research on the Kindle. I learned that it used a Linux 2.2 kernel. I found web sites that explained how to get a console prompt on it, use foreign language fonts, and change the screen saver images. I also learned that for all of these hacks to work I would need to ‘jailbreak’ the Kindle and risk ‘bricking’ it. What I did find that interested me was free book sites such as Google books, FreeKindleBooks.org, and the Baen Free Library.</p>
<p style="text-align: left;">Xmas morning finally came and as is the tradition at our house we each opened a single present in advance of the rest of the family arriving in the afternoon when all the presents would be opened. For my wife Santa brought her a Fuval Edge aquarium. My son received an MSI laptop and my daughter received an iPod compatible clock radio (there was more good stuff in the afternoon). I received the Kindle.</p>
<p style="text-align: left;">Since the Kindle can only be ordered online its packaging is quite plain since it does not need to attract attention on a retailer’s shelf. The box is completely sealed and you must pull a tab to rip off a strip of the box. Fed Ex and UPS boxes do this well, Amazon does not. The tab to grab is too small. I almost went for pliers to hold the tab. I also got the Amazon leather portfolio case for the Kindle and I had to use scissors to open that box because the tab of its box came off in my hands. But I did get the box opened.</p>
<p style="text-align: left;">The Kindle is beautiful piece of technology. Although the pictures on the web site are quite accurate, seeing it up close and then holding it in your own hands was a thrill. It is white and you expect to find an Apple logo somewhere on it. It already has an image on its screen telling you to plug it in. It comes with a USB cable and an AC plug. The cable can either plug into a computer or the AC plug much the same as an iPhone. It is usable while it is charging so I proceeded to set it up.</p>
<p style="text-align: left;">When a Kindle is ordered you must set up an account on Amazon. The Kindle is then registered to you when it arrives. If you check off on the order that it is a gift then it arrives unregistered. But it takes only moments to unregister it from one account and then register it with a new account. Mine was unregistered and so I registered it with my own Amazon account. I had to accept the dreaded One-Click purchase feature. Unlike Apple that encourages one-click but allows you to enter a password for every iTunes purchase, Amazon only supports one-click on the Kindle. Some web sites expressed concerns in the event that your Kindle was stolen. However, if you report your Kindle as stolen to Amazon they will cancel purchases made by the thief and remove the books from the Kindle.</p>
<p style="text-align: left;">The Kindle uses the cell phone network for purchases. Americans know who their carrier is. Foreign buyers using the International Edition such as myself do not officially know who the carrier is. We suspect that in Canada it is Rogers. I do not know what the official reason is for withholding the carrier’s name. I suspect it is because they are overcharging Amazon and which we end up paying for and Amazon does not want to deal with a grass roots rebellion aimed at a particular carrier.</p>
<p style="text-align: left;">There is no fee for using the Kindle wirelessly to shop for books. You do not need a computer to buy books; you can do everything from the Kindle. Amazon pays the network charges for your browsing. In the US the price of a book includes the network delivery of the book. In Canada and other international markets Amazon adds an additional fee. In Canada that amounts to $2 US a book. Although there is an Amazon.ca that prices its books in Canadian dollars, all Kindle books must be purchased from Amazon.com and so all prices are in US dollars.</p>
<p style="text-align: left;">Americans can browse a number of web sites such as Wikipedia, Google, CNN, and CNET. Canadians can only access Wikipedia. Having access to an on-line encyclopaedia is good but since we already pay a premium to buy books I would think carrier X could allow more access. You also get an email address for your Kindle such as ‘yournamehere@Kindle.com’. In the US you use this address to email books to your Kindle. There is no email service in Canada.</p>
<p style="text-align: left;">The book shopping experience is quite good. The response from the web site is excellent and all the features of buying on a PC are there on the Kindle such as reading preview chapters. Once you decide on a book it really does arrive in less than a minute as the Kindle web page promotes. For my first book I purchased Death Masks by Jim Butcher at a cost of $8.59 US which comes to $9.03 CDN. This is pretty much in line with the cost of a paperback book. An American Kindle user would have paid only $6.59 US. It almost makes me think of driving to the US border to buy books. Alas, I would still pay the Canadian price even if I was in the US.</p>
<p style="text-align: left;">The real test of the Kindle was to read with it. So on December 27 and still suffering from an annoying common cold, I stayed in bed all day and read Death Mask. I found the experience identical to reading a dead tree version. The Kindle’s screen is sharp and clear. The buttons for turning pages are large and convenient. I strongly recommend the leather portfolio cover as it gives you more options for holding the Kindle comfortably.</p>
<p style="text-align: left;">There are six font sizes you can choose from. I started reading at size 4 with size 1 the smallest and size 6 the largest. By the second hour of reading I was down to size 2. There was no eyestrain. I was worried that the technology would be distracting while I read but that was not the case. It took about six hours to read the 384 page novel. There are 108,216 words. So I was reading at about 300 words a minute which is my average for works of fiction.</p>
<p style="text-align: left;">Before I put an e-book reader on my Xmas list I read the opinions of people who already had one. The consistent message was that a reader was ideal for sequential reading such as you do when reading fiction. For reading technical documents and manuals these reader were judged inferior to their paper versions. The Kindle now displays PDF files perfectly. However you cannot change the size of the text as you can for a native Kindle text. Coloured text in the PDF is too faint to read. Going to landscape mode helps and so in a pinch using a technical PDF on the Kindle is possible. There is a 9” Kindle but it is not available internationally and it costs more than $500.</p>
<p style="text-align: left;">I decided on a Kindle for reading fiction. I have only had it for a week so I cannot tell if the Kindle will be a constant companion. I am quite satisfied with it and I have no reservations in recommending it to anyone interested in trying the e-book reader waters. I also recommend an open source program called Calibre for managing the Kindle when it is connected to a PC or MAC.</p>
<p style="text-align: left;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=131</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fall 2009 Courses</title>
		<link>http://www.omniprogrammer.com/?p=117</link>
		<comments>http://www.omniprogrammer.com/?p=117#comments</comments>
		<pubDate>Mon, 24 Aug 2009 01:05:04 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Courses]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java Fundamentals]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Concordia]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=117</guid>
		<description><![CDATA[This coming Fall term I will be teaching two courses at Concordia University's Centre for Continuing Education. They are Java Programming Fundamentals on Tuesdays and Web Services and XML Processing on Mondays.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">This coming Fall term I will be teaching two courses at Concordia University&#8217;s Centre for Continuing Education. They are Java Programming Fundamentals on Tuesdays and Web Services and XML Processing on Mondays. The times for both classes are from 6 PM till 10 PM.</p>
<p style="text-align: left;"><strong>Java Programming Fundamentals (CEJV419/A1 from 2009-09-15 till 2009-11-17)</strong></p>
<p style="text-align: left;"> The objective of this course is to introduce object oriented programming using the Java language to students who have already been exposed to and used another programming language. What this means is that the course does not spend much time on how to write a loop or a selection statement. Rather, the way that Java implements these and other common language constructs will be reviewed.</p>
<p style="text-align: left;">The primary focus of this course is how to use Java to write truly object oriented programs. The concepts of developing classes that cooperate and work with other classes and implementing them as objects will be covered. The libraries unique to Java such as Swing and JDBC will be explored but creating classes to solve problems will be paramount to the course.</p>
<p style="text-align: left;"><strong>Web Services and XML Processing (CEJV659/A1 from 2009-09-14 till 2009-11-23)</strong></p>
<p style="text-align: left;">As the name implies there are two major topics in this course. The first is creating, writing, and reading files in the XML format. XML is the standard by which designers and programmers communicate information between processes on single computers and networks of computers. XML is a meta‑language or language for creating languages that provides a framework for developing specific formats of communication. Java has a very sophisticated family of libraries for XML and the course will examine them and see how they are used.</p>
<p style="text-align: left;">We typically write software that at some level contains methods or functions that we call upon to perform some work on our behalf. These are typically contained within the executable code of our programs. A Web Service turns this arrangement sideways by placing the methods on other computers somewhere on a network or the Internet itself. By using protocols that work within the protocols associated with Web Servers (hence the name Web Service) programs can be written without regard to the physical location of the code. Java provides the necessary framework and code to make using these services as easy as calling a local function. The format of the information that flows between an application on one computer and the web service it is consuming on another computer is a langauge created using XML.</p>
<p style="text-align: left;">For more information on these courses and other great courses at the Concordia University School of Extended Learning visit their web site at <a href="http://sarno.concordia.ca/conted/">http://sarno.concordia.ca/conted/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=117</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to Windows 7 &#8211; Part Two</title>
		<link>http://www.omniprogrammer.com/?p=103</link>
		<comments>http://www.omniprogrammer.com/?p=103#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:12:47 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Novell]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[windows 7 network]]></category>
		<category><![CDATA[windows 7 novell]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=103</guid>
		<description><![CDATA[With the installation complete it was time to test the critical software I use daily. The first was Microsoft Outlook and as I expected it worked perfectly. So did the rest of the Office suite.
Next on my list were the Java environments that I use, Eclipse and NetBeans. First I checked at java.sun.com for newer [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">With the installation complete it was time to test the critical software I use daily. The first was Microsoft Outlook and as I expected it worked perfectly. So did the rest of the Office suite.</p>
<p style="text-align: left;">Next on my list were the Java environments that I use, Eclipse and NetBeans. First I checked at java.sun.com for newer versions of Java and found a new release 1.6 r15. I downloaded both the 32 bit and 64 bit versions. I uninstalled the version I currently had, 1.6 r13, and then installed the new versions. I installed the 32 bit version first followed by the 64 bit version. Going to a command window I executed “java –version” and got back:</p>
<div>
<code></p>
<p style="text-align: left;">Microsoft Windows [Version 6.1.7600]</p>
<p style="text-align: left;">Copyright (c) 2009 Microsoft Corporation. All rights reserved.</p>
<p style="text-align: left;">
<p style="text-align: left;">C:\Users\neon&gt;java -version</p>
<p style="text-align: left;">java version "1.6.0_15"</p>
<p style="text-align: left;">Java(TM) SE Runtime Environment (build 1.6.0_15-b03)</p>
<p style="text-align: left;">Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02, mixed mode)</p>
<p style="text-align: left;"> </p>
<p></code>
</div>
<p style="text-align: left;">First, I was happy to see that the Server VM was being used and not the Client VM. Then I was puzzled why the version of Windows was 6.1.7600 rather than 7. Steve Ballmer, could you please explain this?</p>
<p style="text-align: left;">Next I installed Eclipse 3.5 and Netbeans 6.7 and both ran flawlessly. These are both 32 bit applications which is why I knew to have 32 bit Java installed. Since there is no 64 bit Flash for Windows you can only use the 32 bit version of IE and so that is another reason for keeping the 32 bit Java around.</p>
<p style="text-align: left;">Now it was time to test my remote access to my desktop at school. Dawson uses SonicWall technology for remote access so it is necessary to execute a program called NetExtender. NetExtender refused to connect to the college. When I first switched to Vista at home there was a period of a few months while I waited for a Vista version of NetExtender. When I switched from 32 to 64 it was necessary to replace the 32 bit version with a 64 bit version. I decided the solution might be to uninstall NetExtender and re-install it. I did and it worked. Now Remote Desktop works flawlessly to my machine at school.</p>
<p style="text-align: left;">Next up was a media server called PS3. As its name implies it is designed to stream a wide range of media formats to a PlayStation 3. When I ran it, the PS3 in my living room could not be found. So I uninstalled it, reinstalled it, and the PS3 saw the PS3. However Windows 7 supports DivX, Xvid, and H.264 so I will likely rarely use the PS3 server. Instead I can use Windows 7 as my DLNA server for most of my needs.</p>
<p style="text-align: left;">An interesting feature I discovered was that when I told Windows Media Player where my music, photos, movies, and videos were on my computer they became available through Windows Explorer by their category. So when I select Pictures in Windows Explorer it shows me all the directories I told Media Player about. My PlayStation 3 and Xbox 360 see these folders as well.</p>
<p style="text-align: left;">Now it was time to deal with the issue of anti-virus software since I could no longer use OneCare (can I get a refund Steve?). First I chose AVG because it was free. It installed without incident and the Action Center, the updated version of the Vista Security center, was happy to see it. The Action Center is a nice improvement as it is the single point of information about all issues such as security and updates.</p>
<p style="text-align: left;">There were two issues with AVG. The first was an annoyance; it would add a line of text to every email it scanned. I don’t want every email I send to be an advertisement for them. The second was the deal breaker. When downloading files with Windows Explorer the download would hang when it finished. When I closed the download box I immediately go a dialog asking if it could scan the file just downloaded. I suspect that the downloads were completed as the files were in their destination directory but this was too much of an annoyance. Out came AVG.</p>
<p style="text-align: left;">Next I selected Panda. Installation was smooth and it would not expire until the end of October. No annoying additions to emails and downloads worked flawlessly. The Action Center did whine, I mean give a warning that the format of the communication between itself and Panda was not up to the most recent set of rules for Win 7. But it seemed to work so I was happy.</p>
<p style="text-align: left;">I asked the technical staff at Dawson if they had a Windows 7 version of McAfee as the college licenses it for all its machines. They told me that the most recent Enterprise version, 8.7i, should work. So I uninstalled Panda and installed McAfee. No problems other than the same complaint from the Action Center about communicating with McAfee.</p>
<p style="text-align: left;">Then a strange problem cropped up. While streaming media from my Windows 7 computer to my PlayStation 3 the connection between the two would be dropped. Worse was the fact that when this happened the Windows 7 computer lost all access to my home network. I should mention that even before upgrading I was having network issues with the same computer. It would drop its connection randomly only to have it come back after I either rebooted my cable modem, my router, or the computer itself. I thought I was having router issues. The clue that this was not likely the router came from the fact that my Mac was fine with the network even when the Win 7 machine failed.</p>
<p style="text-align: left;">I ran “ipconfig /all” from a command prompt when the problem occurred and discovered that my computer believed that the media, the Ethernet cable, was disconnected. The light on the router and on the back of the computer said otherwise. The network interface on my P5K SE/EPU motherboard is based on an Atheros chipset. I searched for “Windows 7 atheros problem” and found my answer.</p>
<p style="text-align: left;">The Atheros interfaces on Asus motherboards occasionally fail to wake up when a computer goes to sleep and so behaves as if the media is disconnected. Not my problem as I don’t put my computer to sleep. Then I came across a number of messages from Windows 7 beta and RC users describing exactly the same problem I was having. No one knew why but there was general agreement on the solution. Turn off the chipset in the BIOS and install a network interface card.</p>
<p style="text-align: left;">I bought a D-Link DGE-530T for $29 and installed it. Since then the Win 7 computer has never lost its connection to my home network.</p>
<p style="text-align: left;">All the other software of mine that I have run since the upgrade has run flawlessly. My system used to take a little more than three minutes before I could run any software when started. With Windows 7 it is down to two minutes. Windows 7 will show you a desktop in under a minute but there are still processes being run in the background that forces you to wait another minute before the system is stable and responsive.</p>
<p style="text-align: left;">The upgrade of my school computer also went quite smoothly. That machine is an older Pentium D 3.4 GHz machine and was running Vista 32 bit. The upgrade to Windows 7 32 bit took a little over 3 hours whereas on my faster home computer it took an hour and a half. The only software that exhibited a problem was my Novell Client. I have come to the conclusion that software that uses the network interface for its work must be re-installed after an upgrade. I re-installed the Novell Client 2 for Vista/Windows 2008 and my connectivity to the college Novell based network was restored.</p>
<p style="text-align: left;">All in all I am quite pleased with Windows 7. There is still much to discover but what I have seen so far has pleased me. I like the new display of files found when searching in Windows Explorer. I like the Media Player categories working in Windows Explorer. The new task bar presents a new approach to managing multiple programs and multiple documents from a single program that actually improves work flow. The goofy Rolodex view is gone, too.</p>
<p style="text-align: left;">If you sat out Vista then it is time to junk that old clunker of an operating system called XP (sorry no cash for XP clunker deals). If you did adopt Vista then look at Windows 7 as Vista’s Service Pack 13 and upgrade. I wonder if anyone will line up at midnight on October 21<sup>st</sup> to get a retail copy of Windows 7?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=103</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upgrading to Windows 7 &#8211; Part One</title>
		<link>http://www.omniprogrammer.com/?p=98</link>
		<comments>http://www.omniprogrammer.com/?p=98#comments</comments>
		<pubDate>Fri, 14 Aug 2009 03:30:53 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[upgrading windows since 3.0]]></category>
		<category><![CDATA[Windows 7 installation]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=98</guid>
		<description><![CDATA[It is now one week since I upgraded my primary desktop system to Windows 7. Here is the what and why of what I did, part one.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">It is now one week since I upgraded my primary desktop system to Windows 7. I had been an early adopter of Vista and had a number of problems, even an occasional BSOD in the early days. I delayed putting Vista on my school computer because it did not support Novell which is used at Dawson College where I teach. Today I upgraded my school computer and I am fully integrated into the Novell structure. Here is the what and why of what I did, part one.</p>
<p style="text-align: left;">My department at Dawson College subscribes to a program at Microsoft called the MSDNAA that is a subset of the MSDN subscription program for commercial developers. This gave me access to Windows 7 on August 6<sup>th</sup>. The first decision I had to make was whether to do an upgrade or a clean install.</p>
<p style="text-align: left;">In the days of DOS 1, 2, 3, 4, 5 and 6 an upgrade involved replacing the hard disk boot code and creating a new directory for the DOS utilities. The only time you would do a clean install by reformatting the hard disk, installing the OS, and then re-installing all your apps, was when an application crashed the hard disk so that it would not boot or you caught a nasty file/boot sector deleting virus that crashed the hard disk so that it would not boot.</p>
<p style="text-align: left;">Then came Windows 3.0. Finally a PC user could delude themselves into thinking they had a system on par with the Mac. Microsoft employed the concept of sharing to the OS in the form of the dynamic link library commonly known as the DLL. A DLL was meant to be a block of executable code that could be shared by many different applications so that software could look and work similarly. To ease the sharing these DLL files were stored within the Windows OS directory structure. Boy, did Bill and the gang get that idea wrong.</p>
<p style="text-align: left;">Many developers shipped their products with updated versions of commonly used DLL files. Unfortunately there was poor policing of this code and so the APIs of the DLLs were sometimes changed. This effectively broke any program on your system that depended on a particular version of a DLL that had just been replaced by a different developer’s product.</p>
<p style="text-align: left;">Another problem, one that still exists to some extent even today on both Macs and PCs are programs that don’t delete everything they placed on your hard disk. The system16 folder in Windows 3.0/3.1 would grow with every new piece of software loaded but rarely shrink when the program was removed.</p>
<p style="text-align: left;">It should be noted that Microsoft now advises against using shared DLLs. They are recommending as a best practice that we go back to the days of DOS when installing a program meant copying all its files into its own folder on the hard disk. <span style="text-decoration: line-through;">This is how Unix/Linux has done it forever. </span> Thank you to Eugene in a comment below to point out I was wrong in my Unix/Linux comment.</p>
<p style="text-align: left;">This led to the general rule for any power user of Windows 3.0/3.1 to reformat and re-install Windows every six months. This idea of occasionally tearing down and then rebuilding your home on the PC was looked at as a prudent form of preventative maintenance right up to Windows 2000. Old habits die hard and I still hear, from time to time, that one of my students has just reinstalled Windows XP because the system felt sluggish.</p>
<p style="text-align: left;">As I progressed though the versions of Windows there was no question of reformatting before installing a new OS. Even if Microsoft allowed an upgrade there would still be lots of DLLs and device drivers left behind that were incompatible with the new OS. As well Microsoft rarely deleted old OS files during an upgrade. They remained never to be used but still taking up space.</p>
<p style="text-align: left;">There was a time when I thought installing a new OS was an exciting event. Yes, I know I needed to get out more. But these days I have over 50 software packages on my system and I no longer have the interest or time to reload them. I make regular image backups as well as file backups so that I can recover from a catastrophe with a minimum of effort. So there really was no real choice for me, I was going to upgrade rather than do a clean install.</p>
<p style="text-align: left;">My home system was Vista 64. Switching from 32 to 64 can only be done as a clean install and I had done that two years ago. I inserted the Windows 7 Professional DVD and began the install process. The first screen gives you two choices, check compatibility online or install. Don’t bother with checking for compatibility online as the install choice does a compatibility check anyways. Then you promise to love Microsoft (the EULA) and then you are given the choice to Upgrade or Clean Install. I chose Upgrade.</p>
<p style="text-align: left;">After a few minutes I received a compatibility report. It told me I must uninstall Microsoft OneCare and I must reboot because the Windows 7 setup added some files to my Vista OS. It also warned me that iTunes would not work (I ignored this and iTunes works fine) and it also gave me some warnings about some other devices such as my Canon scanner. I removed OneCare, rebooted, restarted the Windows 7 setup, and got another compatibility report with only warnings that I chose to ignore.</p>
<p style="text-align: left;">The starter’s pistol fired and the installation began. On my desktop with an E8500 processor and 4 gigs of RAM it took about an hour and a half. When I did the upgrade on my office computer with a Pentium D 3.2GHz and 3.2 Gig of Ram and using the 32bit version of Windows 7 it took just under three hours.</p>
<p style="text-align: left;">An interesting event of note is the point at which you enter the licence number. This occurs as just about the last step. I do not know if you could rollback at this point. It almost seems like a decision made to annoy people trying to install Windows 7 with disreputable license numbers that would fail. But after the last reboot I logged in and everything seemed to work.</p>
<p style="text-align: left;">There was one major change I made to the way I use my computer just prior to the installation. As an old time Windows user I refused to be anything less than an administrator whenever I logged into my computer. Until User Access Control (UAC) appeared in Vista you had to switch users if you needed administrator privileges if your current account did not have them. But old habits die hard and I remained an administrator when I logged in at home and at school.</p>
<p style="text-align: left;">Well, no more. Just before I upgraded I created an administrator level account and then downgraded my user account to just plain user. This is a best practice that has existed in the world of Unix/Linux. Until Vista came along it was a practice that was a pain to follow through on. With the threat of Trojans and botnets lurking on the Internet it was long overdue on my part to adopt this best practice.</p>
<p style="text-align: left;">It has been a week at home and a day at my office but no Blue Screens Of Death (are they still blue on Win 7?). Part 2 of this article will look at the very few problems I had with existing software and drivers and how I solved them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=98</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Movie Roundup: The Watchmen, Wolverine, Star Trek, Terminator Salvation, and Transformers</title>
		<link>http://www.omniprogrammer.com/?p=92</link>
		<comments>http://www.omniprogrammer.com/?p=92#comments</comments>
		<pubDate>Fri, 26 Jun 2009 05:14:41 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Movie Review]]></category>
		<category><![CDATA[Star Trek]]></category>
		<category><![CDATA[Terminator Salvation]]></category>
		<category><![CDATA[The Watchmen]]></category>
		<category><![CDATA[Transformers: Revenge of the Fallen]]></category>
		<category><![CDATA[X-Men Origins: Wolverine]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=92</guid>
		<description><![CDATA[Before I started to write this I checked out Roger Ebert’s web site. The only one of the five movies he liked was Watchmen and likely because it was the only movie with exposed boobies. I thought I would write about these five movies from the perspective of someone who though Clint Eastwood’s Gran Torino [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Before I started to write this I checked out Roger Ebert’s web site. The only one of the five movies he liked was Watchmen and likely because it was the only movie with exposed boobies. I thought I would write about these five movies from the perspective of someone who though Clint Eastwood’s Gran Torino was a manipulative tearjerker.</p>
<p style="text-align: left;">I had never heard of The Watchmen graphic novel until I came across word of this movie. I had already felt burned by The League of Extraordinary Gentlemen. It was an imaginative graphic novel turned in to a lousy film. Shame on you Sean Connery. I bought The Watchmen novel and read it. It was a powerful story of group of somewhat retired vigilantes trying to figure out who might be out to kill them. It expressed a theme whereby the difference between the hero and the villain is, is, hell, there is no difference. When Tim Burton made his Batman, itself derived from the Dark Knight graphic novel, I came away from the picture feeling that other than Batman’s cooler toys, he and the Joker were both sociopaths with enhanced psychopathic tendency.</p>
<p style="text-align: left;">So back to the movie The Watchmen. I read all the hype and watched all the trailers and went to see it in IMAX on opening day. What I saw was unlike any other graphic novel adaption that I was familiar with. Here was a film that was faithful to a fault to the key elements of the novel. It was not the director’s re-imagining but rather a faithful recreation. Alas that was also probably its only serious fault for me as such a faithful reproduction ignored the fact that movies are different art form from the graphic novel. I found it somewhat distracting to want to whip out the book and start putting checkmarks next to every panel reproduced in the movie.</p>
<p style="text-align: left;">That said, it remained a powerful and emotional take on a world where when criminals put on masks to make their identity difficult for police to determine another group of citizens donned masks to apprehend these criminals by ignoring the constitution. I saw it twice and I can’t wait for the Blu-Ray version that I hear will be 20 minutes longer. And don’t forget the boobies.</p>
<p style="text-align: left;">The next movie I saw was X-Men Origins: Wolverine. As a kid I was into DC comics. Every issue was a complete story about a perfect being. Marvel comics were full of heroes with more hang-ups than a pimply-faced 13-year old (me). I wanted my heroes perfect and Marvel’s definitely were not. Then there was the fact that Marvel comics were like the soap operas my grandmother watch. Not all that much actually happened in an issue and it took 5 to 10 issues for a story to play out. I was never sure if I could get the money for the next issue.</p>
<p style="text-align: left;">Of course today all comic book heroes are riddled with angst, except Superman who remains the moron he always has been. Wolverine purports to reveal the origin of this character. Here it is, he is a Canadian Highlander (Sean Connery reference implying crap) with sociopathic and enhanced psychopathic tendencies. He is also not too bright and easily manipulated. Wolverine is the loser superhero and X-Men Origins: Wolverine is a loser movie. No amount of special effects or decapitations can make this movie anything other than a bore. It won’t be added to my Blu-Ray collection.</p>
<p style="text-align: left;">In the seventies I lived with three other guys in a house in downtown Montreal. Every weekday evening we all sat together to watch reruns of Star Trek on our colour TV, which was a big deal because for all of us we had only watched the original series in black and white. We watched the three seasons of the show over and over again. We could figure out what episode we were going to watch in the first 10 seconds. Unbelievably, we also all had girlfriends. Since then I have seen every episode of every spin off. I believe that the best spin off was Deep Space 9, followed by The Next Generation, Voyager, and pulling up the rear was Enterprise. The only great Star Trek movie for me was the Wrath of Kahn though the Voyage Home had its moments (I still giggle at the scene of Scotty talking to a Mac mouse and then proceeding to write the formula for transparent aluminum on the same machine).</p>
<p style="text-align: left;">I should also say that I really liked Cloverfield from the JJ Abrams factory. So like most other 55 year old Trekkies (or Trekkers or Treksters or get a life-ers) I had high expectations. I wanted a Kirk who could speak an entire sentence without dramatic pauses. As for Spock, well I downright enjoyed Zachary Quinto’s bitchy Spock. There is no question that like all Trek movies this one was hampered by the formula. Trek movies play a little like romantic comedies. Kirk gets Spock, Kirk loses Spock, Kirk’s smartass friend McCoy speaks in quips, and then Kirk gets Spock back. You can easily replace Kirk and Spock with Picard and Riker or Archer and T’Pau. That said, the JJ Abrams take on this formula was for the most part fresh and invigorating. But who the hell throws an able bodied crewman off a ship before regrouping for battle? Seemed like Mr. Spock’s little Spock was doing the thinking on that one. I saw it twice, regular and IMAX, and can’t wait for the Blu-Ray.</p>
<p style="text-align: left;">There was no salvation in Terminator Salvation. I could not help but compare it to the far superior but sadly cancelled The Sarah Connor Chronicles. John Connor as played by Christian Bale was flat and did not come across as someone who could inspire the resistance. If anything I would have recast the movie with Sam Worthington as Connor and Bale as Marcus. I anticipated a movie about a great leader facing insurmountable foes. What I got was just a lucky bloke. The only tiny saving grace was Arnie’s cameo. If I were a young actor then the scene with Arnie would make me afraid, very afraid (and possible out of work in 25 years). And what about SkyNet’s motivation? I would have dearly wanted to gain some insight into this A.I. I already own the first Terminator on DVD, I think I’ll buy T2 on Blu-Ray and skip this one.</p>
<p style="text-align: left;">Finally, there is Transformers: Revenge of the Fallen. Much has been written of its $200 million budget and the 145 terabytes of data, of Megan Fox’s non-acting and Shia LeBeouf’s screaming and crying. Reviewers have been trying to outdo themselves trashing the movie. Helloooooo! Ever watch the cartoon? It sucks. Transformers is not Shakespeare or Greek Tragedy. It’s about machines pounding the snot out of each other. In updating it to 2009 the machines also kill each other and kill lots of people. The presence of humans is nothing more than the flimsy framework upon which the machine on machine violence hangs. I played with toy soldiers and built forts in the snow. When I played war as a kid there were no good guys or bad guys, just action. That is what Transformers is about and nothing more. Michael Bay will be passed over for an Oscar (shame). But for every kid who remembers being a kid I say “Thank you Michael”. I just saw it today and will go and see it in IMAX on the weekend. It will be added to my Blu-Ray collection, too.</p>
<p style="text-align: left;">In summary, see the Watchmen, ignore Wolverine, enjoy a guilty pleasure with Star Trek, no redemption for Salvation, and Autobots, transform! And two thumbs up for the boobies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=92</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress Report On My iPhone Course</title>
		<link>http://www.omniprogrammer.com/?p=83</link>
		<comments>http://www.omniprogrammer.com/?p=83#comments</comments>
		<pubDate>Tue, 23 Jun 2009 19:41:56 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[online course]]></category>
		<category><![CDATA[iPhone Programming]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=83</guid>
		<description><![CDATA[I am writing this just before I watch lecture 4. I have completed assignments 1a, 1b, and 2a. I will be able to start 2b after today’s lecture. I will reserve detailed comments about the course until I finish it but I will say that Allan has a much better tan than Evan.
The assignments have [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I am writing this just before I watch lecture 4. I have completed assignments 1a, 1b, and 2a. I will be able to start 2b after today’s lecture. I will reserve detailed comments about the course until I finish it but I will say that Allan has a much better tan than Evan.</p>
<p style="text-align: left;">The assignments have been the most fun and the most frustration. The frustration comes from using Xcode. After years of working with Eclipse, NetBeans, and occasionally Visual Studio, the Xcode environment seems primitive and irritating. Its default setting is what I refer to as floating window hell. Years ago my department at Dawson chose Eclipse over the forerunner of NetBeans called Forte for the same reason.</p>
<p style="text-align: left;">While writing this I have spent a few minutes reconfiguring Xcode to its All-In-One setting.  To change to this setting I went to Xcode-&gt;Preferences-&gt;General but you need to close the project first to make the change. The only problem is I cannot find a Close Project menu item. So I closed Xcode, restarted, and made the change before I loaded my project. The All-In-One display now looks more like what I am used to although it does have one annoyance. To view a file in the single window you must only single click as double clicking opens the file in another window. I will work on assignment 2b in this configuration.</p>
<p style="text-align: left;">I dearly miss the code completion feature of my other development environments. In those environments once you type the period after an identifier you get a drop down list of available methods. In Xcode and because Objective-C uses a different idiom (the square brackets) I need to start typing and the environment will at some point guess what I might want. Since it frequently guesses wrong I have tried to change the guess using arrow keys and tab keys but to no avail. I just have to keep typing until it recognizes I am spelling out what I really want. If you know what I am doing wrong then please let me know.</p>
<p style="text-align: left;">Don’t get me started on the fact that I have to actually build and go to see my errors. Boy, I am such a whiner!</p>
<p style="text-align: left;">The fun comes from the challenge of completing the assignments. I am learning a new language, learning new objects, and learning new ways to make mistakes. But then this is why I became obsessed with computers in the first place, the challenge and the exhilaration of making some code do something. Heck, I am even enjoying the read of ‘The Objective-C 2.0 Programming Language’ pdf. And while I may write more about my frustrations, the fun far exceeds them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=83</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why You Would Rather Die (or Get Well) in Canada</title>
		<link>http://www.omniprogrammer.com/?p=73</link>
		<comments>http://www.omniprogrammer.com/?p=73#comments</comments>
		<pubDate>Tue, 23 Jun 2009 01:47:39 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=73</guid>
		<description><![CDATA[This week I am taking my wife’s uncle to the hospital for radiation therapy. He is 88 years old and is slowly dying from lung cancer. As a cancer patient he has been visiting the oncology clinic every three weeks since his diagnosis to assess the course of the disease. At his last visit he [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">This week I am taking my wife’s uncle to the hospital for radiation therapy. He is 88 years old and is slowly dying from lung cancer. As a cancer patient he has been visiting the oncology clinic every three weeks since his diagnosis to assess the course of the disease. At his last visit he complained of a lump just under his arm. Three days after that regular appointment he met with a radiation oncologist who decided that a series of radiation treatments would reduce the discomfort caused by the lump. Three days after that visit he was scheduled for a CT scan, two days after than he was marked for the radiation treatment and three days after that, which was yesterday, he began a series of five treatments.</p>
<p style="text-align: left;">To my mind there are only three times in our existence when we are all truly equal. They are the moment of birth, the moment of death, and the duration of an illness. Other than that we are definitely not all equal. Some of us are fat, some of us are thin, some of us are rich, and some of us are generous, and so on.</p>
<p style="text-align: left;">I have always been troubled by any government program that assumes we are all equal. I believe in merit in making decisions. Does one car merit my interest because it is more fuel efficient than another? Does the car that does 0 – 60 faster than other cars merit my interest? I don’t drive a Chevrolet Malibu because it may protect jobs in the auto industry because to do so would imply that all cars are equal in value. I drive a Toyota Prius because, for my individual sense of worth, it merits my choice.</p>
<p style="text-align: left;">I am angered by my public education system that assumes all students are equal. If we were all equal then presidents and prime ministers could be chosen by lottery and not elections. Barack Obama was elected president of the U.S. because the American voter determined that he merited the position. But what happens when merit is inappropriate, possibly unethical and results in the death of innocents.</p>
<p style="text-align: left;">When we are ill we suffer. The wealthy suffer the same as the poor. The employed suffer the same as the unemployed. The Asian suffers the same as the Arab. Yet it brings me close to tears to watch the debate in the United States of America over health care. As a Canadian I see the U.S. system as one of rewards. The wealthy are rewarded with better health care than the poor. But their pain is the same.</p>
<p style="text-align: left;">The Canadian system is sometimes referred to as a single payer system. Almost all costs associated with the health of a Canadian are paid for by the government. Access to health care services is based on the seriousness of the illness and never who you are, who you know, or how much money you have. I know that as a college instructor I can expect the same quality of health care as every other Canadian. My mother, who worked as a hairdresser her whole life, was treated for breast cancer with a mastectomy thirty years ago and survived. The illness and its treatment did not wipe out her savings. She did not have to pay for costly insurance that would have been cancelled because she had become a ‘cancer risk’.</p>
<p style="text-align: left;">Is the system perfect? Absolutely not! In some jurisdictions in Canada you may have to wait up to a year for procedures such as hip replacement or cataract surgery and this has contributed to governments losing elections. Go to an emergency ward on a Friday evening with a non life threatening illness, such as a broken bone, and you may wait several hours for treatment. Show up as a result of a heart attack or an automobile accident and you will receive the treatment you need, on par with any hospital in North America, as quickly as you need it. Insurance or government bureaucrats don’t determine when you are treated or what treatment you are entitled to. Doctors and nurses make those decisions.</p>
<p style="text-align: left;">So I say to my American neighbours, recognize that we are all equal when we are ill. Embrace a system that treats us as equals because this is one of the rare times that we truly are. If you are more fortunate than others then do what Canadians do, donate to your hospitals and get a wing named after you. It is not socialism, liberalism, communism, conservatism, and it is not about what God wants us to do. Universal health care is simply the human thing to do.</p>
<p style="text-align: left;">Back to my experience with my wife’s uncle, we arrive at the Oncology department of the Montreal General Hospital exactly on time and present his health card. We are directed to a waiting room. In less than five minutes he is brought into the treatment room and we are back in the car in less than a half hour. Keep in mind that these treatments will not prolong his life, just make it more comfortable. I have never heard of an insurance policy that had a comfort clause for an 88 year old. And I know that should the day come when I may need this kind of treatment it will be there for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=73</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Day at Stanford Learning to Program the iPhone</title>
		<link>http://www.omniprogrammer.com/?p=63</link>
		<comments>http://www.omniprogrammer.com/?p=63#comments</comments>
		<pubDate>Sun, 21 Jun 2009 18:11:04 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[online course]]></category>
		<category><![CDATA[stanford]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=63</guid>
		<description><![CDATA[Before the registrar at Stanford writes me a cease and desist letter, let me state that I am not a student at Stanford. Rather I have downloaded the 17 lectures and 3 supplemental sessions of the CS193P course entitled iPhone Application Development from Open Stanford. According to an article published on the Stanford web site [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Before the registrar at Stanford writes me a cease and desist letter, let me state that I am not a student at Stanford. Rather I have downloaded the 17 lectures and 3 supplemental sessions of the CS193P course entitled iPhone Application Development from Open Stanford. According to an article published on the Stanford web site (<a href="http://news.stanford.edu/news/2009/may20/million-052009.html">http://news.stanford.edu/news/2009/may20/million-052009.html</a>) there have been more than a million downloads of the videos and course material. This course ran from April 1, 2009 till June 8, 2009.</p>
<p style="text-align: left;">You can get the course material in a number of ways. At the ITunes Store just search for ‘Stanford iPhone’ and it should be the first course shown in the iTunes U box. You can also download the material from the course web site at <a href="http://www.stanford.edu/class/cs193p/cgi-bin/index.php">http://www.stanford.edu/class/cs193p/cgi-bin/index.php</a>. While iTunes has all the lectures and slides, the Stanford site also includes the class notes and the assignments.</p>
<p style="text-align: left;">With everything in place I sat down in my home office to watch lecture 1. I played the lectures on my Windows desktop and had Xcode and the iPhone SDK fired up on my MacBook. The course does not have any information on how you get the Xcode and iPhone tools or how they are configured. These tools are free from Apple and only require that you register as a developer. The Apple tools include an iPhone simulator and that is all you need for the course, owning an iPhone or iTouch is not required. If you do have one of these devices then there is another program at Apple called the iPhone Developer Program that for $99 provides you with the software to test your apps on your iPhone or iTouch and also gives you the ability to submit apps to the App Store.</p>
<p style="text-align: left;">With everything in place and the lights dimmed (and some snacks nearby) I began the lecture. The video was very well done. A cameraperson was used so that the lecturer, Evan Doll, was always centered in the frame. He remained in the same place adjacent to the screen in the lecture hall and the lighting on him was ideal. When he was speaking the video showed only him. When he spoke of what was on the slides then only the slides were shown. This tells me that the output from his Mac was mixed with the feed of the camera. The sound quality was excellent as he wore a wireless microphone. Although you could not hear students who asked questions, Evan did repeat the question in most instances. I would definitely give the video production four stars.</p>
<p style="text-align: left;">The lecturers for this course, Evan Doll and Alan Cannistraro, are all Apple employees as Stanford is just down the road from Apple. This means that they bring to the course the insight only an Apple software engineer could have. A senior Apple engineer, Paul Marcos, is also part of the team.</p>
<p style="text-align: left;">The first 20 minutes of the 1 hour lecture was taken up with the usual information given to students in the first class of any course. As a college teacher I was interested in how the course was to be managed, you probably won’t be. You can skip to the 23:22 mark where the actual course content begins. From this point Evan gave an overview of the devices, the software stack on the devices, and the frameworks used in developing the software. The presentation ended with a demonstration of a simple app that placed a slider on the iPhone and a label that displayed the value of the slider.</p>
<p style="text-align: left;">It was very handy to be able to watch and pause the demonstration while I did the same steps on my Mac. I felt for Evan when he made some minor slips, which he did notice and correct, only to have the app crash the iPhone simulator. My first attempt also failed to work. Being unfamiliar with the Xcode environment I could not see what I did wrong so I just started over again and the second time it worked perfectly.</p>
<p style="text-align: left;">The code from the class is also available on the Stanford site but there is minor problem with it. The project expects a pre-release beta 3.0 SDK and I was working with a 2.2 SDK. A little Googling led me to the instructions to how to change the SDK in a project in Xcode. Evan’s code worked perfectly then. This did tell me that the course material was not dependent on a specific version of the SDK and so I will switch to the 3.0 SDK for the rest of my assignments especially as I just updated my phone to 3.0.</p>
<p style="text-align: left;">The part of the course that I spent the most time on was the assignments. The first assignment (1a) was quite simple and produced an iPhone display with text and the image of your choice. The second assignment was a bit more challenging. The course assumes that you know C programming primarily and that you have some object oriented experience likely with C++ or even C#. The language of the iPhone and the Mac is Objective-C. Like C++ it allows for the writing of standard C code. And like C++ it has been extended to support objects. The first difference I encountered is in the syntax of the object oriented coding. I have worked with C++ and taught courses in it for many years. C++ uses dot notation to access members of an object. Objective-C uses bracket notation. For example:</p>
<p style="text-align: left;">C++        obj.doSometing(x);</p>
<p style="text-align: left;">Objective-C:       [obj doSomething:x]</p>
<p style="text-align: left;">The second assignment (1b) requires you to write a console application for the Mac that uses collections, enumerations, and introspection. If you have never coded in C/C++ before then this is not a course for you. As it was it took me almost three hours to complete the second assignment. I used Google frequently to fill in my gaps in Objective-C knowledge. In the last part of the assignment I spent a half hour trying to find the syntax for casting an object to a string (specifically an NSString) only to discover that I only had to use C syntax as in (NSString *)obj .</p>
<p style="text-align: left;">There are seven assignments in the course though they may consist of more than one part as in assignment 1. I know that one of the Assignment 2 parts requires assignment 1b. Although there is no one to grade your work you should work on them to get the most from the course. After the seven assignments there is a project of the student’s choosing. This is what I hope will be my first app for the App Store.</p>
<p style="text-align: left;">When I got my first Mac two years ago and my iPhone last year I always planned to learn to program these machines in their native language. Now is my opportunity. The Stanford lectures are definitely the way to go for me. I’ll write about the course again when I finish it.</p>
<p style="text-align: left;">UPDATE: Just watched the second lecture and had I done so before starting assignment 1b i would have been finished in much less than three hours. So before I do assignment 2 I will watch lecture 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=63</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Encouraging Enrolment in Computer Science Technology in English at CEGEP in Quebec</title>
		<link>http://www.omniprogrammer.com/?p=54</link>
		<comments>http://www.omniprogrammer.com/?p=54#comments</comments>
		<pubDate>Sat, 20 Jun 2009 15:06:41 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Dawson College]]></category>
		<category><![CDATA[Information Technology]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=54</guid>
		<description><![CDATA[Two years ago my department submitted a proposal to the Canada–Québec Agreement On Minority-Language Education And Second Languages Instruction. This is a fund established to support projects in education in the English language in Quebec. Similar agreements exist to support the French language in the other provinces. At the time of the submission enrolment in [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Two years ago my department submitted a proposal to the Canada–Québec Agreement On Minority-Language Education And Second Languages Instruction. This is a fund established to support projects in education in the English language in Quebec. Similar agreements exist to support the French language in the other provinces. At the time of the submission enrolment in Computer Science Technology programs was quite low and we felt the need to put together a number of media projects aimed at high school students to get them thinking about a career in IT and doing their studies in a CEGEP technical program.</p>
<p style="text-align: left;">For those of you unfamiliar with what a CEGEP is let me take a moment to explain. In Quebec, right up to the late sixties, a student completed high school in grade 11 and then either went to University for four or five years to get an undergraduate degree or went to a technical school to learn a trade (or a hospital to become a nurse). In most other Canadian provinces or US states high school lasted until grade 13. Watching TV in the sixties I was puzzled why American teenagers all had cars to go to high school when I would only get my driver’s licence during my last year of school.</p>
<p style="text-align: left;">The Government of Quebec recognized a need to overhaul the education system in the sixties and so created the CEGEP* system that provided two additional years of education for students prior to university in a college rather than high school setting. These colleges also provided technical training, similar to community colleges elsewhere, for students for careers as nurses, medical laboratory technicians, computer programmers, graphic designers, and many more. All told there are 140 different technical programs in Quebec. Whether the two year pre-university or the three year technical program, tuition is free.</p>
<p style="text-align: left;">Since the infamous dot-com bubble burst at the beginning of the century enrolment in Computer Science programs everywhere declined. The decline has been so dramatic that there are real shortages of graduates to fill positions in the IT industry right now and for the foreseeable future. In 1999 there were 145 students in the first year of our program at Dawson College. Last year there were 46. Universities and colleges around the world in conjunction with their governments have been developing programs to encourage enrolment in Computer Science.</p>
<p style="text-align: left;">When the project was submitted in 2007 it was rejected. In 2008 we were asked to submit the project again but this time to involve the other English language CEGEPS with Computer Science Technology programs. In November 2008 the chairs of the departments from Vanier College, Champlain College, John Abbott College, and myself from Dawson met to review the original proposal. We decided to resubmit the proposal with some minor changes. Just prior to submitting it we also brought on board Heritage College. On June 8 of this year I received an email telling me that the project was approved for the coming academic year 2009-2010.</p>
<p style="text-align: left;">The crux of the project is to introduce careers in the IT field to grade 8, 9, and 10 students and their parents. To that end we plan to produce a number of videos highlighting the different types of work our graduates perform in the workplace. A web site will be set up as place where high school students and their parents can learn more about IT. Each college will mount an interactive IT event aimed at these same students to raise their awareness of IT. There will be special emphasis on women and minorities in the IT field.</p>
<p style="text-align: left;">If you have bothered to get this far in this post then there is something I would like from you. While our project will be developing media about the IT industry I am sure that there is a lot of material already produced for the same purpose as our project. Your company or your school may have developed recruiting videos. Your industry association may have developed programs for students. Whatever you may have and if you are willing to share it then we would like to see it and possibly include it in our project. Everything that we produce we will share as well. Wherever you are, Canada, the US, or elsewhere, doesn’t matter. What we all share is all that matters and that is to encourage students to seriously consider a career in the IT industry and to get the right education for it.</p>
<p style="text-align: left;">You can reach me, Ken Fogel, at kfogel@dawsoncollege.qc.ca</p>
<p style="text-align: left;">* “Collège d&#8217;enseignement général et professionnel”, meaning &#8220;College of General and Vocational Education”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=54</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Workaround to WampServer Apache Fail to Start Problem</title>
		<link>http://www.omniprogrammer.com/?p=50</link>
		<comments>http://www.omniprogrammer.com/?p=50#comments</comments>
		<pubDate>Fri, 19 Jun 2009 22:50:47 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Wamp]]></category>
		<category><![CDATA[WampServer]]></category>

		<guid isPermaLink="false">http://www.omniprogrammer.com/?p=50</guid>
		<description><![CDATA[While writing my article on configuring Eclipse for PHP in Windows for my Ulitzer (http://kenfogel.ulitzer.com) page I encountered a problem with the WampServer. Initially WampServer would start up properly and work for a while. But after using the Restart All Services a few times because of changes to php.ini or to add a new alias, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">While writing my article on configuring Eclipse for PHP in Windows for my Ulitzer (<a href="http://kenfogel.ulitzer.com/">http://kenfogel.ulitzer.com</a>) page I encountered a problem with the WampServer. Initially WampServer would start up properly and work for a while. But after using the Restart All Services a few times because of changes to php.ini or to add a new alias, the Apache server would no longer start. Worse yet, rebooting the system had no effect. Once Apache failed the only way to resolve it was to reinstall WampServer. Ugh!</p>
<p style="text-align: left;">I know the problem is likely a changed configuration file and probably unique to the Windows environment. So far the problem has occurred on a Vista 64 and a Vista 32 system. I just wanted a fast solution and I found one. Start the Apache server directly with httpd.exe.</p>
<p style="text-align: left;">As I wrote in my article, my WampServer is installed in the directory c:\wamp. To start Apache navigate to the folder containing httpd.exe and double click on it. On my system that is in: C:\wamp\bin\apache\Apache2.2.11\bin</p>
<p style="text-align: left;">You could even create a shortcut to it on your desktop. When started, a command window will open. As long as the window is opened the Apache server is running. Close the window and Apache shuts down.</p>
<p style="text-align: left;">Now at my leisure I will try and find the real cause of the problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.omniprogrammer.com/?feed=rss2&amp;p=50</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
