<?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>Greg's Place &#187; Technology</title>
	<atom:link href="http://gregrushton.com/archives/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://gregrushton.com</link>
	<description>Personal Thoughts and Family Pictures</description>
	<lastBuildDate>Mon, 15 Mar 2010 12:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Plug for Pragmatic Bookshelf</title>
		<link>http://gregrushton.com/archives/5237</link>
		<comments>http://gregrushton.com/archives/5237#comments</comments>
		<pubDate>Thu, 05 Nov 2009 14:29:36 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=5237</guid>
		<description><![CDATA[I&#8217;m a big fan of the Pragmatic Bookshelf site where a typical purchase includes the paper copy as well as a personalised PDF. So far, I have the Stripes, Core Data, and Beginning Mac Programming books/pdfs. They also have some screencasts which look interesting as well. In the meantime, I continue in my efforts to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a big fan of the <a href="http://www.pragprog.com/">Pragmatic Bookshelf</a> site where a typical purchase includes the paper copy as well as a personalised PDF. So far, I have the <a href="http://www.pragprog.com/titles/mzcd/core-data">Stripes</a>, <a href="http://www.pragprog.com/titles/mzcd/core-data">Core Data</a>, and <a href="http://www.pragprog.com/titles/tibmac/beginning-mac-programming">Beginning Mac Programming</a> books/pdfs. They also have some screencasts which look interesting as well.</p>
<p>In the meantime, I continue in my efforts to migrate from the Java web-app paradigm to the mac desktop/mobile app way of doing things. I think my biggest conceptual hurdle is navigating the bindings in Interface Builder. I much prefer the old-fashioned way of coding &#8230; using text. Using a new-window-happy application to manage object bindings just makes my head hurt when trying to find the right triangle to click, the right checkbox or option to select, or trying to determine why something isn&#8217;t connected the way I think it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/5237/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax</title>
		<link>http://gregrushton.com/archives/327</link>
		<comments>http://gregrushton.com/archives/327#comments</comments>
		<pubDate>Thu, 06 Oct 2005 19:31:19 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=327</guid>
		<description><![CDATA[I&#8217;ve been too far out of the loop lately with recent technologies. However, I&#8217;ve been rapidly making up for lost time now that I have some solid reading time on the commuter rail. TechCrunch is a great site for keeping up with all sorts of new applications coming out, but this page just lists Ajax [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been too far out of the loop lately with recent technologies. However, I&#8217;ve been rapidly making up for lost time now that I have some solid reading time on the commuter rail. <a href="http://www.techcrunch.com/index.php">TechCrunch</a> is a great site for keeping up with all sorts of new applications coming out, but <a href="http://techcrunch.worldoutline.com/Ajax/">this page</a> just lists Ajax applications. I just looked at the <a href="http://www.kiko.com/">Kiko calendar app</a> and it&#8217;s pretty slick for a beta product.</p>
<p>That, some updates to the <a href="https://appfuse.dev.java.net/">AppFuse project</a> and a newly discovered <a href="https://trails.dev.java.net/">Trails</a> project left me with quite a bit to read through and digest. I&#8217;ve spent quite a bit of time reviewing the <a href="http://www.jboss.com/docs/demos">JBoss demo</a> apps as well, as they are all built on java 1.5 and use EJB3. Unfortunately, my current project is still java 1.4 and very old (over 4 years now), so  I usually delve into the demo apps to get a grip on them. I&#8217;m quite envious of the simplifications to J2EE webapps and the new features like <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html">Annotations</a> and <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html">Generics</a>. The simplified <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html">for loop</a> is also quite nice. It&#8217;s good to see the language gurus weeding out the syntactic obstacles in these updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/327/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photo Gallery Updates</title>
		<link>http://gregrushton.com/archives/323</link>
		<comments>http://gregrushton.com/archives/323#comments</comments>
		<pubDate>Wed, 21 Sep 2005 14:59:31 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=323</guid>
		<description><![CDATA[I finally bit the bullet and moved to a full-featured photo gallery tool. In my case, I chose Coppermine. It has quite a few nice features, and I&#8217;ve liked the other sites that have implemented it. So, I spent a little while moving over the image folders to the coppermine directory, re-linking the posts with [...]]]></description>
			<content:encoded><![CDATA[<p>I finally bit the bullet and moved to a full-featured <a href="http://www.gregrushton.com/coppermine/index.php" target="gallery">photo gallery </a>tool. In my case, I chose <a href="http://coppermine.sf.net/">Coppermine</a>. It has quite a few nice features, and I&#8217;ve liked the other sites that have implemented it. So, I spent a little while moving over the image folders to the coppermine directory, re-linking the posts with gallery links, and deleting the old qdig installation. While qdig is quick and dirty, there are just too many things that it doesn&#8217;t do.</p>
<p>The other reason I decided to do this was that I accidentally blew away a bunch of pictures from old posts that used to be part of a separate &#8216;photos&#8217; section. I tried finding back-ups, but could only come up with about a quarter of them. So, I&#8217;ll be digging up the original photos and re-organizing some of those posts so that they point to the coppermine gallery. </p>
<p>Lastly, I&#8217;d like to update the coppermine theme with one that looks like the coffee cup theme I use for the main site. That shouldn&#8217;t be too much work &#8230; we&#8217;ll see. I did find quite a few coppermine themes at <a href="http://www.shuttertalk.com/gallery/index.php?cat=15">Shuttertalk.com</a>.</p>
<p>After downloading it, uploading the package, and trying to configure it to use ImageMagick, I had some trouble so I went to my hosting provider&#8217;s support site &#8230; almost. I use <a href="http://www.totalchoicehosting.com">totalchoicehosting.com</a>, but instead went to <a href="http://www.totalhosting.com">totalhosting.com</a> and pestered their tech-support people. To their credit, they did answer my queries promptly, politely, and accurately &#8230; despite the fact that I didn&#8217;t have an account with them. It turned out that totalchoicehosting has a nice feature where they will auto-install several packages for you. Coppermine turned out to be one of them &#8230; so I never had to go through the trouble in the first place.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/323/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Killer Games</title>
		<link>http://gregrushton.com/archives/315</link>
		<comments>http://gregrushton.com/archives/315#comments</comments>
		<pubDate>Wed, 10 Aug 2005 13:49:07 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=315</guid>
		<description><![CDATA[This is from the BBC. I had no idea it was literally possible to play a computer game to death. A South Korean man has died after reportedly playing an online computer game for 50 hours with few breaks.]]></description>
			<content:encoded><![CDATA[<p>This is from the <a href="http://news.bbc.co.uk/">BBC</a>. I had no idea it was literally possible to play a computer game to death.</p>
<blockquote><p>A South Korean man <a href="http://news.bbc.co.uk/2/hi/technology/4137782.stm">has died</a> after reportedly playing an online computer game for 50 hours with few breaks.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/315/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting the WP Categories</title>
		<link>http://gregrushton.com/archives/312</link>
		<comments>http://gregrushton.com/archives/312#comments</comments>
		<pubDate>Mon, 08 Aug 2005 18:14:13 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=312</guid>
		<description><![CDATA[OK, so the first thing I noticed after moving the content from a sub-directory to the main root was that categories were getting sorted by the ID. Since Uncategorized was the first entry, that was always at the top. It took me a few minutes, but digging into /wp-includes/template-functions-category.php found that the list_cats method had [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so the first thing I noticed after moving the content from a sub-directory to the main root was that categories were getting sorted by the <code>ID</code>. Since Uncategorized was the first entry, that was always at the top. It took me a few minutes, but digging into <code>/wp-includes/template-functions-category.php</code> found that the <code>list_cats</code> method had a default sort on the ID column. I changed <code>$sort_column = 'ID'</code> to <code>$sort_column = 'name'</code> and it&#8217;s looking a lot nicer.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/312/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving to WordPress</title>
		<link>http://gregrushton.com/archives/311</link>
		<comments>http://gregrushton.com/archives/311#comments</comments>
		<pubDate>Mon, 08 Aug 2005 13:52:09 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/?p=311</guid>
		<description><![CDATA[Well, it&#8217;s been so long, I&#8217;ve forgotten what it&#8217;s like to get into the weeds with a new editing system. I&#8217;ve used MT for so long, and gotten used to its quirks that other systems seemed to be intimidating. Well, when I saw the coffee-cup template for WordPress, I had to take the plunge. A [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s been so long, I&#8217;ve forgotten what it&#8217;s like to get into the weeds with a new editing system. I&#8217;ve used MT for so long, and gotten used to its quirks that other systems seemed to be intimidating. Well, when I saw the coffee-cup template for WordPress, I had to take the plunge. A couple of minor tweaks and it was up and running. </p>
<p>Another thing that helped me take the plunge was that there were poor choices for photo gallery management in MT &#8230; at least from my limited perspective there was. So far, QDig is looking like a nice alternative to the more complex systems out there. I have looked into a couple others for WP, but found them lacking. Specifically, IImageGallery and PhotoPress looked promising, but took far too much to get working and were pretty un-intuitive to manipulate. QDig is looking very easy &#8211; we&#8217;ll see how that works out. I am using IImageBrowser for multiple image uploads &#8230; that is working great. I&#8217;m also trying out one of the no-follow plugins and a referrer-spam blocker too.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/311/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transitioning Fuels</title>
		<link>http://gregrushton.com/archives/263</link>
		<comments>http://gregrushton.com/archives/263#comments</comments>
		<pubDate>Tue, 14 Dec 2004 16:53:04 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/wp/?p=263</guid>
		<description><![CDATA[I think this is one of Bush&#8217;s best ideas &#8230; to push for alternative fuels. In ten years, if we can drop our production by 50%, the world will be a tremendously different place. Of course, that assumes China doesn&#8217;t pick up the slack in consumption. But if all things were equal, the money flowing [...]]]></description>
			<content:encoded><![CDATA[<p>I think this is one of Bush&#8217;s best ideas &#8230; to push for alternative fuels. In ten years, if we can drop our production by 50%, the world will be a tremendously different place. Of course, that assumes China doesn&#8217;t pick up the slack in consumption. But if all things were equal, the money flowing toward oil producers would drop dramatically and force revolutionary changes. The US is the largest consumer market and will, by default, force the ball rolling. </p>
<blockquote><p>[ <a title="Rivals Join To Develop Hybrid-Car Technology (washingtonpost.com)" href="http://www.washingtonpost.com/wp-dyn/articles/A62110-2004Dec13.html">Rivals Join To Develop Hybrid-Car Technology (washingtonpost.com)</a> ]<br />In 2004, Americans will buy about 80,000 hybrids, Bruynesteyn wrote &#8212; a small fraction of the more than 16 million vehicles that will be sold overall. But he projected the hybrid market to climb to 470,000 vehicles in 2007 and to 3 million a year within a decade.</p></blockquote>
<p>Of course, I&#8217;m only echoing the ideas of others that have written on this. Friedman from the NYT, Phil Greenspun has something on this, and probably lots of others. More links to come if I have the time to dig them up.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/263/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s A Blogging Holiday Party!</title>
		<link>http://gregrushton.com/archives/261</link>
		<comments>http://gregrushton.com/archives/261#comments</comments>
		<pubDate>Thu, 02 Dec 2004 15:19:11 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/wp/?p=261</guid>
		<description><![CDATA[Looks like some A-list bloggers are meeting up next week for a get-together. I&#8217;d really like to go, but we&#8217;ll see how things pan out. Lots of issues on the family front are coming up in the next couple weeks. [ BloggerCon: ]You&#8217;re invited to the Scripting News Christmas party on Saturday December 11, 7PM-9PM, [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like some A-list bloggers are meeting up next week for a get-together. I&#8217;d really like to go, but we&#8217;ll see how things pan out. Lots of issues on the family front are coming up in the next couple weeks.</p>
<blockquote><p>[ <a title="BloggerCon:" href="http://www.bloggercon.org/2004/12/01#a2365">BloggerCon:</a> ]<br />You&#8217;re invited to the Scripting News Christmas party on Saturday December 11, 7PM-9PM, at the Hong Kong restaurant in Cambridge.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/261/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I hate Java</title>
		<link>http://gregrushton.com/archives/243</link>
		<comments>http://gregrushton.com/archives/243#comments</comments>
		<pubDate>Wed, 04 Aug 2004 20:04:39 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/wp/?p=243</guid>
		<description><![CDATA[Here are some reasons others hate java: Philip Greenspun&#8217;s Weblog: Java is the SUV of programming tools doa dead or alive dvdrip download Gripes about Java Java Bashing But my reasons are purely practical. It takes me multitudes of time longer to do something with a java utility than a perl utility. Errors are a [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some reasons others hate java:</p>
<div style="display:none"> <strong style="display:none"> </strong><strong style="display:none"></strong>  </div>
<ul>
<p style="display:none">
<li><a title="Philip Greenspun's Weblog: Java is the SUV of programming tools" href="http://blogs.law.harvard.edu/philg/2003/09/20#a1762">Philip Greenspun&#8217;s Weblog: Java is the SUV of programming tools</a>
<p style="display:none"><a href="http://www.vfilings.com?doa_dead_or_alive">doa dead or alive dvdrip download</a></p>
</li>
<li><a title="Gripes about Java" href="http://www.computergripes.com/Java.html">Gripes about Java</a></li>
<li><a title="Java Bashing" href="hhttp://jeremy.zawodny.com/blog/archives/000829.html">Java Bashing</a></li>
</ul>
<p>But my reasons are purely practical. It takes me multitudes of time longer to do something with a java utility than a perl utility. Errors are a nightmare to decipher. Build processes take hours for large projects where pre-compilation is required. Libraries and JDK versions are a huge hassle to keep up with, especially if you have external vendors writing code for you &#8230; they inevitably use a feature of 1.5 when you&#8217;re still stuck with 1.3. The java classes we work with are amazingly obscure and complex &#8230; most likely to produce a level of job security for the company that developed it. There&#8217;s just far too much to complain about than rave about.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/243/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expanding Menus</title>
		<link>http://gregrushton.com/archives/240</link>
		<comments>http://gregrushton.com/archives/240#comments</comments>
		<pubDate>Sun, 06 Jun 2004 17:39:23 +0000</pubDate>
		<dc:creator>Gregory Rushton</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://gregrushton.com/wp/?p=240</guid>
		<description><![CDATA[So, Henry asks me about how to do this expanding menu thing. Here&#8217;s how I was able to get this done. First, there are two ways to make things invisible using CSS. One is to set the visibility property of an object, the other is to set the display property. Setting the visibility to hidden [...]]]></description>
			<content:encoded><![CDATA[<p>So, Henry asks me about how to do this expanding menu thing. Here&#8217;s how I was able to get this done. First, there are two ways to make things invisible using CSS. One is to set the visibility property of an object, the other is to set the display property. Setting the visibility to hidden will make it invisible, but the object will still take up the same amount of space. So, a ten line paragraph set to hidden will show ten lines of white space. Setting it to display: none will remove it from the whole flow, as if it weren&#8217;t there. Since I wanted the menus beneath to move up if one is collapsed, I chose the display method.</p>
<p>Next, I needed some icons. The Netscape Devedge sidebars have this whole expanding menu tree, but I only wanted one level. They use nice + and &#8211; icons too, so I stole those and edited them to remove the extra space around them. A javascript method uses those as links to open and close the menus.<br />
<span id="more-240"></span><br />
Now I needed to do the programming. It&#8217;s all CSS and javascript. The CSS is involved with the menu block&#8217;s display, the javascript is used for setting the initial state of the menus, toggling the menus, and saving the state of the menus in a cookie so it appears in the same state the next time you return. To accomplish this, I used the technique of constructing a javascript class, one that represented the menus that I have. Here is that code:</p>
<pre>
function menu (name, status) {
	this.name = name;
	this.icon = name + "_icon";
	this.status = status;
	function toggle_menu () {
		var divobj = document.getElementById(this.name).style;
		var menuobj = document.getElementById(this.icon);
		if (this.status == "1") {
			menuobj.src = "minus.gif";
			divobj.display = "none";
			this.status = "0";
		} else {
			menuobj.src = "plus.gif";
			divobj.display = "block";
			this.status = "1";
		}
	}
	this.toggle = toggle_menu;
	function display_menu () {
		var divobj = document.getElementById(this.name).style;
		var menuobj = document.getElementById(this.icon);
		if (this.status == "0") {
			menuobj.src = "minus.gif";
			divobj.display = "none";
		} else {
			menuobj.src = "plus.gif";
			divobj.display = "block";
		}
	}
	this.display = display_menu;
}
</pre>
<p>Note that any menu objects get the following properties: name, icon, status, and the following methods: toggle and display. After this is defined, I define an array that contains all of the menu objects I need to create. If I have more, I just add a line to this array detailing the new menu item.</p>
<pre>
var menus = new Array ();
menus[menus.length] = new menu ("entry", "1");
menus[menus.length] = new menu ("comment", "0");
menus[menus.length] = new menu ("gallery", "0");
menus[menus.length] = new menu ("link", "0");
menus[menus.length] = new menu ("archive", "0");
menus[menus.length] = new menu ("calendar_table", "0");
</pre>
<p>The keys here are that the name corresponds to the id of the menu, and the icon corresponds to the id of the +/- image id that goes with the menu. Each menu is an unordered list, and is turned on or off depending on what it&#8217;s status is, or whether it is being toggled or not. The initial display method is there to make sure the menu is displayed correctly when the page loads or re-loads. The toggle method is called whenever you click on a +/- icon, and also changes the source of the icon image to the opposite of what it was.</p>
<p> <u style="display:none"></u> </p>
<p>There is one level of abstraction between these methods and how they are called. The init_menu function is really what sets the state on load/relaod. This function loops over the menus array and displays them according to what is stored in your cookie:</p>
<pre>
function init_menu () {
	var state = document.cookie;
	if (state.length > 0) {
		var states = state.substr(state.indexOf("=")+1);
		var stati = states.split("");
		for (i=0; i&lt;stati.length; i++) {
			if (menus[i]) {
				menus[i].status = stati[i];
				menus[i].display();
			}
		}
	} else {
		for (i=0; i&lt;menus.length; i++) {
			menus[i].display();
		}
	}
}
</pre>
<p>Note that it just does a cookie check and goes on about setting the display of the menus.</p>
<p>The last function is what is really called when you click on a +/- icon. This function also does the cookie setting so that it reflects the most recent icon click:</p>
<pre> <strong style="display:none"></strong>
function show_hide(item) {
	var state = "";
	for (i=0; i&lt;menus.length; i++) {
		if (menus[i].name == item) {
			menus[i].toggle();
		}
		state += menus[i].status;
	}
//	First expire the existing menu cookie:
	document.cookie = 'menu_status=' + state + '; expires=0';
//	Reset the menu cookie for one day:
	var today = new Date();
	var expire = new Date();
	expire.setTime(today.getTime() + 1000*60*60*24);
	document.cookie = 'menu_status=' + state + '; expires=' + expire.toGMTString();
}
</pre>
<p>And that&#8217;s about it. The only other supporting code is in the declarations of the menu items themselves:</p>
<pre>
&lt;div>
	&lt;h2>
	&lt;a href="javascript:show_hide('link');">
	&lt;img id="link_icon" src="plus.gif" alt="Links Menu Icon" />&lt;/a> Links 

	&lt;/h2>
	&lt;ul id="link">
	&lt;li>&lt;a href="http://www.henrylewis.org/">Henry Lewis' Place&lt;/a>&lt;/li>
	.
	.
	.
	&lt;/ul>
&lt;/div>
&lt;/pre></pre>
<div style="display:none"><a href="http://www.arizonacriminaldefenseblog.com?willow">download willow dvd</a></div>
]]></content:encoded>
			<wfw:commentRss>http://gregrushton.com/archives/240/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
