<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>newspapersystems</title>
	
	<link>http://newspapersystems.wordpress.com</link>
	<description>Technology, philosophy and computer science in the service of newspapers</description>
	<lastBuildDate>Tue, 01 Nov 2011 14:26:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain="newspapersystems.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://1.gravatar.com/blavatar/dbd11bb47da9046bccdb1e005216602c?s=96&amp;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>newspapersystems</title>
		<link>http://newspapersystems.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://newspapersystems.wordpress.com/osd.xml" title="newspapersystems" />
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wordpress/VqZOd" /><feedburner:info uri="wordpress/vqzod" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://newspapersystems.wordpress.com/?pushpress=hub" /><item>
		<title>And another computer science great leaves us</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/mkL-PJl_jNo/</link>
		<comments>http://newspapersystems.wordpress.com/2011/10/31/and-another-computer-science-great-leaves-us-2/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 19:57:29 +0000</pubDate>
		<dc:creator>Richard J. Cichelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computer chess]]></category>
		<category><![CDATA[Ken Thompson]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[McCarthy]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=80</guid>
		<description><![CDATA[John McCarthy, creator of Lisp died recently. Those that wrote chess programs, like William Bader (one of SCS&#8217;s senior programmers), and me, knew his work well. http://linkd.in/svpqAC We&#8217;ve used things we learned from chess programming to create SCS/ClassPag™ for (newspaper classified pagination). Chess programming &#8230; <a href="http://newspapersystems.wordpress.com/2011/10/31/and-another-computer-science-great-leaves-us-2/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=80&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a class="zem_slink" title="John McCarthy (computer scientist)" href="http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29" rel="wikipedia">John McCarthy</a>, creator of Lisp died recently. Those that wrote chess programs, like William Bader (one of SCS&#8217;s senior programmers), and me, knew his work well.</p>
<p><a href="http://linkd.in/svpqAC">http://linkd.in/svpqAC</a></p>
<p>We&#8217;ve used things we learned from chess programming to create SCS/ClassPag™ for (<a href="http://bit.ly/rC93mr">newspaper classified pagination</a>).</p>
<p><a class="zem_slink" title="Computer chess" href="http://en.wikipedia.org/wiki/Computer_chess" rel="wikipedia">Chess programming</a> provided a rich environment for computer science research. Debugging chess programs was quite difficult. The complexity of the algorithms meant that hand simulation of the program&#8217;s logic was often nearly impossible. Chess programmers quickly realized that writing such programs depended on having the best tool for thinking through the programs&#8217; designs.</p>
<p>McCarthy developed Lisp for his AI projects. It replaced OPS5 when he found he could no longer improve his chess program because he could no longer understand it!</p>
<p>Remember that in the early days of chess programming, the development environment wasn&#8217;t interactive. Batch compilations and test runs were the norm. Programmers like Ed Kozdrowicki and Dennis Cooper, authors of the CoKo, wrote in FORTRAN. They invented indenting code to show the nesting levels of loops, etc. CoKo was well over 50,000 lines of code. (A single spaced printout of the code was six inches thick.) Like most chess programs in those days, it was tested using all the computer time the authors could beg, borrow or steal. In CoKo’s case just 12 executions! Imagine doing a live show-and-tell of such minimally tested software at a convention (many of these programs were shown at the Association for Computing Machinery annual meetings) before nearly a thousand of your most respected colleagues!</p>
<p>Ken Thompson developed C and Unix as a platform for his chess programming efforts. He and his chess program/machine, Belle, designed at AT&amp;T&#8217;s Bell Laboratories, won the <a class="zem_slink" title="North American Computer Chess Championship" href="http://en.wikipedia.org/wiki/North_American_Computer_Chess_Championship" rel="wikipedia">North American Computer Chess Championship</a> in 1978. In 1983, Belle became the first chess program to reach the U.S. master level of playing ability.</p>
<p>Ken basically stole the computer on which he did this skunk works development. When asked what he was up to, he replied that he was developing a text processor that the lab (i.e., Bell Labs) could use in document preparation. When asked for a demo, he had to quickly put together what later was called nroff. To compose type for a phototypesetter he then developed troff.</p>
<p>Thompson and McCarthy were both <a class="zem_slink" title="Turing Award" href="http://awards.acm.org/homepage.cfm?srt=all&amp;awd=140" rel="homepage">Turing Award</a> winners, which most regard as the Nobel prize for computer science.</p>
<p>Barbara Huberman Liskov, a graduate student of McCarthy&#8217;s, wrote a Lisp based chess playing system for her doctorate. She then developed a new paradigm for programming which she embodied in a programming language of her own design called <a class="zem_slink" title="CLU (programming language)" href="http://en.wikipedia.org/wiki/CLU_%28programming_language%29" rel="wikipedia">CLU</a>.  CLU was the first programming language that supported all of the concepts that are fundamental to object oriented programming. For this contribution she received the Turing Award. I suspect the design of CLU was influenced by her chess programming experience.</p>
<p>In a biography of Liskov, <a class="zem_slink" title="John Guttag" href="http://en.wikipedia.org/wiki/John_Guttag" rel="wikipedia">John V. Guttag</a>, Head of the MIT Electrical Engineering and Computer Science Departmen,t wrote, &#8220;CLU was a truly audacious language. It tastefully combined the then novel ideas of 1) data abstraction, 2) iteration abstraction, 3) exception handling, and 4) polymorphic types. CLU was not a &#8220;paper&#8221;<br />
programming language. Barbara and her students produced a high quality implementation on a variety of platforms. Along the way, they pioneered a number of implementation techniques, e.g., for raising and catching exceptions, that are still used today. Every important programming language since 1975 has borrowed ideas from CLU. Java, for example, owes its notion of inheritance to Simula and Smalltalk, but almost everything else of interest in it was pioneered in CLU.&#8221; [</p>
<p>Here is some correspondence between me and Dr. Liskov:</p>
<p>&#8220;Dear Dr. Liskov,</p>
<p>Congratulations on winning the Turing award.</p>
<p>I note that your winning of the Turing award is particularly appropriate since Turing himself and John McCarthy, your adviser, were both students of computer chess.</p>
<p>I remember sitting in the lunch room at the Bank of Delaware in 1972 with my fresh BSCS degree from the U of Delaware reading your PhD dissertation. (Chess programs in LISP! Wow!) You were Barbara Huberman then. I was working in data processing operations because I wasn&#8217;t trained to program in 1401 Autocoder or 360 COBOL. There was a recession on (RCA had just let 2,000 data processing staff go) so I was glad for the job.</p>
<p>Anyway the VP of data processing (called the <a class="zem_slink" title="LSE: IBM" href="http://www.google.com/finance?q=LON:IBM" rel="googlefinance">IBM</a> Department) (who didn&#8217;t have a degree) picked up what I was reading and shrugged when I tried to explain what it was about. I suspect that he thought my interests were at best unusual. He must have had some inkling that I was special because after that he kept giving me little projects that resulted in challenges to the status quo. I started having fun at the BoD job. To this day I say this was thanks to you.</p>
<p>As you know writing chess programs confers on their authors special insights. Unless you are able to use an algorithmic language that supports clear thinking, your hopes for getting working chess programs are slim.</p>
<p>For our work with newspapers we build numerous domain specific<br />
languages. Not surprisingly much of the software we supply to<br />
newspapers solves their NP-hard problems.</p>
<p>I was thinking of you the other day. While scanning several articles on the web I found myself saying &#8220;Oh, this one sounds like Barbara.&#8221; I checked the authors and there you were. You have a clarity of thought and expression that makes whatever you write an outstanding pleasure to read.</p>
<p>Once again I am delighted to offer you my personal congratulations on your award.</p>
<p>Thanks,<br />
Richard&#8221;</p>
<p><a class="zem_slink" title="Barbara Liskov" href="http://en.wikipedia.org/wiki/Barbara_Liskov" rel="wikipedia">Barbara Liskov</a> wrote on 3/27/09:</p>
<p>&#8220;thanks so much for your note. I really appreciate it. It&#8217;s great<br />
to learn about your story and I&#8217;m glad I was able to help (if in<br />
fact I did)!</p>
<p>Best regards,</p>
<p>Barbara Liskov&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=80&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/mkL-PJl_jNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/10/31/and-another-computer-science-great-leaves-us-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99a60fba668cb72b55972edb2e6b62ee?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">rcichelli</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/10/31/and-another-computer-science-great-leaves-us-2/</feedburner:origLink></item>
		<item>
		<title>Thoughts about Steve Jobs and SCS</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/Dzui4ECYMQY/</link>
		<comments>http://newspapersystems.wordpress.com/2011/10/07/thoughts-about-steve-jobs-and-scs/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 18:02:49 +0000</pubDate>
		<dc:creator>Richard J. Cichelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Apple computers]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=72</guid>
		<description><![CDATA[SCS became an official Apple developer in 1977. SCS bought an Apple II+ from the just-opened Lehigh Valley Computerland. (I believe SCS was their first Apple sale, or very nearly so.) SCS had a contract with American Express to make &#8230; <a href="http://newspapersystems.wordpress.com/2011/10/07/thoughts-about-steve-jobs-and-scs/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=72&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SCS became an official Apple developer in 1977. SCS bought an Apple II+<br />
from the just-opened Lehigh Valley Computerland. (I believe SCS was<br />
their first Apple sale, or very nearly so.)</p>
<p>SCS had a contract with American Express to make personal computer<br />
programs for business executives. I think we agreed to write the suite<br />
of programs (called Epics) for $6,000. It included an appointment<br />
scheduler, project planner using the critical path planning method (we<br />
got the algorithm from friends at DuPont which first developed it on a<br />
mainframe), contact manager and several others. The AmEX VP who<br />
contracted with us thought all his executives should have computers of<br />
their own.</p>
<p>The programs were developed in Pascal (UCSD version) with the help of<br />
interns. They worked in an office I outfitted in the lower level of our<br />
home. William started there.</p>
<p>Martha applied to get an AmEX credit card but she was at first refused.<br />
She contacted the VP and said something like, &#8220;We are giving you credit<br />
on this project, surely you can return the favor.&#8221; SCS got its card<br />
shortly thereafter.</p>
<p>SCS also developed (mostly my code) an information retrieval system<br />
for scientific article citations under contract with Connaught<br />
Laboratories. Their Apple had a 5mb hard disk with a VCR-based backup<br />
tape drive. Complex queries were evaluated in parallel to save disk<br />
accesses because they were very slow. The development machine had 48kb<br />
and three 360kb floppies.</p>
<p>There might not be an SCS today were it not for Steve Jobs and Apple<br />
Computer, the company he co-founded.</p>
<p>Jobs has earned an exalted place in history. He will be missed.</p>
<p>Please enjoy what&#8217;s linked to below. There are lessons for SCS today in<br />
what he says.</p>
<p>Steve Jobs: &#8216;Computer Science Is A Liberal Art&#8217;</p>
<p>http://www.npr.org/player/v2/mediaPlayer.html?action=1&#038;t=1&#038;islist=false&#038;id=141118621&#038;m=141128513</p>
<p>Jobs Stanford commencement speech.</p>
<p><object width="640" height="480"><param name="movie" value="http://www.youtube.com/v/D1R-jKKp3NA?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/D1R-jKKp3NA?version=3" type="application/x-shockwave-flash" width="640" height="480" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Steve Jobs Interview extract.</p>
<p>2. What is perhaps the most valuable thing you learned in college?</p>
<p>“Because I had dropped out and didn&#8217;t have to take the normal classes, I<br />
decided to take a calligraphy class. I learned about serif and sans<br />
serif typefaces, about varying the amount of space between different<br />
letter combinations, about what makes great typography great. It was<br />
beautiful, historical, artistically subtle in a way that science can&#8217;t<br />
capture, and I found it fascinating.”</p>
<p>3. How was this useful to you?</p>
<p>“Ten years later, when we were designing the first Macintosh computer,<br />
it all came back to me. And we designed it all into the Mac. It was the<br />
first computer with beautiful typography. If I had never dropped in on<br />
that single course in college, the Mac would have never had multiple<br />
typefaces or proportionally spaced fonts.”</p>
<p>4. What lesson did you take from this?</p>
<p>“You can&#8217;t connect the dots looking forward. You can only connect them<br />
looking backwards. So you have to trust that the dots will somehow<br />
connect in your future.”</p>
<p>5. What maxim has guided your life?</p>
<p>“You have to trust in something — your gut, destiny, life, karma,<br />
whatever. This approach has never let me down, and it has made all the<br />
difference in my life.”</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=72&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/Dzui4ECYMQY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/10/07/thoughts-about-steve-jobs-and-scs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99a60fba668cb72b55972edb2e6b62ee?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">rcichelli</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/10/07/thoughts-about-steve-jobs-and-scs/</feedburner:origLink></item>
		<item>
		<title>Computing color positions during ad dummying – some history.</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/avoB7P3BgpY/</link>
		<comments>http://newspapersystems.wordpress.com/2011/07/25/computing-color-positions-during-ad-dummying-some-history/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 21:13:48 +0000</pubDate>
		<dc:creator>Richard J. Cichelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[color positions]]></category>
		<category><![CDATA[ColorAdBoss]]></category>
		<category><![CDATA[Layout-8000]]></category>
		<category><![CDATA[press impositions]]></category>
		<category><![CDATA[WebPresser]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=69</guid>
		<description><![CDATA[SCS’s ColorAdBoss™ works in conjunction with Layout-8000™ to compute press impositions as color ads are placed during edition design. At least for initial placement, this can be done independently of pressroom help. The politics of allowing advertising departments to control &#8230; <a href="http://newspapersystems.wordpress.com/2011/07/25/computing-color-positions-during-ad-dummying-some-history/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=69&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SCS’s ColorAdBoss™ works in conjunction with Layout-8000™ to compute press impositions as color ads are placed during edition design. At least for initial placement, this can be done independently of pressroom help.</p>
<p>The politics of allowing advertising departments to control color ad placement is interesting to say the least. We found this out in the late 80’s when we released, sold and installed ColorAdBoss’s predecessor called WebPresser™.</p>
<p>WebPresser was unique technology for the newspaper business. It was (and except for ColorAdBoss, still is) the only successfully marketed computer program which actually computes press layouts while the edition is being designed and therefore while more color positions can still be sold.</p>
<p>This sounds like something every advertising department would love to use – and perhaps they would. But it challenges the traditional role of the pressroom foreman and his relationship with the layout staff.</p>
<p>By the end of 1993 we had sold nearly $100K of WebPresser technology to 59 sites, but the importance of WebPresser went far beyond the minimal amount of our revenue that this represented. Its importance was more closely tied to how it distinguished us from competitors who might also market ad dummying software. WebPresser had tactical and strategic importance which helped us protect our market share with Layout-8000. Here is what it looked like in 2002.</p>
<p>Read my memo of March 7, 1989 about the back-story including how we used it tactically to defeat a challenge from Composition Systems Inc. (CSI) that threatened our dominance in the automated dummying business. The memo also contains a good description of the potentially adversarial battle between the advertising department and the pressroom foreman about how much color can be run in the paper and the edge that WebPresser could give the advertising staff.<br />
Here is a summary of some additional details from other folks who were around and involved in the story for those who remember the era.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=69&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/avoB7P3BgpY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/07/25/computing-color-positions-during-ad-dummying-some-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99a60fba668cb72b55972edb2e6b62ee?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">rcichelli</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/07/25/computing-color-positions-during-ad-dummying-some-history/</feedburner:origLink></item>
		<item>
		<title>Creative And Innovative Ads –  Good Idea or a Distraction?</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/Z4X09XAYM_I/</link>
		<comments>http://newspapersystems.wordpress.com/2011/02/25/creative-and-innovative-ads-%e2%80%93-good-idea-or-a-distraction/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 17:44:16 +0000</pubDate>
		<dc:creator>Richard J. Cichelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=47</guid>
		<description><![CDATA[Follow SCS on Facebook and on Twitter Let’s say your marketing department comes up with a product that they claim is “new and brilliant.”  After being impressed, you go to the production and technology departments and say, “Look at this &#8230; <a href="http://newspapersystems.wordpress.com/2011/02/25/creative-and-innovative-ads-%e2%80%93-good-idea-or-a-distraction/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=47&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Follow SCS on <a href="http://www.facebook.com/pages/Nazareth-PA/Software-Consulting-Services-LLC/185597134518"><br />
<img style="border:0;" src="http://www.newspapersystems.com/images/facebook.jpg" alt="" /> Facebook</a> and on<br />
<a href="http://www.twitter.com/SCSnewspapers"><br />
<img src="http://www.newspapersystems.com/images/twitter.png" alt="" /> Twitter</a></p>
<p>Let’s say your marketing department comes up with a product that they claim is “new and brilliant.”  After being impressed, you go to the production and technology departments and say, “Look at this wonderful new product.  Make changes so we can sell and produce them.”  If either of these departments responds with, “I’m not sure this is a good idea,” I wouldn’t blame you for being frustrated and suspicious.  Why can’t you have this wonderful, shiny, new thing to sell?  Why shouldn’t you be innovative and creative?  After all, isn’t that what marketing departments are all about?</p>
<p>Our company, Software Consulting Services, LLC, works with the technology and production departments of newspapers; we also work with the advertising and accounting departments.  Nothing would make us happier than finding new ways to be creative and innovative in the support of increasing ad sales in newspapers.  Clearly, arguing against the idea of creative and innovative ads seems, at least superficially, bullheaded, and yet that’s what I’m going to do here.</p>
<p>Our software, <a href="http://www.newspapersystems.com//Layout8000.html">Layout-8000™</a>, is a product with a 30-year history of serving newspaper needs.  Layout-8000 helps newspapers design their products.  It computes what are called dummies.  A dummy is a sketch of the design of an edition.  When you design a newspaper edition, you first figure out where the ads are going to go.  This is called display ad dummying.  Page dummies, both graphical and electronic, are produced by Layout-8000, showing where ads are to be placed in editions.   Ad dummies are sent to pagination systems where news is flowed onto pages and display ads are inserted into the locations specified by the dummying package.  Completed pages can then be output.</p>
<p>At many newspapers, desktop publishing tools are used for the news pagination step.  There are interfaces from Layout-8000 to such tools as QuarkXPress® and Adobe’s InDesign®.  (SCS co-invented Quark xTensions®.)  In general, if what you make with <a class="zem_slink" title="QuarkXPress" href="http://www.quark.com/" rel="homepage">QuarkXPress</a> or <a class="zem_slink" title="Adobe InDesign" href="http://www.adobe.com/products/indesign/main.html" rel="homepage">InDesign</a> can fit on a plate to be installed on a press, then the page image can appear in a newspaper edition.</p>
<p>So what do marketing departments think of when they are talking about creative and innovative ads?  They look at the rectangular boxes so many columns wide and so many inches or centimeters high and say, “We should have ads that aren&#8217;t limited to being rectangular boxes.  Maybe they can be “L-shaped” or “H-shaped” or “U-shaped.” Wouldn&#8217;t that be more creative?  Why are we limited to the boundaries of columns?  Why shouldn&#8217;t we be able to have an ad that is exactly 2.7695 columns wide?  And, this business of having ads that are rectangular is even further limiting.  Why shouldn&#8217;t we be able to have an ad that is like a circle or a star?”  Now there’s innovation for you.</p>
<p>There is no limitation to the creativity of marketing departments.   I’m sure you&#8217;ve seen ads that are sold to be placed upside down.  Others have tried shadow ads where a black and white page has a spot color shadow of a display ad plopped right on top of copy. I&#8217;ve even seen newspapers run ads diagonally across the page or turned ninety degrees to fit vertically into a column.  Believe it or not, last month we had a Brazilian newspaper go live with Layout-8000 and during the first week of working with it, they ran a number of pages in 3-D.   They even gave away the funny looking glasses with each copy.</p>
<p>Suggesting that there might be practical limitations to creativity and innovation puts someone like me in the role of humbug.  Well, I’m willing to be a humbug.</p>
<p>The first thing we need to do is choose a more neutral term for describing these strange artifacts that are blessed with the names “creative and innovative.”  I call them “novelty ads.”  The word novelty is pretty much devoid of either positive or negative connotations.  Using it allows one to more fully appreciate what’s going on.  Two things are at work.  First, advertisers want readers to notice their ads.  Newspapers say, “We will run it far forward, run it on a right-hand side or run it in color.  Take the whole page.  If that’s not enough, let’s be creative and innovative.  What kind of novelty would you like?  Would you like an ad that is mis-shaped, mis-sized or mis-positioned?  We can do that too.”</p>
<p>Here’s the rub.  Let’s say that an advertiser and a salesperson agree on an ad that’s shaped like a “U.”  It goes down the left hand side of the page, across the bottom and up the right.  Surely you can produce a page that has such an ad on it in InDesign.  You might not be able to order it in your advertising order-entry and accounting system, and when it comes to dummying the entire paper, I&#8217;ve never met an advertiser willing to have their ad sit in the middle of a “U-shaped” ad placed by another advertiser.  Their ad wouldn&#8217;t be noticed at all.</p>
<p>What’s the problem?  You have a “U-shaped” ad and you want it to go on some page.  Somehow you order this ad in the order-entry system so you can price it and bill it.  And, just as equally surely, no other advertiser is going to want to be on that page so you would order the ad as a “single ad” for Layout-8000.  This indicates that the ad should be the only one on the page.  From there, you set up a block that is the size of the page, call it a single ad, place the block on the page and put a page message note, “this has the u-shaped ad.”   Then the paginater can get the u-shaped ad and stick it on the page with the other copy and editorial content that might go there.</p>
<p>Remember that when dealing with such a u-shaped ad, you are not talking about doing classified pages in Layout-8000.  If you wanted to do a u-shaped ad with SCS’s software for classified pagination, you would factor the ad into pieces as if they were folded, long legals and place the pieces on the page and paginate the other classified liners and display ads around it.</p>
<p>To deal with the issues of design and production of novelty ads, experimentation should be encouraged but the ads should be dealt with as <em>the exceptions they are</em>.</p>
<p>There are lessons to be learned from other industries and other new product development situations.</p>
<p>Here’s an example from AutoCad®.  You can use the architectural module of <a class="zem_slink" title="AutoCAD" href="http://www.autodesk.com/autocad" rel="homepage">AutoCad</a> to design buildings.  Most buildings, like most ads, come out right side up.  However, there is at least one situation where a building was built to look like it was built upside down.  One of the franchised “<a class="zem_slink" title="Ripley's Believe It or Not!" href="http://en.wikipedia.org/wiki/Ripley%27s_Believe_It_or_Not%21" rel="wikipedia">Ripley’s Believe It or Not</a>” sites looks like a building that was completely flipped over.  Would you add a button, a configuration, a context for designing upside-down buildings to AutoCad because of this one exception?  I think not.  An exception is an exception and should be dealt with as a one-off situation until it proves that it deserves more than that.</p>
<p>Here’s a second example.  In this example, everything that was a one-off situation became standardized.  This standardization led to a new world order in global commerce.</p>
<p>It used to be that goods were shipped in whatever container they fit in. Packing the ship&#8217;s cargo hold amounted to gathering and stacking individual packages.  The process was labor-intensive, slow, costly, subject to error and inviting of pilferage.  Modern cargo ships plow the oceans with containers that are all exactly the same size.  Ships are built to hold thousands of them.  Cranes and trucks are all synchronized to support the easy handling and transport of standardized cargo containers.  The essential standardization of cargo containers would be ill-served by any deviation from specification in the name of creativity or innovation.  Automation through standardization trumps “creative” variability.  It’s true for containers; it’s also true for newspaper ads.  The future for advertising solutions argues for minimizing the presence of novelty ads.</p>
<p>I am a strong proponent of innovation; I’m just an enemy of wasteful novelty.  Innovation is important but there’s a context that must be appreciated.  Newspapers are in decline.  If the newspaper business experiences only a single-digit percentage decline in advertising revenue in a year-to-year quarterly analysis, that’s now regarded as “holding steady” or “good.”</p>
<p>The history of industries in decline is often characterized by a rash of innovation.  This is something that our company tried unsuccessfully for awhile only to later learn that we were typical of those serving declining industries.  Innovation can get in your way.  It can prevent you from doing the right things.</p>
<p>Innovative new products in declining industries cause already stressed sales departments to be confused and even less effective.  It will happen to you, if it hasn’t already.</p>
<p>This business pattern is not unique to newspapers or to vendors serving newspapers.  In the early 1800s, when steam ships were replacing sailing ships, those that built sailing ships innovated at a furious pace.  They worked on making their vessels larger and speedier.  They pointed out that the wind provided free propulsion.  They innovated with things like five-masted schooners.  Nevertheless, steam took over.</p>
<p>There is room for creativity and innovation in newspaper ad sales. Some publishers get it.  Martin Till, publisher of the Express-Times in Easton, PA (serving the counties in and around the Lehigh Valley as well as into New Jersey), has worked on an innovative pricing formula. Instead of having different prices for color versus black and white, the Express-Times has innovated with pricing all ads the same.  One advantage of this is that more color ads are purchased.  Best of all, the more color, the better the paper looks. What is needed, as Mr. Till shows, is <em>innovation in selling</em>, not necessarily innovation in products.  Selling more color ads is better than selling more triangular, circular or star-shaped ads.</p>
<p>There are other areas to innovate in with enhanced automation: publishing more products, paginating and printing the products of others, etc.  Get away from one-off solutions, avoid narrowly focused innovation like dead-ends and blind alleys.</p>
<p>On the positive side, what about <a href="http://www.newspapersystems.com/ReserveAdBoss.html"> selling premium locations</a>?   We have developed and provide a product that manages reservations for premium space.  Two of our metro customers, the San Francisco (CA) Chronicle and the Detroit (MI) News and Free Press, use it as a tool for generating additional revenue.  It can be used in a self-service, online, web-based mode, tracking and allocating premium positions.  It even supports selling by template.  Of course its output can be used by Layout-8000.</p>
<p>Another innovative sales tool from SCS <a href="http://www.newspapersystems.com/StandbyAdBoss.html">manages standby/remnant advertising</a>.  Here’s a tool for replacing unpaid fillers with paid advertising.  It ties directly into Layout-8000 and manages ads in the context of space available during a dummying session.  You can sell remnant ads like Orbitz sells discounted hotel rooms. It’s another tool for innovative selling.</p>
<p>And we have the first tool to <a href="http://www.newspapersystems.com/ColorAdBoss.html">compute press impositions</a> in the context of the ad layout process.  It allows you to run more color more simply.  Let’s say you are running fewer pages.  If you don’t have a collection of tower units, you can still run more color if you link units.  It takes smarts to compute such linking.  Our tool has them.</p>
<p><em>So here’s my message</em>.  As long as your print product is your primary revenue source, innovate by seeking the highest level of automation.  Perhaps this will mean less novelty in the ads that you are selling, but the savings that you will generate by not dealing with exceptions should more than compensate for any outlier sales you might get from novelty ads.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=47&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/Z4X09XAYM_I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/02/25/creative-and-innovative-ads-%e2%80%93-good-idea-or-a-distraction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99a60fba668cb72b55972edb2e6b62ee?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">rcichelli</media:title>
		</media:content>

		<media:content url="http://www.newspapersystems.com/images/facebook.jpg" medium="image" />

		<media:content url="http://www.newspapersystems.com/images/twitter.png" medium="image" />
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/02/25/creative-and-innovative-ads-%e2%80%93-good-idea-or-a-distraction/</feedburner:origLink></item>
		<item>
		<title>Tools to assess newspaper readability – are they still important?</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/z53p6YbVgGs/</link>
		<comments>http://newspapersystems.wordpress.com/2011/02/04/tools-to-assess-newspaper-readability-are-they-still-important/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 15:07:11 +0000</pubDate>
		<dc:creator>Richard J. Cichelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=35</guid>
		<description><![CDATA[I recently read a grant request for research that planned to use the Gunning-Fog index to assess newspaper readability. One PhD thesis I reviewed years ago for the University of Texas suggested that when newspapers began hiring college graduates (and &#8230; <a href="http://newspapersystems.wordpress.com/2011/02/04/tools-to-assess-newspaper-readability-are-they-still-important/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=35&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently read a grant request for research that planned to use the <a class="zem_slink" title="Gunning fog index" rel="wikipedia" href="http://en.wikipedia.org/wiki/Gunning_fog_index">Gunning-Fog index</a> to assess newspaper readability.  One PhD thesis I reviewed years ago for the University of Texas suggested that when newspapers began hiring college graduates (and the readability score of newspaper copy they wrote got higher &#8211; i.e., written for a higher education level), the audience for the newspaper&#8217;s content declined in proportion. The thesis asserted that this was the primary cause for the circulation declines in the 60&#8242;s and 70&#8242;s.</p>
<p>Robert Gunning helped make the <a class="zem_slink" title="The Wall Street Journal" rel="homepage" href="http://www.wsj.com/">WSJ</a> more readable.  <a class="zem_slink" title="Bernard Kilgore" rel="wikipedia" href="http://en.wikipedia.org/wiki/Bernard_Kilgore">Barney Kilgore</a> was the transformative journalist who hired Gunning.  This lead to the<br />
Journal becoming one of the most readable newspapers in the country.<br />
Its circulation rapidly grew from 250,000 to over a million as Gunning&#8217;s suggestions for clear writing were adopted.  (He said you don&#8217;t need complex language to explain complex topics.  In fact, complex language works against understanding.)</p>
<p>The Audit Bureau of Circulation recently reported that the WSJ was the only newspaper that increased its daily circulation  (to over 2 million) between October, 2009 and March, 2010. Is there still a message here about clear writing?</p>
<p>At the American Newspapers Publishers Association Research Institute<br />
(ANPA/RI) in the mid-70s, I was responsible for creating and testing an advanced fog index calculator.  The Society of Newspaper Editors<br />
campaigned against this and several other applications we developed,<br />
including one that did relatively intelligent story cutting and fitting. They were opposed to almost any machine analysis of editorial<br />
content.  They made quite a stink and the RI backed off.</p>
<p>Later nearly everyone liked my spelling checker. Word processors of the day checked 60 words a minute.  My patented device checked 15,000 per second. The software version was pretty fast and allowed the mini-computer based newsroom systems of the day to provide spelling checking.  (In our current systems we test words at over 125,000 per second.  The tester can work on any set membership task.)</p>
<p>The grant request I read also addressed the idea of measuring quality and/or political bias in metro newspapers.  I&#8217;m much more curious about local content in local newspapers than in metros.  The large national newspapers seem to offer few surprises regarding quality (usually good) and political bias (predictable). I&#8217;d like to see some thought put into assessing the quality and depth of local coverage by community newspapers.</p>
<p>There seem to still be plenty of areas where computer science could help newspapers improve.  Are they willing to listen?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=35&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/z53p6YbVgGs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/02/04/tools-to-assess-newspaper-readability-are-they-still-important/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99a60fba668cb72b55972edb2e6b62ee?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">rcichelli</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/02/04/tools-to-assess-newspaper-readability-are-they-still-important/</feedburner:origLink></item>
		<item>
		<title>Writing good code: opinions of the Theorist, the Implementer and the Pragmatist</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/3pqo-UTBtBE/</link>
		<comments>http://newspapersystems.wordpress.com/2011/01/10/writing-good-code-opinions-of-the-theorist-the-implementer-and-the-pragmatist/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 19:49:54 +0000</pubDate>
		<dc:creator>newspapersystems</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=22</guid>
		<description><![CDATA[A conversation with a Girl who Writes Code Sharon: Dad, why would you use a macro instead of a procedure or function? Dad:  Good question, Sharon.  I have some opinionated experts here to help answer this important question.  What are &#8230; <a href="http://newspapersystems.wordpress.com/2011/01/10/writing-good-code-opinions-of-the-theorist-the-implementer-and-the-pragmatist/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=22&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A conversation with a <a href="http://www.girlwritescode.com/">Girl who Writes Code</a>  </p>
<p><strong>Sharon</strong>: Dad, why would you use a macro instead of a procedure or function?</p>
<p><strong>Dad</strong>:  Good question, Sharon.  I have some opinionated experts here to<br />
help answer this important question.  What are your thoughts on the subject?</p>
<p><strong>Sharon</strong>: I write a lot of code.   I want it to be reliable, maintainable,<br />
efficient and easily produced.</p>
<p><strong>Pragmatist</strong>: Joel (as in &#8220;Joel on Software&#8221;) says &#8220;Don&#8217;t repeat yourself.&#8221;</p>
<p><strong>Sharon</strong>:  Well, if code is to be easily maintainable, it will have to be<br />
readable.   I&#8217;ll want terse but easily understood code.</p>
<p><strong>Dad</strong>:  Wouldn&#8217;t it be nice if programming could be more automated?</p>
<p><strong>Sharon</strong>:  You mean like David Parnas wanted to see.  An engineering<br />
discipline of software development, where tested components were<br />
manufactured and then combined into reliable sub-assemblies and from<br />
there into systems?</p>
<p><strong>Dad</strong>: Yes, exactly.   Parnas thought doing software needed to be a more<br />
systematic endeavor.</p>
<p><strong>Sharon</strong>:  What became of his work?</p>
<p><strong>Dad</strong>: The Japanese claimed to have built such a culture and the West<br />
thought it would take over the world.  That was 20 years ago, and it<br />
hasn&#8217;t happened yet.</p>
<p><strong>Sharon</strong>: Back to the question of macros vs. procedures and functions, please!</p>
<p><strong>Implementer</strong>:  My compiler includes a pre-processor that expands macros.<br />
You get inline code on macro invocation.  For procedures and functions<br />
you get reusable code blocks that can be invoked via procedure calls<br />
over and over.  The macros execute faster because they are inline while<br />
they make bigger code images because they are replicated whenever<br />
invoked.   Procedures and functions usually save space but have the<br />
overhead of the procedure or function call and eventual return.</p>
<p><strong>Theorist</strong>:  Actually thinking of the implementation doesn&#8217;t much help<br />
with understanding the real differences.  You want to write clearer yet<br />
more terse and reliable programs.  This starts with the  notion of type.<br />
Types are the names of sets of values. Variables hold values. The<br />
beauty of types is that with types, programs written in imperative<br />
programming languages offer a way to declare consistency requirements<br />
for operands.  When operands of the same type can be treated the same,<br />
appropriate operators can be defined.  If variables (operands) have<br />
known, that is, static types, then compilers can check for consistent<br />
usage.  This protects the programmer from making many intractable errors<br />
and even allows more optimized code generation.</p>
<p>Declare a type and a set of procedures and functions that work with it<br />
and you have the making of a library of components.  Step one in<br />
engineering software.</p>
<p>Better yet, combine these two ideas and make classes.  You<br />
can make things doubly secure.</p>
<p><strong>Pragmatist</strong>:   I&#8217;m not so sure.  Making classes helps me encapsulate<br />
abstract types and operators, but how does it work in practice?  Let&#8217;s<br />
say I need to process things last in, first out, that is, in stack-like<br />
fashion.   So I know the logic for handling stacks.  Where do I go from<br />
there?   I&#8217;d like to have many stacks, each differing by the type of<br />
elements the stack holds and yet having the same operators. It&#8217;s<br />
complicated. I&#8217;m confused.</p>
<p><strong>Theorist</strong>:  No confusion necessary.   You just encapsulate the notion of<br />
stack and apply operators with the same name.  It&#8217;s called polymorphism.<br />
It looks the same, but works differently.</p>
<p><strong>Pragmatist</strong>:  You mean it looks like a duck, walks like a duck, quacks<br />
like a duck, but isn&#8217;t a duck?  What if some stacks are slightly<br />
different from others?</p>
<p><strong>Theorist</strong>: No problem.  Just include the parts that are the same and<br />
differentiate that which is different.  It&#8217;s called inheritance.</p>
<p><strong>Pragmatist</strong>: We have gotten a long way from abbreviating code for clarity<br />
and efficiency.  Is this really going to solve the problem Parnas lays out?</p>
<p><strong>Dad</strong>: Hasn&#8217;t yet.</p>
<p><strong>Implementer</strong>:  You would not believe how complex compilers are getting<br />
these days.</p>
<p><strong>Dad</strong>: And then there is the structure clash.  Database management systems<br />
make data access available externally to and independently of<br />
application code.   Encapsulated data certainly cannot be externally<br />
available.  That&#8217;s why there are relational to object-oriented mapping<br />
technologies.  It might just be that one notion or another is incompatible.</p>
<p><strong>Sharon</strong>:  So what&#8217;s wrong with class libraries?</p>
<p><strong>Dad</strong>:  Not much.  However the bigger and more versatile they get, the<br />
more complex and less transparent they get. (Even Julian Assange knows<br />
lack of transparency is bad.) If a programmer runs into a situation<br />
where the library routine is almost, but not quite, what he or she<br />
needs, what happens?  If the library is a set of binaries, then a new<br />
module is written.  If there is source available, then the source might<br />
be edited forking the module or increasing its complexity and<br />
potentially introducing instability.</p>
<p>BTW &#8211; When Parnas wrote about the software engineering crisis, Fortran<br />
was being promoted as a tool for automated programming.  How times have<br />
changed and how much they have stayed the same.</p>
<p>Sometimes it is better to just make a new language, one that has a<br />
notation that very precisely fits the application domain &#8211; a domain<br />
specific language, (DSL).</p>
<p><strong>Sharon</strong>:  Where do macros come in?</p>
<p><strong>Dad</strong>:  Early on elaborate macro processing was built into assemblers and<br />
text processors (composition systems).</p>
<p>For typography you could name a visual effect and apply it to any type<br />
(i.e., copy) you wished.  Properly done you could extend a macro<br />
processor-based composition language, like RNF, troff or TeX, to many<br />
application areas.  They allowed you to define your own domain specific<br />
languages.</p>
<p>For assemblers, macro facilities made generating appropriate tedious<br />
code sequences easier.  Eventually, macro processors built for<br />
assemblers became so general purpose that the code a programmer wrote<br />
appeared to be written in a high-level structured language.   Macro<br />
processors could even be used to re-target code to different machine<br />
architectures.</p>
<p>Powerful macro processing facilities were built into some compilers.<br />
These allowed programmers to code extensions to the base language that<br />
looked as if they were there from the start.</p>
<p><strong>Theorist</strong>:  Yes, but the generality of macro processing must be weighed<br />
against the lack of verification that comes with that power.  You<br />
should have seen the macro processor that was first used to translate<br />
C++ into C.</p>
<p><strong>Pragmatist</strong>:  All this theory sounds good, but I still want to make<br />
applications that work and to do so quickly.   I like to use module<br />
builders.   What do you think of them?</p>
<p><strong>Dad</strong>: I love module builders.   They are the perfect anti-theoretical<br />
technology.  They work extremely well in practice but offer virtually no<br />
theoretical underpinning.  You couldn&#8217;t get a PhD studying them, ever,<br />
but you could build SugarCRM and dozens of other powerful and useful<br />
applications.</p>
<p>If it were not for module builders, the web would be a much less<br />
interesting place.</p>
<p>What we have made and are continuing to develop is technology which<br />
includes generalized module building technology as a component.</p>
<p>Much of this relates back to macros.  Where they started and left off<br />
was as tools for manipulating code.   Code &#8211; not objects, abstract data<br />
types, stacks, queues, etc., just code.  Code is what you wanted to make<br />
in the first place, after all.</p>
<p>Only by manipulating code can you deal with non-local issues globally,<br />
as in the case of security technology.  It needs to operate everywhere<br />
but appear nowhere.</p>
<p>Much of what gives theorists heartburn can be dealt with by targeting a<br />
very strongly typed domain specific language.  Its compiler can pick up<br />
type conflicts.</p>
<p>Still, one has to ask about our approach at SCS.  What is it?  Will it work?</p>
<p>Our tools development proceeds both top down and bottom up.   There are<br />
three basic parts &#8211; the DSL, called the spice formula language; the Spice<br />
Pattern Language and the Spice Macro Pre-processor.   They function<br />
together to both become and to generate applications.  Bassett frames,<br />
macros, patterns and most other concepts that support automatic program<br />
generation are part of their feature set.   That&#8217;s the top down part.</p>
<p>The bottom up part is that as the tools are enhanced they are put to<br />
almost immediate use.  Many features are incorporated based on day-to-day programming experience.   Programmer desire drives feature<br />
development.  The tools are used to build very large mission-critical<br />
applications in which new versions are deployed agilely nearly every<br />
four weeks.  Every iteration includes multiple enhancements (often major<br />
ones) and significant code re-factoring to take advantage of tool<br />
enhancements.</p>
<p>Best of all it works at major companies every day.</p>
<p>Richard J. Cichelli (aka Dad)<br />
President, SCS</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=22&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/3pqo-UTBtBE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2011/01/10/writing-good-code-opinions-of-the-theorist-the-implementer-and-the-pragmatist/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dbeacd580689142cbe4534fe5390b3d?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">newspapersystems</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2011/01/10/writing-good-code-opinions-of-the-theorist-the-implementer-and-the-pragmatist/</feedburner:origLink></item>
		<item>
		<title>What you will find here</title>
		<link>http://feedproxy.google.com/~r/wordpress/VqZOd/~3/fVyVDriWBdM/</link>
		<comments>http://newspapersystems.wordpress.com/2010/12/14/what-you-will-find-here/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 17:08:40 +0000</pubDate>
		<dc:creator>newspapersystems</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://newspapersystems.wordpress.com/?p=17</guid>
		<description><![CDATA[Richard J. Cichelli, the President and co-owner of SCS, has been involved in the development of newspaper software almost since newspapers began using computers.  Before joining me (Martha) at SCS, he was the Research Manager of Computer Applications at the ANPA/RI &#8230; <a href="http://newspapersystems.wordpress.com/2010/12/14/what-you-will-find-here/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=17&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Richard J. Cichelli, the President and co-owner of SCS, has been involved in the development of newspaper software almost since newspapers began using computers.  Before joining me (Martha) at SCS, he was the Research Manager of Computer Applications at the ANPA/RI (predecessor of the NAA &#8211; Newspaper Association of America).  From that era came Layout-80 (later transformed into Layout-8000), the first and preeminent page dummying software as well as ReQueSt-DB (an apparatus and software for providing searchable classified ads on cable TV) which has matured and spawned some pretty impressive search algorithms.</p>
<p>Richard is more than an IT expert or a technologist.  What drives him (in addition to his passion about newspapers) is the desire to push the limits of computer science to implement the best algorithms with the best tools he can design. He&#8217;s committed to creating software that is fast, efficient, machine and operating system independent and that solves &#8220;tough problems.&#8221;</p>
<p>That&#8217;s what you&#8217;ll read about here &#8211; the research, the thinking, the design philosophy and the creation of development tools that continues to make this possible.</p>
<p>Martha J. Cichelli</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/newspapersystems.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/newspapersystems.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/newspapersystems.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=newspapersystems.wordpress.com&amp;blog=18410468&amp;post=17&amp;subd=newspapersystems&amp;ref=&amp;feed=1" width="1" height="1" /><img src="http://feeds.feedburner.com/~r/wordpress/VqZOd/~4/fVyVDriWBdM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://newspapersystems.wordpress.com/2010/12/14/what-you-will-find-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dbeacd580689142cbe4534fe5390b3d?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">newspapersystems</media:title>
		</media:content>
	<feedburner:origLink>http://newspapersystems.wordpress.com/2010/12/14/what-you-will-find-here/</feedburner:origLink></item>
	</channel>
</rss>

