<?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>Jeff Blogs &#187; Development</title>
	<atom:link href="http://jeffblogs.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeffblogs.com</link>
	<description>Connecting the Dots One Prime Number At a Time</description>
	<lastBuildDate>Mon, 16 Apr 2012 06:22:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>JCal Pro</title>
		<link>http://jeffblogs.com/2009/11/jcal-pro/</link>
		<comments>http://jeffblogs.com/2009/11/jcal-pro/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 17:38:28 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[JCal Pro]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=574</guid>
		<description><![CDATA[Last winter I took on the task to redesign the Foothills Harley Owners Group web site. The previous iteration of the web site had outlived its purpose and a new site was needed to allow the group to find the information they needed quickly while allowing the group’s officers to manage the content easier. I [...]]]></description>
			<content:encoded><![CDATA[<p>Last winter I took on the task to redesign the <a href="http://foothillshog.com">Foothills Harley Owners Group</a> web site.  The previous iteration of the web site had outlived its purpose and a new site was needed to allow the group to find the information they needed quickly while allowing the group’s officers to manage the content easier.</p>
<p>I used <a href="http://joomla.org">Joomla</a> as the content management system to give the site it’s form and structure.  The content was categorized and laid out in a way that would make it easy for the Webmaster to manage and maintain.</p>
<p><span id="more-574"></span>There was one area that was of paramount importance.  The club needed an online calendar system where they could enter all of the various rides and activities to allow the site visitors to quickly see what was coming up.</p>
<p>Joomla does not have a calendar feature per se but through the use of extensions it offers the ability to augment core functionality with new features.  I began searching for a calendaring module and finally settled on JCal Pro from <a href="http://dev.anything-digital.com/">Anything Digital</a>.</p>
<p>This Joomla extension provides not only an online calendar but also modules to display the next few activities in a bulleted fashion.  JCal Pro began as a non-commercial product but has since moved to being a full commercial implementation.</p>
<p>Anything Digital offers a subscription plan that allows you to download the latest version of JCal Pro for a specified time.  I selected the Develop Special 1 bundle, which gave me access to JCal Pro version 1.5 as well as the newer JCal Pro version 2.</p>
<p>Besides download capabilities the subscription also allows you forum access to post questions and get product support.  The Developer Special 1 bundle will grant you access not just to JCal Pro but also for Anything Digital’s application RSVP and Advanced Search.</p>
<p>I downloaded the software and installed it onto the Foothills HOG Joomla site.  The installation was fairly simple and follows the standard implementation using the Joomla Administration module.</p>
<p>It did not take long to get the system up and running but there are some caveats to be considered.  Joomla does not recognize the concept of daylight saving time so twice a year the JCal Pro gets a little confused.  This usually means having to go in and manually adjusting the dates or times to get things on the right track.</p>
<p>JCal Pro manages time itself and Joomla does likewise.  Trying to get your hands around how each interact is a logic puzzle that can at times be frustrating. The JCal Pro development is fairly active meaning there have been several upgrades during the first year of implementation.</p>
<p>It has been a little frustrating because the bugs that I have encountered in the application seem to come and go with each successive implementation.  There are also some features that are missing that you would just expect to be there.  Printing a calendar resulted in a creative hack uncovered through the forums otherwise that was not included in the base package.</p>
<p>The types of data that can be displayed is also incomplete making it confusing to the inexperienced administrator.  With each successive upgrade there have been issues regarding the existing data.  In some instances it has required re-inputting the data, a very tedious process.  </p>
<p>Many of the bug fixes and changes show up in later releases but as beta versions requiring the Joomla Administrator to run beta extensions on a production server.  This is ripe for problems and has come into play in more than one occasion.</p>
<p>Despite all of the trials and tribulations JCal Pro has performed adequately.  Of all the calendar extensions currently available, it seems to be the most feature-rich and stable.  I’m continuing to use it but cringe every time I have to make changes to it since you never know what will break next.</p>
<p>I’d love to give this extension a raving review but given its track record I hesitate recommending this to all Joomla administrators.  If you need a calendar system and you don’t mind a little extra work JCal Pro could be just what you’re looking for.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/11/jcal-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn Objective-C on the Mac: A Book Review</title>
		<link>http://jeffblogs.com/2009/10/learn-objective-c-on-the-mac-a-book-review/</link>
		<comments>http://jeffblogs.com/2009/10/learn-objective-c-on-the-mac-a-book-review/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 15:08:14 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=499</guid>
		<description><![CDATA[Recently I wrote about making recommendations for Mac development books. In that post I gave a recommendation for Learn C on the Mac (Learn Series) by Dave Mark as a beginning book to build foundation for learning programming. Once a framework has been established, the reader is now ready for a more Macintosh specific book [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I wrote about <a href="http://jeffblogs.com/2009/10/learn-c-on-the-mac-a-book-review/">making recommendations for Mac development books</a>.  In that post I gave a recommendation for <a href="http://www.amazon.com/gp/product/1430218096?ie=UTF8&#038;tag=jefblo-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1430218096">Learn C on the Mac (Learn Series)</a> by Dave Mark as a beginning book to build foundation for learning programming.</p>
<p>Once a framework has been established, the reader is now ready for a more Macintosh specific book to help them learn application development.  A follow-up book to Learn C on the Mac is <a href="http://www.amazon.com/gp/product/1430218150?ie=UTF8&#038;tag=jefblo-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1430218150">Learn Objective–C on the Mac (Learn Series)</a> by Mark Dalrymple and Scott Knaster.</p>
<p><span id="more-499"></span>The Objective-C book, like the Learn C book, is published by Apress publishing.  They do a very good job of editing the text and organizing the books to make them understandable and flow appropriately.</p>
<p><a rel="shadowbox" href="http://jeffblogs.com/wp-content/uploads/2009/10/learnobjectivec.jpg" title="learnobjectivec"><img src="http://jeffblogs.com/wp-content/uploads/2009/10/learnobjectivec-226x300.jpg" alt="learnobjectivec" title="learnobjectivec" width="226" height="300" class="alignright size-medium wp-image-527" /></a>It should be noted that the Objective-C for the Mac book is not a beginning programming book.  It rightfully assumed that the reader has experience in software development and specifically in C.  Without this experience the subjects covered in this book will quickly go over the reader’s head leaving them confused and frustrated.</p>
<p>Learn Objective-C on the Mac begins with a description of the extensions to C that make up Objective-C.  This affords the reader with necessary background information for what is different over and beyond the standard C language.</p>
<p>After an introduction to object oriented programming the book discusses the Macintosh development tool suite that makes up Xcode.  The Xcode environment is integral in the text of this book and provides a good reference for the toolset.</p>
<p>Besides basic coding, Learn Objective-C on the Mac offers good information on memory management and optimization techniques that will be invaluable to the budding Mac developer.</p>
<p>This book is not an easy read.  The best way to utilize it is as a reference and a companion while attempting the code on a computer.  Unless you have tremendous amount of prior software development experience it would be hard to follow the examples just on paper.</p>
<p>From a perspective of learning Xcode and the nuances of Objective-C on the Macintosh this book will do a decent job of introducing the terms and gives you enough information that you can delve in further in areas you might find interesting.</p>
<p>This may not be the ultimate Macintosh development manual but it contains enough good information and programming examples that it will get you up and running in minimal time and by the end of the book you should have the knowledge necessary to be a Macintosh developer.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/10/learn-objective-c-on-the-mac-a-book-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Social Media Hub</title>
		<link>http://jeffblogs.com/2009/10/my-social-media-hub/</link>
		<comments>http://jeffblogs.com/2009/10/my-social-media-hub/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 15:08:47 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[Plurk]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=490</guid>
		<description><![CDATA[Social media has become the buzzword of the new millennium. As more and more people begin to cocoon within their own little environment social interaction within the real world begins to deteriorate. As a child I remember the neighborhood was a community. Your family interacted with other families living around them. Yards rarely had fences [...]]]></description>
			<content:encoded><![CDATA[<p>Social media has become the buzzword of the new millennium.  As more and more people begin to cocoon within their own little environment social interaction within the real world begins to deteriorate.</p>
<p>As a child I remember the neighborhood was a community.  Your family interacted with other families living around them.  Yards rarely had fences and everyone congregated in front of their houses.  When they saw neighbors out they went out of their way to greet them and engage in conversation.</p>
<p><span id="more-490"></span>As I’ve gotten older I’ve noticed that neighborhoods and communities have changed.  Now there are gated communities where people are locked behind enclosed fortresses.  Everyone has a walled fence around their property and few people venture outside of their home or converse with anyone outside of their family.</p>
<p><a rel="shadowbox" href="http://jeffblogs.com/wp-content/uploads/2009/10/socialmediahub.png" title="socialmediahub"><img src="http://jeffblogs.com/wp-content/uploads/2009/10/socialmediahub-300x246.png" alt="socialmediahub" title="socialmediahub" width="300" height="246" class="alignright size-medium wp-image-491" /></a>Perhaps this is a function of growth and change or perhaps it is indicative of the fear people are developing about the horrors of society.  No matter the reasons, people have become closed off from others.  </p>
<p>Humans are by nature social creatures and this isolation is difficult for many to manage.  With the proliferation of the Internet and immediate communication channels, communities have emerged in the digital world.  People feel safe hiding behind a keyboard and screen knowing that if they are rejected there are thousands of others who will accept them.</p>
<p>These social media communities are similar to those created on this continent during the expansion westward in the early days of this country.  Rather than travelling by wagon train or horse, the adventurers are arriving via the browser.</p>
<p>If the traveler feels comfortable, they may stay in the community building it up adding another resident.  Many though are just passing through trying to find a place to settle where they feel comfortable.  In this case the traveler may create an account in a community then wander away to continue searching for the right place.</p>
<p>In some cases like myself, I am more of a mountain man.  I may be gone for an extended period of time then return to one settlement or another trading my wares with the local citizens then disappearing again into the wilderness.</p>
<p>From this perspective it sometimes becomes hard for a community to find you since you come and go with the seasons.  What is needed is a mailbox or some way for the other settlers to know who this mysterious man is that wanders into their community.</p>
<p>For that reason I created a Social Media Hub.  This is a type of address book where settlers can go to find out what my address in the various Social Media communities.  The hub resides on <a href="http://jeffdsummers.com/">my personal web site</a> and graphically displays each of the social communities where I belong.</p>
<p>This is a Joomla module that I wrote.  In the administration tool the Social Media Hub module will track your social media profile for 56 different social media web sites.  For each of these you can enter your user name and it will direct site visitors to the appropriate profile page on each service.</p>
<p>So far it has worked quite well.  I have set it to be able to adjust the icon size and icon type.  Through testing on the 26 different social media sites I personally have accounts for it seems to be working as designed.</p>
<p>Now when someone wants to find me on a specific social media site all they have to do is visit my web page and click on the appropriate icon and it will redirect them to my profile allowing them to send me a message.  The next time I wander out of the wilderness and visit that social media community I will have a message.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/10/my-social-media-hub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoTweet Joomla Plug-In</title>
		<link>http://jeffblogs.com/2009/10/autotweet-joomla-plug-in/</link>
		<comments>http://jeffblogs.com/2009/10/autotweet-joomla-plug-in/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 15:08:01 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[NowHitting]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=473</guid>
		<description><![CDATA[As I have mentioned previously on this blog, I am a big fan of the Joomla content management system. I love it’s open source coding and the active community that is developing for this system. It provides a powerful framework for creating a web presence. I have also become a big fan of Twitter as [...]]]></description>
			<content:encoded><![CDATA[<p>As I have mentioned previously on this blog, I am a big fan of the Joomla content management system.  I love it’s open source coding and the active community that is developing for this system.  It provides a powerful framework for creating a web presence.</p>
<p>I have also become a big fan of Twitter as a communication tool.  Within its 140-character limit you are able to share all kinds of information and reach people you may not otherwise be in contact with.  </p>
<p><span id="more-473"></span>Through using Twitter I have made several friends and contacts.  Many of these contacts want to be notified whenever content changes on my web site.  Out of the box, Joomla does not offer the ability to broadcast site changes to Twitter.</p>
<p>Like many other features though, the development community has come to the aid of web site owners and have developed Joomla extensions that will incorporate this new functionality.  A quick search of the Joomla Extension Library showed that there are several modules capable of integrating with Joomla.</p>
<p>I think I tried each of the modules attempting to find a good balance of functionality with minimal interaction by the web site owner.  After all, what good is a solution if it requires you to spend more time managing the tool than the benefit you derive from it?</p>
<p>Initially I used an extension called Twitter Status.  It would allow me to post a Twitter message each time I published a new article.  It did not allow posting of updates and was relatively basic in its functionality.  The developer first introduced Twitter Status as a free extension but then decided to make it commercial leaving early adopters hanging unless they paid.</p>
<p>From my research I could not determine whether the newer version would allow any additional functionality and I was unwilling to purchase the extension without knowing whether it would meet my needs.  I attempted to contact the developer but his response was basically that I was not a paid customer and therefore he had little or no time to answer my inquiries.</p>
<p>Based upon his responses I decided I needed to look for another solution.  After installing and testing several Twitter extensions I settled on <a href="http://extensions.joomla.org/extensions/content-sharing/twitting/9347">Auto Tweet</a> written by Ulli Storck.  </p>
<p>Auto Tweet acts as a Joomla plug-in installing through the Joomla Administration module.  Once installed the plug-in is quickly configured. Besides securely storing your user name and password, the configuration page also allows you to decide whether you want the page URL appended to your Twitter message and how many attempts the plug-in should make if it is unsuccessful in posting.</p>
<p>You can define specific sections and categories that will be tweeted and you can exclude sections and categories.  You can post just new articles or modified or private articles.  You can also include static text and hash tags to your messages to make sure the tweet reaches the appropriate audience.</p>
<p>Overall Auto Tweet has worked flawlessly and I have received several comments from friends thanking me for keeping them informed of changes to my web site.  It is one of those set it and forget it kind of extensions that make managing a web site easier while driving traffic to your pages.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/10/autotweet-joomla-plug-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SlideShowPro</title>
		<link>http://jeffblogs.com/2009/10/slideshow-pro/</link>
		<comments>http://jeffblogs.com/2009/10/slideshow-pro/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 20:04:58 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[pictures]]></category>
		<category><![CDATA[slide show]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=460</guid>
		<description><![CDATA[When I undertook an update to the look and feel of my Now Hitting web site that chronicles the history of the Arizona Diamondbacks I made a conscious decision to turn the home page into a revolving slide show of images I had collected over the first 12 years of the team’s existence. I wanted [...]]]></description>
			<content:encoded><![CDATA[<p>When I undertook an update to the look and feel of my <a href="http://nowhitting.com/">Now Hitting</a> web site that chronicles the history of the Arizona Diamondbacks I made a conscious decision to turn the home page into a revolving slide show of images I had collected over the first 12 years of the team’s existence.</p>
<p>I wanted this to give the visitor an idea of what they may have missed from the first dozen years of games played by the team.  The issue I had was I needed a software application that would be graphics intensive yet allow for other content on subsequent pages.</p>
<p><span id="more-460"></span>The back-end of Now Hitting is the Joomla content management system.  I chose this because of its power and ease of use.  I also liked the idea that I could extend the product with new features as I deemed necessary.</p>
<p>It was this extensibility that was most important especially for the multimedia aspects I was planning for the home page.  I perused the Joomla extension library, which has thousands of modules that can be installed to add specific functionality to a web site.</p>
<p>I tried several slideshow alternatives and always seemed to come away disappointed.  They were either extremely slow or not robust enough to allow them to be used on a site that receives regular visitors during the baseball season.</p>
<p>I was about to give up and try something new when I came across an application that did exactly what I was looking for.  <a href="http://slideshowpro.net/">SlideShowPro</a> by Domney Design Inc is a Flash-based plug-in that will produce a slideshow for web-based sites.</p>
<p>It allows not only a rotating photo display but will also enable the use of video should I decide to expand the pictures to a more robust media type.  Setting up the software was fairly straightforward.  </p>
<p>In my case I purchased two different products.  I ordered SlideShowPro for flash that allows the slideshows to be displayed using Adobe Flash.  The second piece of software was the companion SlideShowPro Director that allows the slideshows to be created without having a full Flash development system.</p>
<p>In order to integrate SlideShowPro with Joomla I added the Joomla module <a href="http://www.easyssp.com/">EasySSP</a>.  This module provides a seamless integration of the SlideShowPro slideshows with Joomla.  Once installed and configured it simply became a matter of defining the size of the slideshow component and pointing to the parameters file.</p>
<p>Within just a few short hours I went from a text based home page to an immersive experience that pictorially showed the progression of the Arizona Diamondbacks from expansion team to today.</p>
<p>I cannot recommend enough the SlideShowPro and EasySSP applications.  It should be noted that SlideShowPro is licensed on a per domain basis so if you are like me and have multiple domains you will need a separate license for each one.  After the success I have had with SlideShowPro I am now considering ways that will allow me to add this functionality to my other web sites.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/10/slideshow-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn C on the Mac: A Book Review</title>
		<link>http://jeffblogs.com/2009/10/learn-c-on-the-mac-a-book-review/</link>
		<comments>http://jeffblogs.com/2009/10/learn-c-on-the-mac-a-book-review/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 18:44:23 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=455</guid>
		<description><![CDATA[It seems that more and more often I am being asked if I can recommend a book or class that will help a user learn how to develop software on the Macintosh. This is a far different problem than I had just a few short years ago when I was asked why I continued to [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that more and more often I am being asked if I can recommend a book or class that will help a user learn how to develop software on the Macintosh.  This is a far different problem than I had just a few short years ago when I was asked why I continued to use a Macintosh when clearly Windows was superior.  We won’t go there.</p>
<p>Suffice it to say there is no easy answer to what is the right book or training that will make you a Macintosh developer.  The good news is there are many avenues you can take to learn programming on the Macintosh and many of them will be dependent upon what your level of knowledge is going into the development process.</p>
<p><span id="more-455"></span>Recently I have found myself trying to get developers up to speed quickly not necessarily on the Macintosh OS X operating system but to get them through the basics so that they can begin developing for the iPhone.</p>
<p>Many of those asking for a recommendation come from a background of design or other non-programming related background.  From that perspective it is necessary to begin to build a foundation of programming while introducing the tools they will ultimately utilize for development.</p>
<p>When the Macintosh was first released in 1984, many of the routines in the Mac ROM were Pascal based.  A thorough knowledge of Pascal helped when developing applications that ran on the original Mac.  As the Macintosh evolved, the development platform migrated to a more standard based set of tools.</p>
<p>With the introduction of OS X, Apple moved the underpinnings of their operating system to a Unix kernel, which allowed tighter integration with C as the preferred development language.  C was well on its way to being the de-facto standard long before this time but in my opinion the move to OS X sealed the deal.</p>
<p>So anyone wanting to learn Macintosh development now really should have a basis is C and specifically in Objective-C which most of Apple’s tools will utilize.  Since Objective-C is based on C I find it easier to recommend a good C book as the beginning introduction to Mac programming.</p>
<p>I have been recommending <a href="http://www.amazon.com/gp/product/1430218096?ie=UTF8&#038;tag=jefblo-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1430218096">Learn C on the Mac (Learn Series)</a> written by Dave Mark.  This is a very good introduction to the C language and the examples all use Apple’s XCode tool suite as the editor to give the reader a good basis for using the tools they will have to be familiar with in the long term.</p>
<p>The book is a good mixture of history, theory, and common sense and was written not for the techie but for a typical user who has little background or knowledge for programming.  This is definitely a beginning-programming book.  </p>
<p>If you have prior C experience or any C-type language for that matter, this is not the book you want.  If however you are a computer user who wants to begin to learn to develop applications this is a good primer that will begin your journey to becoming a developer.</p>
<p>The programming examples are fairly simple and are not Macintosh specific.  The code output is primitive and uses just the console.  It does not delve into the power of the Macintosh specific calls nor does it explain the nuances of UI development.  It simply teaches the constructs of C.</p>
<p>Having this basis though will allow the reader to gain a basic knowledge and understanding of the C language, which can then be built upon by a follow-up book such as <a href="http://www.amazon.com/gp/product/1430218150?ie=UTF8&#038;tag=jefblo-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1430218150">Learn Objective–C on the Mac (Learn Series)</a> by Mark Dalrymple and Scott Knaster.</p>
<p>Learn C on the Mac is a fairly quick read if you are just scanning the book.  The benefit really comes from building the example code and getting a hands-on experience with the XCode integrated development environment (IDE).</p>
<p>For those who do not want to type the code themselves, Mark provides a link to the Apress web site that has a zip file of all code examples contained in the book.  This way the reader can open the files without actually having to do any keyboarding.</p>
<p>I’ve seen computer users with no background in programming emerge with at least a framework of knowledge they can build on by using this book.  It will not make you a full-fledged Macintosh developer but will begin you down that path.  For that reason I would recommend Learn C on the Mac as a good book to help anyone regardless of their age learn programming on the Macintosh.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/10/learn-c-on-the-mac-a-book-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snow Leopard First Impressions</title>
		<link>http://jeffblogs.com/2009/08/snow-leopard-first-impressions/</link>
		<comments>http://jeffblogs.com/2009/08/snow-leopard-first-impressions/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 23:47:57 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://jeffblogs.com/?p=284</guid>
		<description><![CDATA[I have to admit I have been eagerly awaiting the introduction of Apple’s Snow Leopard operating system since it was first announced at the Worldwide Developers Conference. This is not a typical operating system upgrade. There are very few aesthetic changes to the system causing many users to wonder what the big deal is. When [...]]]></description>
			<content:encoded><![CDATA[<p>I have to admit I have been eagerly awaiting the introduction of Apple’s Snow Leopard operating system since it was first announced at the Worldwide Developers Conference.  This is not a typical operating system upgrade.  There are very few aesthetic changes to the system causing many users to wonder what the big deal is.</p>
<p>When Leopard (version 10.5) was released it came with many changes to the way the user interacted with the Macintosh.  It was relatively clear what the differences were from the old OS to the new version.  That is not the case with Snow Leopard.  It is analogous to walking into a garage and looking at two cars sitting side by side.  On the surface they look the same except for maybe a difference in color.  But popping the hood and looking in the engine compartment you realize that one of these cars has a fuel efficient 4-cylinder engine while the other one has a fully blown V-8 capable of melting tires in the hands of a proper driver.</p>
<p><span id="more-284"></span>The changes may not be quite that dramatic but in geek speak it is not far off.  Snow Leopard allowed Apple to go under the hood of OS X and tweak the underlying engine to set it up to take advantage of new technologies that are just beginning to be mainstream.  A lot of this work was done to enable 64-bit processing throughout the operating system.  In the past there was some 64-bit processing within OS X but many of the routines were still limited to 32-bit.  Given today’s hardware that was appropriate but with the roadmap of processors and controllers that Intel and other hardware manufacturers are using 64-bit is going to be necessary in the very near future.</p>
<p>With nearly all processors now being multi-core it has introduced new challenges for the software developer.  Now not only to developers need to worry about application latency and process management but they have to thread applications to take advantage of the additional processing cores.  Improper software management may not only cause system slow down but could impact other applications.  With Snow Leopard Apple has assisted the software developer by introducing what they refer to as Grand Central Dispatch.  This takes the job of managing processing cores away from the application and plants it in the operating system which can handle the chores for multiple applications more efficiently.  Grand Central Dispatch means very little to the software user for from a developers standpoint it should provide a much cleaner implementation and ultimately should result in more consistent behavior by all software.</p>
<p>In a time where operating system vendors are overloading their offerings with more and more features that take additional resources and require bigger computers, Snow Leopard bucks the trend and actually reduces the memory requirements for many of its routines.  This streamlined code results in a faster computer with today’s hardware.  When was the last time that you installed a new OS that actually gave you memory back?</p>
<p>Apple has also introduced Open Computing Language (OpenCL) which should allow applications to take advantage of the processing power contained on today’s graphics cards by utilizing spare cycles on the graphics processing units (GPL).  This should result in more processing efficiencies throughout the computer.  OpenCL uses many of the same constructs as Xcode so the learning curve for using it should be minimized allowing developers to develop to its specifications quicker.</p>
<p>These are just a few of the important aspects of Snow Leopard that should open development doors to better software being developed for the Macintosh.  From an end-user’s perspective you have to love the price.  Apple has set Snow Leopard at $29 for a single license or $49 for a family license for up to five computers.  Compare that with Microsoft who set their Windows 7 Ultimate upgrade price at $219 per license and you can see what a deal Snow Leopard is.</p>
<p>The real benefits of Snow Leopard may not be realized for a few months until developers have had an opportunity to fully exploit its capabilities but when that finally happens, users who have taken advantage of this upgrade will be really glad they did.  The future is looking pretty bright for Apple users at this point.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/08/snow-leopard-first-impressions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My New Favorite Web Editor</title>
		<link>http://jeffblogs.com/2009/03/my-new-favorite-web-editor/</link>
		<comments>http://jeffblogs.com/2009/03/my-new-favorite-web-editor/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 20:49:58 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://myexperimentalweb.com/?p=105</guid>
		<description><![CDATA[Ok I will be the first to admit that when it comes to web development I am definitely old school. I have tried a multitude of code generation tools and every time I do I swear I will never do that again. Web code is equal parts science and art form. The problem is that [...]]]></description>
			<content:encoded><![CDATA[<p>Ok I will be the first to admit that when it comes to web development I am definitely old school.  I have tried a multitude of code generation tools and every time I do I swear I will never do that again.  Web code is equal parts science and art form.  The problem is that most of those tools that create the code for you produce such bloated pages that they become nearly unusable.  These tools rarely support all of the web standards you would like and in many cases they produce code that will not pass code validity tests.  But while I like to write the code myself so that I know exactly what each line does, I don&#8217;t necessarily like using a plain text editor to manage the task.</p>
<p><span id="more-105"></span><br />
Years ago while developing on a Windows-based workstation I came across an editor that I just fell in love with (in a purely plutonic sense).  HomeSite started off as a simple editor that would help you to manage the HTML code being created.  This application gained a cult like following among web developers and was purchased by Macromedia.  They continued to support the tool for a while but ultimately the features and functions available in HomeSite were built into Dreamweaver.  With the introduction of Dreamweaver CS4, Adobe (who had acquired Macromedia) decided to cease development and support for HomeSite.<br />
While I think Dreamweaver is a great suite, there are times that it is just too big and cumbersome for doing small development projects.  Additionally, Dreamweaver is substantially more expensive than HomeSite making it cost prohibitive to many developers.<br />
The HomeSite end-of-life announcement by Adobe happened to coincide with my migration from Windows to Macintosh so it became even more important for me to find an alternative for my beloved web development editor.  I looked at several editors including the well regarded BBEdit but in the end I decided that the best tool for my workflow would be <a href="http://www.panic.com/coda/">Coda</a> by Panic Software.  The great thing about Coda is that not only does it do an admirable job as an editor but it includes several other valuable tools such as file transfer, css editing, terminal, and others.  The application has hooks that allow developers to extend the capabilities of the software through plug-ins.  Instructions for creating these plug-ins can be found in the <a href="http://www.panic.com/coda/developer/howto/plugins.php">Coda Developer Zone</a>.<br />
I never thought I would find an editor and development environment that I liked as well as HomeSite but after a few short weeks using Coda I have to admit that the workflow is extremely easy to adapt to.  I would have a hard time going back to HomeSite now that I have Coda; it&#8217;s just that good.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/03/my-new-favorite-web-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking Care of Email</title>
		<link>http://jeffblogs.com/2009/03/taking-care-of-email/</link>
		<comments>http://jeffblogs.com/2009/03/taking-care-of-email/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 20:48:02 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[SPAM]]></category>

		<guid isPermaLink="false">http://myexperimentalweb.com/?p=104</guid>
		<description><![CDATA[It is an inevitable fact that if you have an email account you are going to have SPAM. I have used the same email address for over a decade and as you might can imagine, I am now being inundated with unwanted email messages. I have tried nearly every tool imaginable to try and minimize [...]]]></description>
			<content:encoded><![CDATA[<p>It is an inevitable fact that if you have an email account you are going to have SPAM.  I have used the same email address for over a decade and as you might can imagine, I am now being inundated with unwanted email messages.  I have tried nearly every tool imaginable to try and minimize the number of SPAM messages I have to deal with.  This has included white lists, black lists, and several tools and appliances that will stop these messages from being delivered.  The problem has been that while some of these solutions have eliminated the SPAM messages they have also deleted some of my messages that weren&#8217;t SPAM.  Even worse some of these have begun to filter out specific users and domains no longer delivering mail from some domains.  These domains are not some small or questionable domains but rather some of the bigger and more respected companies on the Internet such as apple.com,  mattel.com, or dbacks.com.  Obviously this was unacceptable and I needed to make some changes so that I could continue to rely on email as a communications method.</p>
<p><span id="more-104"></span><br />
The first thing I did was to cancel my premium email service from GoDaddy.com.  I had been using GoDaddy for my email services for a couple of years.  I liked their web client and had gotten pretty good service from them.  Unfortunately their service and support are non-existent.  When I realized that I was no longer getting mail from Apple, Mattel, or the Arizona Diamondbacks I opened a problem ticket.  That in itself is no small feat since GoDaddy&#8217;s web site has one of the worst user interfaces I have ever had to deal with.  Once I finally was able to open a ticket it took them days to respond.  When they did respond it was fairly useless information.<br />
In order to help me they would need me to contact each person whose email I had not received and have them send me any error message they might be getting.  I had to re-read that a few times for it to sink in.  How exactly would I know who to contact since I am not getting the emails.  That would be like the phone company telling me to call everyone who I thought tried to call me when I was on the phone to see if they got a busy signal.  I attempted to explain this to GoDaddy but unfortunately I lacked the necessary communications skills to get them to understand how ridiculous their suggestion sounded.  In the end it just seemed like an easier solution to stop using their service than trying to get them to fix their problems.<br />
Probably the right answer to my email dilemma was to create my own email server.  The problem was that I didn&#8217;t have a server lying around and at the present time I am using a shared server environment through my ISP.  I&#8217;ve been meaning to create a virtual private server but on my list of fun things to do that one just hasn&#8217;t bubbled to the top yet.  I was therefore limited when it came to email service choices.  I am currently using <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=azjazzyj">HostGator</a> as my hosting company.  I have no complaints with HostGator.  They have been very good at maintaining uptime and their technical support has been very quick to respond to my tickets when I have entered them (my sample size for this statement is relatively low since I have entered 3 support tickets in over a year and 2 of those were questions about server configuration rather than actual problems).<br />
I set up the email accounts to use the included shared servers at HostGator more of a stop-gap measure than a long term solution.  Based on my experience so far, I may just keep this as my main email solution.  All my mail is being delivered and I am now magically getting email from Apple, Mattel, and the Diamondbacks even without contacting those three domains and asking about possible error messages.  The only problem is that the mail servers do not have SPAM filtering installed by default.  This meant that I needed a solution to my inbox problem of receiving mountains of SPAM every day.<br />
I have become somewhat of a fan of Bayesian filtering for dealing with SPAM.  Thomas Bayes was a British mathematician and Presbyterian minister born in 1702.  He is credited with developing &#8220;Bayes&#8217; theorem&#8221; which describes a problem in terms of inverse probability.  For centuries this theorem was an academic exercise with no real value.  This of course all changed with the advent of email and SPAM.  Someone determined that the Bayes&#8217; Theorem could be utilized to determine whether an email message was valid or SPAM.  This is done by assigning values to words and their frequency within a message.  The interesting part is that these Bayesian filters continue to evolve with each message it analyzes making it more accurate the longer it is used.<br />
On Windows I have long used Bayesian filters.  I started with SPAMBully but when they moved to a subscription model I ceased using their software and moved to SPAMBayes which is an open source equivalent.  SPAMBayes worked very well and I had a success rate of over 98 percent in catching SPAM messages.<br />
When I contemplated moving to the Macintosh one of the first things I did was research Bayesian Filters for the Macintosh mail application. After a lot of research I settled on <a href="http://c-command.com/spamsieve/">SpamSieve</a>.  It is a simple application that brings powerful results to the Mac mail client.  SpamSieve looks at each message coming into your mail client and determines whether it is a legitimate email or if it is SPAM.  SPAM messages will be moved to a separate folder or can be contributed to be deleted automatically.  Good messages are maintained in your email inbox.  One of the great things about using SpamSieve is the fact that it manages your mail at the inbox level.  By setting up my email as IMAP rather than POP3 it has the added ability of making sure only good mail is delivered to my iPhone keeping that device relatively SPAM-free,  At first SpamSieve&#8217;s accuracy was only around 90 percent but after using the application for a short period of time the accuracy has gotten much better and is now in the 97-98 percentile.  I can&#8217;t tell you how much of a relieve it is to check my mail in the morning and see 20-30 good emails while seeing 90-100 SPAM messages automatically filtered out and sent to the trash.  If you are currently dealing with SPAM issues I would highly recommend looking at SpamSieve, it is well worth the $30 purchase price.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2009/03/taking-care-of-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Download Day</title>
		<link>http://jeffblogs.com/2008/06/firefox-download-day/</link>
		<comments>http://jeffblogs.com/2008/06/firefox-download-day/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 18:29:19 +0000</pubDate>
		<dc:creator>Jeff Summers</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Guinness]]></category>
		<category><![CDATA[world record]]></category>

		<guid isPermaLink="false">http://myexperimentalweb.com/?p=48</guid>
		<description><![CDATA[I have been a big fan of Mozilla for as long as they have been in existence. Before that I was part of the Netscape crowd and worked with them on browser development even before Netscape Navigator 4. Early on I did some work on the Thunderbird project and Sunbird. During my time at Motorola [...]]]></description>
			<content:encoded><![CDATA[<p>I have been a big fan of <a href="http://www.mozilla.org/">Mozilla</a> for as long as they have been in existence.  Before that I was part of the Netscape crowd and worked with them on browser development even before Netscape Navigator 4.  Early on I did some work on the Thunderbird project and Sunbird.  During my time at Motorola I was a member of the Netscape Customer Council and worked closely with their server development teams integrating the <a href="http://www.streettech.com/archives_gadget/pageWriter2000.html">Motorola PageWriter</a> two-way pager into the Netscape environment.  In fact I hold a patent for that work last I heard.  So as Mozilla worked on the open source code that would become Firefox I was right there rolling up my sleeves.  Firefox 2 has been my default browser since it was released.  And while it has had its share of issues over time my loyalty has not wavered.   That is not to say I wasn&#8217;t looking forward to its replacement.  I was waiting rather impatiently to put it to the curbside and use something that was a little more memory friendly.</p>
<p><span id="more-48"></span><br />
Mozilla has been diligently working on Firefox 3 for quite some time.  Its feature set is quite more robust than previous versions of the browser.  I have been trudging through beta versions and release candidates trying to get a feel for the interface and the inner workings of the application.  Finally after man-months and years of work Firefox 3 is now ready for prime time.  To help to celebrate its release Mozilla is going to try and set a mark in the Guinness Book of World Records for most downloads within a 24 hour period.  They are referring to this as <a href="http://www.spreadfirefox.com/">Firefox Download Day</a>.  In the days and hours leading up to its release Firefox asked people to pledge to download the software on the first day it was available.  As a fan of Firefox who has been eagerly awaiting its release I immediately pledged my help.  Not only that but I also began to evangelize the application to everyone I knew so that they too could be part of Firefox Download Day.<br />
When the gates opened the Mozilla servers stumbled a bit but seemed to recover and soon I was seeing the download progress bar for this new release.  Before long I had finished the download and immediately installed it onto my computer.  The interface of Firefox 3 has a new look and I immediately noticed a much quicker browsing experience.  Many of the features I have grown to love are still there like tabbed browsing and support for web standards.  Most of my extensions and add-ons were also made compatible.  The one exception was the Google Browser Sync extension which is not compatible with Firefox 3.  Google has publicly stated that they have no intention of upgrading this add-on leaving me without an option of synchronizing open tabs, cookies, passwords, and bookmarks across the various computers that I use.  That is unfortunate since I found this code extremely helpful.  Mozilla is working on something that may ultimate replace Google Browser Sync.  It is called <a href="http://labs.mozilla.com/2007/12/introducing-weave/">Weave</a> and shows promise but does appear to be a little behind schedule from what I can read.  I just found this tonight so I have to admit I don&#8217;t have a lot of details on it just yet but I plan to look at it closely and perhaps volunteer for helping with development if needed.</p>
<div class='wb_fb_bottom'><div style="float:right;"></div></div><div class='wb_fb_comment'><br/></div>]]></content:encoded>
			<wfw:commentRss>http://jeffblogs.com/2008/06/firefox-download-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

