<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24148223</id><updated>2011-06-07T23:25:30.713-07:00</updated><category term='wi-fi'/><category term='scripting'/><category term='nfjs'/><category term='scheme'/><category term='ubuntu'/><category term='blogging gmail blogger'/><category term='java'/><category term='osx'/><category term='gentoo'/><category term='style'/><category term='struts spring web AppFuse'/><category term='coding'/><title type='text'>3tg</title><subtitle type='html'>This is where we come together to talk about the tech issues that are facing the world, or at least us.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24148223.post-9107690524904529705</id><published>2008-07-28T13:50:00.001-07:00</published><updated>2008-07-28T13:50:55.577-07:00</updated><title type='text'>C# Auto Properties</title><content type='html'>&lt;p&gt;I learned a short-cut today for properties.&amp;#160; They're called &lt;a href="http://microsoft.apress.com/article/74089/auto-implemented-properties-in-c-30"&gt;auto properties&lt;/a&gt;.&amp;#160; Properties in C# are simple getters and setters in Java.&amp;#160; auto properties make writing properties even easier.&lt;/p&gt;  &lt;p&gt;Several times a day I have typed something similar to:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&lt;font face="Courier New"&gt;public string Country &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;{ &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160; get { return country; }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;&amp;#160; set { country = value; }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I've been using &lt;a href="http://www.jetbrains.com/resharper/"&gt;Resharper&lt;/a&gt; for several months now, but just noticed today that it recommended that I write a property this way:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&lt;font face="Courier New"&gt;public string Country { get; set; }&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-9107690524904529705?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/9107690524904529705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=9107690524904529705' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/9107690524904529705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/9107690524904529705'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2008/07/c-auto-properties.html' title='C# Auto Properties'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-8425825364066057042</id><published>2008-01-29T22:39:00.000-08:00</published><updated>2008-01-29T22:45:04.753-08:00</updated><title type='text'>Linking to a Gmail Message</title><content type='html'>I have discovered that it is now possible to create a link to a  &lt;br&gt;message in Gmail. Simply click on a message in Firefox or the latest  &lt;br&gt;version of Safari for windows.  The URL should change to something  &lt;br&gt;that can be used to recall the current thread or message.&lt;p&gt;I an not sure if this I&amp;#39;d very practical. However, I did use it in  &lt;br&gt;google notebooks to create a link to one of my e-mails.  A while back  &lt;br&gt;I was attempting to do something similiar kn backpackit.  I ended ip  &lt;br&gt;having to forward the e-mail directly to backpackit.&lt;p&gt;I will see if I use this feature at all.  Let me know if you find it  &lt;br&gt;at all useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-8425825364066057042?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/8425825364066057042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=8425825364066057042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/8425825364066057042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/8425825364066057042'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2008/01/linking-to-gmail-message.html' title='Linking to a Gmail Message'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-5803020388104803940</id><published>2008-01-28T21:35:00.001-08:00</published><updated>2008-01-29T18:18:01.981-08:00</updated><title type='text'>Reading Outlook in Gmail</title><content type='html'>Today I discovered a way to read Outlook e-mails in Gmail.  I was  reading an article that discussed a method for reading Gmail e-mails  in Outlook.  The jist of it is to use Gmail's IMAP functionality and  &lt;a href="http://email.about.com/od/outlooktips/qt/et040605.htm"&gt;setup an IMAP account in Outlook that connects to Gmail&lt;/a&gt;.  Any labels in Gmail will be visible as folders under the IMAP account in Outlook. &lt;br /&gt;&lt;br /&gt;I created an "outlook" label in Gmail.  This shows up as a folder in Outlook.  I created a rule to copy all mail that lands in my Outlook Inbox to the the "outlook" IMAP folder.   As long as the Outlook client is open mail will copied to the new "outlook" folder. &lt;br /&gt;&lt;br /&gt;In Gmail the mail bypasses the Inbox and  shows up under the "outlook" label.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-5803020388104803940?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/5803020388104803940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=5803020388104803940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5803020388104803940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5803020388104803940'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2008/01/reading-outlook-in-gmail.html' title='Reading Outlook in Gmail'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-1271443815068569425</id><published>2008-01-28T21:12:00.001-08:00</published><updated>2008-01-28T21:12:11.503-08:00</updated><title type='text'>Cooler Blogging via the iPhone</title><content type='html'>They probably did not &lt;a href="http://3tg.blogspot.com/2007/12/almost-cool-iphone-blogging.html"&gt;listen to my rant&lt;/a&gt;.&amp;nbsp; However, google seems to have exactly as I described in my post and made blogging via your mobile much easier.&amp;nbsp; You can now configure an e-mail address per-blog that will auto-post to that particular blog.&amp;nbsp; For example I can configure &lt;a href="mailto:ryan.3tg@blogger.com"&gt;ryan.3tg@blogger.com&lt;/a&gt; to post to 3tg and &lt;a href="mailto:ryan.personal@blogger.com"&gt;ryan.personal@blogger.com&lt;/a&gt; to post to my personal blog.&amp;nbsp; Here&amp;#39;s the &lt;a href="http://help.blogger.com/bin/answer.py?answer=41452"&gt;link&lt;/a&gt;.&amp;nbsp; Any bets on this leading to more posts on 3tg?&amp;nbsp; I&amp;#39;d take the under.&lt;br&gt; &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-1271443815068569425?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/1271443815068569425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=1271443815068569425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/1271443815068569425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/1271443815068569425'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2008/01/cooler-blogging-via-iphone.html' title='Cooler Blogging via the iPhone'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-3042288333618419898</id><published>2008-01-27T20:32:00.000-08:00</published><updated>2008-01-27T20:34:41.897-08:00</updated><title type='text'>Use It!</title><content type='html'>I think this is the first time I have seen this very informative &lt;a href="http://www.useit.com/papers/heuristic/heuristic_list.html"&gt;list&lt;/a&gt; of usability heuristics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-3042288333618419898?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/3042288333618419898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=3042288333618419898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/3042288333618419898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/3042288333618419898'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2008/01/use-it.html' title='Use It!'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-6285723820785527700</id><published>2007-12-24T09:51:00.001-08:00</published><updated>2007-12-28T11:50:24.313-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging gmail blogger'/><title type='text'>Almost cool iPhone blogging</title><content type='html'>As a follow up to my last post, as near as I can tell you can &lt;a href="http://www.google.com/mobile/blogger/index.html"&gt;blog via your iPhone&lt;/a&gt; through your gmail account. But you are limited to posting to only one blog. For example, if I have 6 blogs that I have setup, I can only blog to one of them! To create a blog posting I email &lt;a href="mailto:go@blogger.com"&gt;go@blogger.com&lt;/a&gt;. Instead they should give me a unique address for each blog. For example: &lt;a href="mailto:3tg@blogger.com"&gt;3tg@blogger.com&lt;/a&gt; would post to the 3tg blog, &lt;a href="mailto:ryan@blogger.com"&gt;ryan@blogger.com&lt;/a&gt; might post to my personal blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-6285723820785527700?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/6285723820785527700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=6285723820785527700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/6285723820785527700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/6285723820785527700'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/12/almost-cool-iphone-blogging.html' title='Almost cool iPhone blogging'/><author><name>Mobile Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-2183093285642547000</id><published>2007-12-20T18:06:00.001-08:00</published><updated>2007-12-24T10:04:44.540-08:00</updated><title type='text'>Blogging from my iPhone</title><content type='html'>There are a total of zero blog clients for the iPhone.  However it &lt;br /&gt;&lt;a href="http://www.google.com/mobile/blogger/index.html"&gt;sounds like&lt;/a&gt; google has the answer for me.  I can blog via &lt;br /&gt;go@blogger.com and it will supposedly just magically work....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-2183093285642547000?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/2183093285642547000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=2183093285642547000' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/2183093285642547000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/2183093285642547000'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/12/blogging-from-my-iphone.html' title='Blogging from my iPhone'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-665086473953381482</id><published>2007-11-27T06:37:00.000-08:00</published><updated>2007-11-27T06:42:03.276-08:00</updated><title type='text'>Stylish and Rememberthemilk</title><content type='html'>I was reading the rmilk forums and came across &lt;a href="http://www.rememberthemilk.com/forums/ideas/3262/"&gt;this&lt;/a&gt; post.  "it would be nice if the logo could be removed".  It sounded like a good idea.  I assumed it was a greasemonkey script.  It turns out it uses &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2108"&gt;Stylish&lt;/a&gt;.  &lt;blockquote&gt;&lt;br /&gt;Stylish is to CSS what Greasemonkey is to JavaScript, and unlike other methods of using user styles, most styles take effect immediately.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Does anyone use Stylish for anything or is this the first time you are hearing about it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-665086473953381482?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/665086473953381482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=665086473953381482' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/665086473953381482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/665086473953381482'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/11/stylish-and-rememberthemilk.html' title='Stylish and Rememberthemilk'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-3034246788984944240</id><published>2007-11-25T13:25:00.000-08:00</published><updated>2007-11-25T13:29:52.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='wi-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Distro Switch</title><content type='html'>This weekend I pulled my old MythTV box out of storage, removed the TV tuner card, and installed Ubuntu on it.  This I pulled the hard drives from my Gentoo machine and gave the box away.&lt;br /&gt;&lt;br /&gt;So far so good.  I am having trouble with the Wi-Fi card but I think that is a constant problem with a headless linux box.  I am sure I will get this working soon, but is is not really pressing as the server has the router on top of it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My current task is trying to zero out my hard drives so I can sell/give them away.  OSX seams to have a great feature for doing this, but I am having some trouble.  Either I cannot mount the drives or the formatting never finishes.  Any tips?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-3034246788984944240?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/3034246788984944240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=3034246788984944240' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/3034246788984944240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/3034246788984944240'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/11/distro-switch.html' title='Distro Switch'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-6591287403579408303</id><published>2007-11-20T19:32:00.000-08:00</published><updated>2007-11-20T19:45:24.971-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='nfjs'/><category scheme='http://www.blogger.com/atom/ns#' term='scheme'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Scheming in Java</title><content type='html'>This first session I attended at NFJS was about the new features in Java 6.  This was mostly about the expanded scripting languages on the JVM.  I was excited to see one of these languages is my native language, Scheme.  Now I need to dig out my books from school.&lt;br /&gt;&lt;br /&gt;Although Java 6 prompted me to look into this and I can still use this on my Mac.  The required &lt;a href="http://sisc-scheme.org/"&gt;SISC&lt;/a&gt; download works on Java 5, but jrunscript that is part of Java 6 is not there.  It is not clear to me what the difference is, other than not being able access the ScriptingEngine in java code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-6591287403579408303?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/6591287403579408303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=6591287403579408303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/6591287403579408303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/6591287403579408303'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/11/scheming-in-java.html' title='Scheming in Java'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-382816715594055322</id><published>2007-11-19T03:09:00.000-08:00</published><updated>2007-11-19T03:44:16.385-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nfjs'/><category scheme='http://www.blogger.com/atom/ns#' term='style'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>I see your name now and then in the code</title><content type='html'>I spent this weekend at &lt;a href="http://www.nofluffjuststuff.com/"&gt;No Fluff Just Stuff&lt;/a&gt; Chicago. I attended a variety of sessions and plan to blog about them over the next few weeks.  (The conference also inspired me to blog here more.  So, my first New Year's Resolution.)&lt;br /&gt;&lt;br /&gt;There were 10 of us from &lt;a href="http://orbitz.com/"&gt;Orbtz&lt;/a&gt; there but I also saw some people from other jobs or just around town.  One of them was from a client when I was a consultant. &lt;br /&gt;&lt;br /&gt;Yesterday, I reintroduced myself to him.  I could not remember his name and was happy his giant conference name tag was pointing out.  However before I could say my name, he said "Jacob right?, I see you name now and then in the code."&lt;br /&gt;&lt;br /&gt;I don't think this is good.  I doubt my name is only preceded by @auther JavaDoc directives.  I am guessing they see it often enough to remember my name 4 years later because I have added comments in the middle of JSPs, bean descriptors, and actions just before commented out code. We used CVS on this project, but I must not have learned to trust and use it like I do now with my SCM systems.&lt;br /&gt;&lt;br /&gt;Today, I never add comments to code that would better be kept in source control.  I also write code that is more self-documenting.  Most of the comments I add now are JavaDocs.  From time to time I have 'if (something really complicated ) { //This is what that does in English', but more and more that is refactored to a method that can be tested alone.&lt;br /&gt;&lt;br /&gt;Tests, I think this might be the strongest type of comments I write now.  Long English test method names grouped together to describe how a methods works and then proves to you it does (every time some one commits code!)&lt;br /&gt;&lt;br /&gt;I wasn't completely surprised this guy remembered my name though.  I have a way of infecting Tomaw into projects.  When I started my first job at the company where a year earlier I had taken my last internship, many of my new coworkers were surprised to know that jtomaw was a real person.  My user name had become the default user name that everyone logged in using.  Perhaps after writing the log in mechanism but before providing instructions to log in, I should have written how to create a new user.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-382816715594055322?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/382816715594055322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=382816715594055322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/382816715594055322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/382816715594055322'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/11/i-see-your-name-now-and-then-in-code.html' title='I see your name now and then in the code'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-5997885314377009298</id><published>2007-10-17T13:54:00.000-07:00</published><updated>2007-10-17T13:55:21.775-07:00</updated><title type='text'>What should be the defualt?</title><content type='html'>What do you &lt;a href="http://beust.com/weblog/archives/000466.html"&gt;think&lt;/a&gt;?&lt;br /&gt;What is the default in .NET?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-5997885314377009298?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/5997885314377009298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=5997885314377009298' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5997885314377009298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5997885314377009298'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/10/what-should-be-defualt.html' title='What should be the defualt?'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-2807740056376761024</id><published>2007-09-17T21:50:00.000-07:00</published><updated>2007-09-17T21:55:25.201-07:00</updated><title type='text'>Semantic Desktop the Tagging Desktop</title><content type='html'>I believe the idea of the &lt;a href="http://en.wikipedia.org/wiki/Semantic_desktop"&gt;Semantic Desktop&lt;/a&gt; is what I was trying to describe as the &lt;a href="http://3tg.blogspot.com/2006/06/tagging-deskop.html"&gt;tagging desktop&lt;/a&gt;.  I promise more on this as a I read up.&lt;br /&gt;&lt;br /&gt;Lots of links at &lt;a href="http://del.icio.us/rmchale/taggingdesktop"&gt;del.icio.us!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-2807740056376761024?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/2807740056376761024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=2807740056376761024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/2807740056376761024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/2807740056376761024'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/09/semantic-desktop-tagging-desktop.html' title='Semantic Desktop the Tagging Desktop'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-4014114539809516331</id><published>2007-08-13T19:08:00.001-07:00</published><updated>2007-08-14T21:34:22.982-07:00</updated><title type='text'>Driving on the Wrong Side of Ruby Street</title><content type='html'>Fellow 3TG Jake gave Ruby such a ringing endorsement (paraphrased) "everytime I start something in a non-Rails environment, I think why bother?"during the last geek night that I thought I'd take his advice and use it for all my home grown projects. Well the more I use Rails, the more I agree. The learning curve is a little steep, but there are productivity and ease of coding gains to be had.&lt;br /&gt;&lt;br /&gt;This weekend I had a need to do a LEFT JOIN. It was pretty much identical to the example laid out on the Ruby website.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class User &lt; ActiveRecord::Base    &lt;br /&gt;  # I reference an account.    &lt;br /&gt;  belongs_to :account  &lt;br /&gt;end   &lt;br /&gt;&lt;br /&gt;class Account &lt; ActiveRecord::Base    &lt;br /&gt;  # One user references me.    &lt;br /&gt;  has_one :user  &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;CREATE TABLE users (&lt;br /&gt;   id int(11) NOT NULL auto_increment,&lt;br /&gt;   account_id int(11) default NULL,&lt;br /&gt;   name varchar default NULL,&lt;br /&gt;   PRIMARY KEY  (id)&lt;br /&gt; )&lt;br /&gt;&lt;br /&gt;CREATE TABLE accounts (&lt;br /&gt;   id int(11) NOT NULL auto_increment,&lt;br /&gt;   name varchar default NULL,&lt;br /&gt;   PRIMARY KEY  (id)&lt;br /&gt; )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;However, in my example instead of "users" I had a composite table name. Something like UserAccounts. Rails wants you to name the table user_accounts. But I'm not 100% up on the Ruby Way principals. I had named the table "UserAccounts" and went on my way not giving it two thoughts.&lt;br /&gt;&lt;br /&gt;My first swing at this with a little help from Google was to write my own SQL along the lines of:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sql = "select u.* from users u left JOIN useraccounts ac ON u.account_id=ac.id where ac.id is null"   &lt;br /&gt;@user_pages, @user = paginate_by_sql User, sql, 20&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;However, Jake's first comment upon hearing this was, why didn't you do something like:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Account.find(:all, :include =&gt; :user)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I thought, okay, in the interest of learning better learning Rails I thought I try it Jake's way.  But I ran into problems.  The only error message I kept receiving was "ActiveRecord::StatementInvalid".  It turns out that normally the database adapter would've notified me of the issue. However, I'm running SQLite3 as my database. It turns out this means the database adapter is not quite as verbose as the other ones.&lt;br /&gt;&lt;br /&gt;After a bit of frustrating and some googling I came across &lt;a href="http://dev.rubyonrails.org/attachment/ticket/7925/sqlite_better_error.diff"&gt;this&lt;/a&gt;.  Basically it says there's a bug in sqlite_adapter.rb.  After modifying the file with the recommended changes, Rails told me that I needed to make a simple change to the database table name.&lt;br /&gt;&lt;br /&gt;Two hours later and after having to modify the ruby sqlite3 adapter I believe I'm heading the right way Ruby Street.  I am little frustrated, but hopefully better off.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-4014114539809516331?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/4014114539809516331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=4014114539809516331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/4014114539809516331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/4014114539809516331'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/08/driving-on-wrong-side-of-ruby-street.html' title='Driving on the Wrong Side of Ruby Street'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-7620475133538880337</id><published>2007-05-09T07:39:00.000-07:00</published><updated>2007-05-09T07:40:42.195-07:00</updated><title type='text'>Sorting Large Files</title><content type='html'>I have an 800MB file that I load into memory line-by-line.  I spit a resulting 800MB file line-by-line.  I want the output sorted.  Anyway to perform the sort without loading the entire file into memory at one time?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-7620475133538880337?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/7620475133538880337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=7620475133538880337' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/7620475133538880337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/7620475133538880337'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/05/sorting-large-files.html' title='Sorting Large Files'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-5647635329501311536</id><published>2007-04-23T08:55:00.000-07:00</published><updated>2007-04-23T09:07:10.980-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='struts spring web AppFuse'/><title type='text'>AppFuse</title><content type='html'>My friend Aaron ran across a new tool recently that promises to make the creation of new web applications extremely easy.  The tool is named AppFuse, and it essentially creates a new web application from scratch.  While there are other tools that do this, AppFuse seems to be on a whole other level in that in builds in a bunch of frameworks that you might need (including front-end security and Spring persistence).  A list of some of the features from the article:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     Authentication and authorization&lt;/li&gt;&lt;li&gt;     User management&lt;/li&gt;&lt;li&gt;     Remember Me (which saves your login information so you don't have to log in every time)&lt;/li&gt;&lt;li&gt;     Password reminder&lt;/li&gt;&lt;li&gt;     Signup and registration&lt;/li&gt;&lt;li&gt;     SSL switching&lt;/li&gt;&lt;li&gt;     E-mail&lt;/li&gt;&lt;li&gt;     URL rewriting&lt;/li&gt;&lt;li&gt;     Skinability&lt;/li&gt;&lt;li&gt;     Page decoration&lt;/li&gt;&lt;li&gt;     Templated layout&lt;/li&gt;&lt;li&gt;     File upload&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The article, by the main developer:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/java/library/j-appfuse/"&gt;Seven simple reasons to use AppFuse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The article also touches on a lot of technologies that I wasn't familiar with, like Maven, that look interesting.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://appfuse.org/"&gt;AppFuse project page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-5647635329501311536?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/5647635329501311536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=5647635329501311536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5647635329501311536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/5647635329501311536'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/04/appfuse.html' title='AppFuse'/><author><name>Rob</name><uri>http://www.blogger.com/profile/03129811505684014817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-117427757182693457</id><published>2007-03-18T22:04:00.000-07:00</published><updated>2007-03-20T17:41:42.653-07:00</updated><title type='text'>The Return of Three Tech Guys</title><content type='html'>&lt;title&gt;&lt;/title&gt;The goal of 3TG has always been to spread technology ideas and to spur discussion.  Since there has only been eight posts in the history of the blog, I'd say it has been a failure at both.  In the past I have had a few ideas, but have not had the dedication, time, or patience to turn them into  actual posts. &lt;br /&gt;&lt;br /&gt;I am trying to be better about writing down potential entries.  I have a series of ideas that have inspired me to post.  Hopefully these ideas combined with a little more dedication will lead to a semi-regular stream of ideas and new posts.  My wish is that this activity will inspire my other Two Tech cohorts to post and 3TG will become an active forum of technology related discussion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-117427757182693457?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/117427757182693457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=117427757182693457' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/117427757182693457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/117427757182693457'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2007/03/return-of-three-tech-guys.html' title='The Return of Three Tech Guys'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115981553388316752</id><published>2006-10-02T11:58:00.000-07:00</published><updated>2006-10-02T11:58:57.200-07:00</updated><title type='text'>Spot the Bug</title><content type='html'>Can anyone find the bug?&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public  static int queueEmail(bool p_testEmail, &lt;br /&gt;   int p_edsCampaignId, &lt;br /&gt;   int p_edsMailingId, &lt;br /&gt;   string p_htmlContent, &lt;br /&gt;   string p_textContent, &lt;br /&gt;   string p_subject,  &lt;br /&gt;   string p_toAddr, &lt;br /&gt;   string p_fromAddr, &lt;br /&gt;   string p_fromName, &lt;br /&gt;   int p_edsListId,&lt;br /&gt;   DateTime p_queueTime)&lt;br /&gt;		&lt;br /&gt;{&lt;br /&gt;   return queueEmail(p_testEmail, &lt;br /&gt;      p_edsCampaignId, &lt;br /&gt;      p_edsMailingId, &lt;br /&gt;      p_htmlContent, &lt;br /&gt;      p_textContent, &lt;br /&gt;      p_subject, &lt;br /&gt;      p_toAddr, &lt;br /&gt;      p_fromAddr, &lt;br /&gt;      p_fromName,&lt;br /&gt;      p_edsListId -1, &lt;br /&gt;     p_queueTime);&lt;br /&gt;		&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115981553388316752?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115981553388316752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115981553388316752' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115981553388316752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115981553388316752'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/10/spot-bug.html' title='Spot the Bug'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115452415312302839</id><published>2006-08-02T06:00:00.000-07:00</published><updated>2006-08-02T06:09:13.146-07:00</updated><title type='text'>Functors?</title><content type='html'>When I interviewed at Orbitz I was asked the "King of Java" question.  If I where King of Java, what would I add to the language.  I foundered and finally said a map literal syntax.  Which got the appropriate response, "That is just syntactic sugar."&lt;br /&gt;&lt;br /&gt;After thinking for the last couple of months I have remembered that I would really like to declare static abstract methods, but Joel Spolsky has reminded me of another feature I would like to see.  In &lt;a href="http://www.joelonsoftware.com/items/2006/08/01.html"&gt;this article&lt;/a&gt; he talks about passing functions as arguments.&lt;br /&gt;&lt;br /&gt;Although Java is now my primary language, it is not my first.  At IU everyone learns scheme first, and I wish I had time to write more scheme.  I think it is powerful to learn to program functionally and then learn OO.  I feel I am able to see different solutions to problems, even if those solutions sometimes cannot be implemented effectively in Java.&lt;br /&gt;&lt;br /&gt;I suggest reading the article.  Joel also links to a previous article ranting about CS students who only know Java, I will read it and report back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115452415312302839?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115452415312302839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115452415312302839' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115452415312302839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115452415312302839'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/08/functors.html' title='Functors?'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115335830756008496</id><published>2006-07-19T18:11:00.000-07:00</published><updated>2006-07-19T18:18:27.586-07:00</updated><title type='text'>Presenting Java 5</title><content type='html'>Orbitz is still using J2SE 1.4.  The architecture is working hard on a new framework that will include a move to J2SE 5.  At Transora/1Sync/GS1US we had been using it for over a year and I am the only member of the Corporate Development Team who has professional experience with Java 5.  So, Alex (my boss) asked me to present the new language features in next weeks dev meeting.  I want to include new classes to Java 5, like StringBuilder, not just language features.&lt;br /&gt;&lt;br /&gt;What are some features and classes you think I should include?  I am planning on making this public in some way.  So, what are some things you would like to know more about in a presentation?  Are there rumors you would like to have dispelled about Java 5?  Is there a rumor you have heard about Java 6!?  Maybe I should be tackling those too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115335830756008496?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115335830756008496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115335830756008496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115335830756008496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115335830756008496'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/07/presenting-java-5.html' title='Presenting Java 5'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115167541323907659</id><published>2006-06-30T06:50:00.000-07:00</published><updated>2006-06-30T06:50:13.273-07:00</updated><title type='text'>Gentoo in a Box</title><content type='html'>I am always interested in trying out new operating systems or atleast the latest whiz-bang software on my computer. The problem is the latest whiz-bang software usually does bad things to my computer. A coworker mentioned that he uses VirtualPC and installs potentially bad things inside a VM.&lt;br /&gt;&lt;br /&gt;I think this idea alot. It makes alot of sense. The first thing I tried it on was Visual Studio 2005. This turned out to be a bad idea. My computer only had 500MB of memory. Visual Studio 2005 requires rougly 4000GB of memory. So I was an order of magnitude short. I believe it only took 3 days for Visual Studio 2005 to start up for the first time after I installed it.&lt;br /&gt;&lt;br /&gt;Recently I bought a new computer and the price of memory has come down enough so that I have enough memory on the computer to run a VM without it being a severe problem. I also found that VMWare is giving away free copies of thier beta software. So I thought I'd try and install Gentoo Linux in a VM.&lt;br /&gt;&lt;br /&gt;Now this is not a simple task since the typical Gentoo install is quite lengthy. Adding a VM to the proccess would only make the process worse. I thought I was in luck as Gentoo has a new graphical installer. I was no longer stuck in console land. It turns out though that the new Gentoo installer is not yet ready for prime time. There are a couple of bugs in the installer.&lt;br /&gt;&lt;br /&gt;This is where I stumbled upon the Holy Grail of VMs. The problem with installing Gentoo usually is that everyone has different hardware, so all installations are unique and different and no two people have the exact same set of circumstances or problems. But with VMs everyone has the same hardware specifications. Well they can have differing amounts of harddisk space or memory. But that is the least of the problems.&lt;br /&gt;&lt;br /&gt;I discovered that people have pre-built VMs with Gentoo Linux already installed on them! Witness this &lt;a href="http://www.vmwhere.net/"&gt;site&lt;/a&gt;. Most of the hard work is already done. Just download the VM, unzip it, and presto a bootable gentoo system. The VmWhere? dude promises to have a KDE version of a VM up and running sometime soon. In the mean time I'm off and Gentooing on my own. All hail the internet!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115167541323907659?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115167541323907659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115167541323907659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115167541323907659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115167541323907659'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/06/gentoo-in-box.html' title='Gentoo in a Box'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115159615818544667</id><published>2006-06-29T08:49:00.000-07:00</published><updated>2006-06-29T08:54:49.336-07:00</updated><title type='text'>Tagging Deskop</title><content type='html'>I've been thinking about an application like this for a while, but have been unable to express it in words.  Recently I had some incites on how to implement it with all the "tag fever" going around.&lt;br /&gt;&lt;br /&gt;Here's my thoughts on the subject:&lt;br /&gt;&lt;blockquote&gt;Tagging seems to be slowly taking over the world. I can tag links using del.icio.us. I've tricked outlook into tagging my work emails. Gmail allows me to tag my personal mail. Using flickr I can tag and organize photos. Each application has thier own tagging methodology and madness. There's nothing drawing it all together.&lt;br /&gt;&lt;br /&gt;I want a tagging desktop. The ability to tag anything, emails, tasks, links, pictures, documents, anything and see everything grouped by those tags together on a dashboard. If I was working on foo at work, I could flag all emails that pertained to foo as foo. Any Word documents could be tagged as foo. If I was surfing I could tag any sites I found as foo.&lt;br /&gt;&lt;br /&gt;I could then go to my dashboard, click on foo and see everything I was working on that had to do with foo.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I found this site called &lt;a href="http://suprglu.com/"&gt;SuprGlu&lt;/a&gt; which will gather RSS feeds by tags and creates a tag cloud.  Which is sort of what I am looking for, but not really.  A tag cloud shows the most commonly tagged piece of information, but does not allow me to prioritize tags, which is what would make the whole Tagging Desktop useful.&lt;br /&gt;&lt;br /&gt;Also see my del.icio.us &lt;a href="http://del.icio.us/rmchale/tagging"&gt;links &lt;/a&gt;on the subject.&lt;br /&gt;&lt;br /&gt;Any thoughts or cool websites that accomplish something similiar?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115159615818544667?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115159615818544667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115159615818544667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115159615818544667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115159615818544667'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/06/tagging-deskop.html' title='Tagging Deskop'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115159314999211957</id><published>2006-06-29T07:53:00.000-07:00</published><updated>2006-06-29T07:59:10.006-07:00</updated><title type='text'>How to safely refactor beans used by JSPs?</title><content type='html'>My team at Orbitz has started a disscussion page on our wiki.  This was one of the questions below and I thought it was worth airing here.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;When refactoring a class that may be referenced by a JSP, how do we make sure that we haven't broken a JSP, or at least know that we've broken it?&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;public interface Foo {&lt;br /&gt; public String getBar();&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;c:foreach iteams="${foos}" var="foo"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;c:out value="foo.bar"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/c:out&gt;&lt;br /&gt;&amp;lt;/c:foreach&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;If we rename getBar() to getBaz(), how do we make sure we haven't broken the above JSP?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Below is my responce:&lt;br /&gt;&lt;blockquote&gt;My First thought is to compile the JSPs. But the EL is compiled ito reflection calls and an exception will be thrown at run time not complie time of the JSP, right? A clutered option is to deprecated the old method and change it to call the new one. Then have some kind of reporting that tells us when a JSP used a deprecated method, then we could clean up these references over time. After a specified time of no calls from JSPs we remove the deprecated method. However, there is no way to ensure all functionality is executed in a time frame.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Do you guys have any thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115159314999211957?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115159314999211957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115159314999211957' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115159314999211957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115159314999211957'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/06/how-to-safely-refactor-beans-used-by.html' title='How to safely refactor beans used by JSPs?'/><author><name>Jacob</name><uri>http://www.blogger.com/profile/13519370248079571477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-115151145650101264</id><published>2006-06-28T09:17:00.000-07:00</published><updated>2006-06-28T09:17:36.523-07:00</updated><title type='text'>Database File System</title><content type='html'>A couple of guys that worked on BeOS talk about their attempt at a database-based file system, similar to what MS dropped from Longhorn.&amp;nbsp; Cool stuff.&lt;br&gt;&lt;br&gt;&lt;a href="http://www.theregister.co.uk/2002/03/29/windows_on_a_database_sliced/"&gt; http://www.theregister.co.uk/2002/03/29/windows_on_a_database_sliced/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-Rob&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-115151145650101264?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/115151145650101264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=115151145650101264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115151145650101264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/115151145650101264'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/06/database-file-system.html' title='Database File System'/><author><name>Rob</name><uri>http://www.blogger.com/profile/03129811505684014817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24148223.post-114314917136215884</id><published>2006-03-23T13:26:00.000-08:00</published><updated>2006-03-23T13:39:39.976-08:00</updated><title type='text'>RSS IM Feed</title><content type='html'>Recently &lt;a href="http://www.tomaw.com"&gt;Jacob&lt;/a&gt; showed me &lt;a href="http://www.makezine.com/blog/archive/2005/12/the_makebot_is_here.html"&gt;MakeBot&lt;/a&gt; from &lt;a href="Makezine.com"&gt;MakeZine.com&lt;/a&gt;.  It IMs you when there's a post on slashdot, digg or a makezine article.  I want to have an IMBot that IMs me whenever there's a entry made to a specific rss/atom feed.  So for instance I would get an IM when there was a new entry &lt;a href="http://3tg.blogspot.com/atom.xml"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24148223-114314917136215884?l=3tg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3tg.blogspot.com/feeds/114314917136215884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24148223&amp;postID=114314917136215884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/114314917136215884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24148223/posts/default/114314917136215884'/><link rel='alternate' type='text/html' href='http://3tg.blogspot.com/2006/03/rss-im-feed.html' title='RSS IM Feed'/><author><name>Ryan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
