<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title><![CDATA[LinuxQuestions.org - Blogs - raconteur's rotunda by raconteur]]></title>
		<link>http://www.linuxquestions.org/questions/blog.php?u=381240</link>
		<description>LinuxQuestions.org offers a free Linux forum where Linux newbies can ask questions and Linux experts can offer advice. Topics include security, installation, networking and much more.</description>
		<language>en</language>
		<lastBuildDate>Tue, 24 Nov 2009 17:40:14 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://e1h7.simplecdn.net/lqcdn/images/questions/images/misc/rss.jpg</url>
			<title><![CDATA[LinuxQuestions.org - Blogs - raconteur's rotunda by raconteur]]></title>
			<link>http://www.linuxquestions.org/questions/blog.php?u=381240</link>
		</image>
		<item>
			<title>Linux Desktop Weather Radar Application</title>
			<link>http://www.linuxquestions.org/questions/blog.php?b=1745</link>
			<pubDate>Mon, 16 Mar 2009 20:37:31 GMT</pubDate>
			<description><![CDATA[As many of you know, I'm the creator and maintainer of StormPredator, a Windows desktop weather radar application (but I didn't choose the name!). 
...]]></description>
			<content:encoded><![CDATA[<div>As many of you know, I'm the creator and maintainer of StormPredator, a Windows desktop weather radar application (but I didn't choose the name!).<br />
<br />
There are some Linux weather radar apps, but none that I've found that have the same sort of magic combination of ease-of-use and depth of features that some of their Windows counterparts enjoy.<br />
<br />
With that in mind, I'm launching an open-source project to create a Linux desktop weather radar display application.<br />
My plan (as of today) is to make it a KDE app and to allow the program to use data from a user-selectable range of data sources, including NEXRAD Level II or Level III data or published images from NOAA/NWS. The Level II data is a subscriber feed, the Level III and imagery are free of charge.<br />
<br />
Of course the program will be published under the GPL and will be free of any fees, advertisements, or entanglements.<br />
<br />
StormPredator's target audience is the casual user, with emphasis on ease of use and understanding vs. the technical jargon and visual clutter that pervades some other weather radar display programs, and I intend to carry that philosophy into the Linux application as well. Due to intellectual property agreements I have entered into, the program will bear no resemblance to its Windows counterpart, but I can and will make the user experience as straightforward and simple as I can while preserving the same range of features of other programs whose target audiences are more meteorologically and technically inclined.<br />
<br />
I haven't made announcements on /. or freshmeat yet because I need to set up a repository server with svn and forum/blog software, etc. and to get some preliminary documentation created for the project.<br />
<br />
If any of you reading this would like to participate in the project, please feel free to write me an email any time.<br />
If you have ideas for the application, please do post here, or to the project server (when it is activated), or write to me directly.</div>

]]></content:encoded>
			<dc:creator>raconteur</dc:creator>
			<guid isPermaLink="true">http://www.linuxquestions.org/questions/blog.php?b=1745</guid>
		</item>
		<item>
			<title>Sailing The Unforgiving C</title>
			<link>http://www.linuxquestions.org/questions/blog.php?b=1636</link>
			<pubDate>Wed, 25 Feb 2009 23:20:43 GMT</pubDate>
			<description>I have a long-held belief that universities are short-changing their programming students by glossing over many of the fundamentals of C. 
 
I hire...</description>
			<content:encoded><![CDATA[<div>I have a long-held belief that universities are short-changing their programming students by glossing over many of the fundamentals of C.<br />
<br />
I hire interns regularly, and occasionally keep them for longer periods.<br />
This is a college town, and my company has developed a reputation as a springboard, so I usually don't keep developers for very long because they go on to bigger and better things.<br />
I certainly don't resent that, I encourage all of them to do best for themselves, whether that is here in a fairly rural community or elsewhere in the big wide world.<br />
<br />
This company is a great venue for interns. We have a brick-and-mortar store, various Internet storefronts, and we sell various hardware and software packages (created here) as well as subscription services for a variety of products (also produced and served from here). That depth and variety means that we employ a wide range of technologies, platforms, and environments so I can, for the most part, offer interns their choice of projects.<br />
<br />
I spend much of my time teaching these folks the basics. They are graduates or impending graduates, but they're missing pieces of the puzzle that I need them to know before attempting to create or maintain mission-critical code.<br />
<br />
I've developed a keen sense for where potential employees are strong and weak, mostly from conversation during interviews and during project design and implementation discussions.<br />
Occasionally I will get a type A personality who thinks their education is complete and that my probing is somehow insulting.<br />
<br />
For those folks I usually just ask one or two simple questions:<br />
<br />
1: In a C++ class, what is the purpose of a virtual function?<br />
<br />
2: In the following code, there are two data type definitions. What is the difference between the two?<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<pre class="bbcodeblock" dir="ltr" style="
		margin: 0px;
		margin-right: -99999px;
		padding: 3px;
		border: 1px inset;
		width: 98%;
		height: 162px;
		text-align: left;
		overflow: auto">typedef struct
{
    char *pszBar;
} Foo;

typedef struct tagFoo
{
    char *pszBar;
} Foo;</pre>
</div>The answers, as all of you know, are:<br />
1: To facilitate class polymorphism.<br />
2: The second form allows the type to be referred to within the type definition.<br />
<br />
Not one of those folks has ever answered either of the questions correctly.<br />
<br />
The most common answer I get for the first question is that it allows the function to be overridden. Oof.<br />
There is a tie for the most common answer I get to the second question: &quot;there is no difference&quot;, or &quot;the second one won't compile&quot;. Ouch.<br />
<br />
These aren't esoteric questions, I need people to understand these basic concepts or I can't trust them to be able to create a double-linked list or a generic reusable class.<br />
<br />
I've given up trying to get the local University to teach the basics of C. My pleas fall on deaf ears.<br />
My interns can make a cool Java image animation but can't explain how to use a multidimensional array in C (or C++, for that matter -- they usually know what a vector is but can't describe it in detail).<br />
<br />
So, I spend time teaching people the fundamentals. I enjoy that process, and I have tangible evidence that I'm making a difference.<br />
Alongside my dog-eared copies of the K&amp;R bible and rows of O'Reilly books I have a binder with letters of appreciation from former interns.<br />
The common thread in those letters is that the relatively short time they spent here was worth more to them in their current careers than any course for which they paid dear money. <br />
I love hearing that, as you might imagine.<br />
<br />
Do you think recent graduates have received a full dose of the fundamentals?<br />
Is a deep grasp of the basics really necessary in today's environments?</div>

]]></content:encoded>
			<dc:creator>raconteur</dc:creator>
			<guid isPermaLink="true">http://www.linuxquestions.org/questions/blog.php?b=1636</guid>
		</item>
	</channel>
</rss>
