<?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-5046760118214827295</id><updated>2012-01-26T16:07:54.303-08:00</updated><category term='Unix'/><category term='Printing'/><category term='Twitter'/><category term='Kindle'/><category term='Kaspersky'/><category term='Droid'/><category term='Game Encyclopedia'/><category term='Ericom'/><category term='Amazon'/><category term='Group to Voicemail'/><category term='Windows'/><category term='RPC'/><category term='Apple'/><category term='Domain'/><category term='Wyse'/><category term='OS X'/><category term='Games'/><category term='Other'/><category term='Mac'/><category term='Dell'/><category term='DRM'/><category term='Jolicloud'/><category term='Apache'/><category term='Storage'/><category term='EA'/><category term='Ruby on Rails'/><category term='Android'/><category term='News'/><category term='CakePHP'/><category term='Thin Clients'/><category term='IBM'/><category term='Network'/><category term='HP'/><category term='Social'/><category term='MySQL'/><category term='Provision Networks'/><category term='Sysprep'/><category term='Citrix'/><category term='API'/><category term='Google'/><category term='LDAP'/><category term='PHP'/><category term='iPhone'/><category term='Firefox'/><category term='Fake'/><category term='welcome'/><category term='Ubiquity'/><category term='Symantec'/><category term='Active Directory'/><category term='Linux'/><category term='Altiris'/><category term='iPad'/><category term='Information'/><category term='AIX'/><title type='text'>Option 9</title><subtitle type='html'>A Blog About All Things Technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://option9.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2525051117864039917</id><published>2012-01-11T10:33:00.000-08:00</published><updated>2012-01-11T10:34:15.202-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Xenapp 6.0: "A device attached to the system is not functioning."</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="139" src="http://4.bp.blogspot.com/-SLwxvUdGHww/Tw3UPTpexlI/AAAAAAAADbk/w64iotbyQng/s320/device_not_functioning.png" width="320" /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;We had a user call our help desk stating that they weren't able to log into their XenApp 6.0 published desktop. &amp;nbsp;It accepted their credentials, started going through the motions of applying group policy, etc., but before the desktop actually appeared, the session disappeared completely. &amp;nbsp;After doing some testing, I noticed that an error message was popping up, for less than a second, right before the session closed. &amp;nbsp;With my trigger finger, I was able to snap a screen shot to discover the following error: "A device attached to the system is not functioning."&lt;/div&gt;&lt;div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"&gt;After poking around the Citrix Delivery Services Console, I discovered the that the user had a Disconnected session out there, that was obviously in a completely cheddared state. &amp;nbsp;So, when the user was logging in, they were being reconnected to their broken session, and were never able to log in. &amp;nbsp;After logging off the disconnected session, the user was able to start a brand new session and log in successfully.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2525051117864039917?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2525051117864039917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2525051117864039917' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2525051117864039917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2525051117864039917'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2012/01/xenapp-60-device-attached-to-system-is.html' title='Xenapp 6.0: &quot;A device attached to the system is not functioning.&quot;'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-SLwxvUdGHww/Tw3UPTpexlI/AAAAAAAADbk/w64iotbyQng/s72-c/device_not_functioning.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2737124072989092962</id><published>2011-10-07T10:19:00.000-07:00</published><updated>2011-10-07T10:19:59.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>7 Things to Convince Me to Switch to the iPhone 4S [REVISITED]</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s1600/iphone-4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s200/iphone-4.jpg" width="79" /&gt;&lt;/a&gt;&lt;/div&gt;I &lt;a href="http://option9.blogspot.com/2011/02/7-things-to-convince-me-to-switch-to.html"&gt;previously wrote&lt;/a&gt;&amp;nbsp;about the possibility of switching from the Android world to the iPhone world. &amp;nbsp;Now that the iPhone 4S has been announced, and will be released next week, I figured it would be a good opportunity to revisit the demands I made in order to make the switch a no-brainer:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1) The iPhone 4S must be released on Verizon at the same time as ATT&lt;/b&gt;&lt;br /&gt;Check. &amp;nbsp;Plus, it's being released on Sprint.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) The iPhone 4S must be capable of utilizing LTE&lt;/b&gt;&lt;br /&gt;Fail. &amp;nbsp;However, as I mentioned in my previous post, there was a little bit of wiggle room on this one, and now that I have seen what the current generation LTE chips do to battery life on the existing Android handsets, I'm happy to stay away from it for now.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3) The iPhone 4S must have a dual-core processor&lt;/b&gt;&lt;br /&gt;Check. &amp;nbsp;It will include the A5, which will supposedly increase general processing performance by 2x and graphics performance by 7x.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4) The iPhone 4S must include an NFC implementation&lt;/b&gt;&lt;br /&gt;Fail. &amp;nbsp;I must admit that I figured that NFC, in general, would have come a lot farther this year. &amp;nbsp;Google just recently introduced &lt;a href="http://www.google.com/wallet/"&gt;Wallet&lt;/a&gt;, which is currently only available on one phone on one carrier. &amp;nbsp;We have a ways to go before this really goes mainstream.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5) The iPhone 4S must use a better notification system&lt;/b&gt;&lt;br /&gt;Check. &amp;nbsp;iOS 5 includes a notification system very similar to the existing Android implementation. &amp;nbsp;It looks good to me!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6) The iPhone 4S must have a dependable, free (or inexpensive) turn-by-turn Navigation application&lt;/b&gt;&lt;br /&gt;Check (TBD). &amp;nbsp;I have discovered Waze and Mapquest to be two free options, and there appear to be a few not-too-expensive options. &amp;nbsp;I'd have to test them out to determine their quality though. &amp;nbsp;Any suggestions?&lt;br /&gt;&lt;br /&gt;7) &lt;b&gt;Along side the iPhone 4S, Apple must provide free MobileMe access&lt;/b&gt;&lt;br /&gt;Check. &amp;nbsp;iClould will be free, and available this coming Wednesday (October 12th).&lt;br /&gt;&lt;br /&gt;So, there you have it. &amp;nbsp;The only two fails were for LTE and NFC, which were definitely my least critical concerns for the new iPhone. &amp;nbsp;Without further ado...&lt;br /&gt;&lt;br /&gt;iPhone here I come!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2737124072989092962?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2737124072989092962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2737124072989092962' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2737124072989092962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2737124072989092962'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/10/7-things-to-convince-me-to-switch-to.html' title='7 Things to Convince Me to Switch to the iPhone 4S [REVISITED]'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s72-c/iphone-4.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1497378753152438435</id><published>2011-09-28T22:05:00.000-07:00</published><updated>2011-09-28T22:05:50.211-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='Kindle'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Why the Kindle Fire Will Defeat its Android Counterparts, but not Kill the iPad</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-BPit30Vc5Lw/ToPsvFTRTaI/AAAAAAAADbM/vtgBgdXczlU/s1600/fire.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-BPit30Vc5Lw/ToPsvFTRTaI/AAAAAAAADbM/vtgBgdXczlU/s320/fire.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;When Steve Jobs took the stage earlier this year to unveil the iPad 2, he made a claim that this would be the year of the copy cats. &amp;nbsp;While that has claim has been materialized in devices like the Motorola Xoom, &amp;nbsp;RIM's Playbook, and even Barnes and Noble's Nook Color to a certain extent, there is a new challenger in town: the &lt;a href="http://www.amazon.com/Kindle-Color-Multi-touch-Display-Wi-Fi/dp/B0051VVOB2/ref=amb_link_357575542_7?pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=gateway-center-column&amp;amp;pf_rd_r=0651VQ3JDEHMM43HSSEP&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=1321408942&amp;amp;pf_rd_i=507846"&gt;Amazon Kindle Fire&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;While I would argue that it's not really "correct" to compare the iPad 2 with the Kindle Fire, it's bound to happen, and as consumers are shopping for a tablet device this holiday season, the question is going to come up.&lt;br /&gt;&lt;br /&gt;Although it's too early to come up with final judgements, as the product won't even be released until November, we can at least make some early speculation as to how this will affect other tablets on the market, and whether or not we may have an iPad "killer" on our hands.&lt;br /&gt;&lt;br /&gt;First, this is why the Kindle Fire will defeat, and most likely destroy its Android counterparts:&lt;br /&gt;&lt;b&gt;Its focus is narrow, and its goals are specific&lt;/b&gt;&lt;br /&gt;Unlike the majority of Android tablets on the market today, the Kindle has a very specific purpose -- above all else, it is an e-reader. &amp;nbsp;Sure, it's also a media consumption device, but when it comes down to it, users will want a great reading experience. &amp;nbsp;When you pick up a Xoom, or a Playbook there's not as much direction or purpose -- it's simply there for you to guess what you should be doing.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;It has more and greater content available&lt;/b&gt;&lt;br /&gt;The Kindle Fire will have the Amazon Appstore for Android and while it's not as comprehensive as the general Android Market, there is a great selection of apps. &amp;nbsp;(PS -- it was a very smart move to establish that Appstore in the world of Android before the release of the Kindle Fire). &amp;nbsp;Where the Kindle Fire truly shines is in the media available: Movies, TV Shows, Music, Magazines and of course, books. &amp;nbsp;Obviously you can download the equivalent Android apps for some of these things on other devices, but the experience will be nowhere near what you find on the Kindle Fire. &amp;nbsp;Couple that with the seemingly incredibly fast web browsing, and a casual user has everything they need.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;It's priced right&lt;/b&gt;&lt;br /&gt;If I was the maker of an Android tablet right now, I would be afraid. &amp;nbsp;Very, very afraid. &amp;nbsp;Barnes and Noble (which took a hit to their stock value after today's announcement) has to be especially concerned. &amp;nbsp;At a price point of $199 (which is currently $50 less than what the NOOK Color costs, which is significantly less than other Android tablets) it makes for a very attractive package -- I mean, we all saw what happened with the $99 TouchPad, right?&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Second, this is why the Kindle Fire cannot, and will not, kill the iPad:&lt;/div&gt;&lt;div&gt;&lt;b&gt;It has a different target market&lt;/b&gt;&lt;/div&gt;&lt;div&gt;These positive points are all well and good, but does it add up to an iPad killer? &amp;nbsp;I think not. &amp;nbsp;From what I've seen of the presentation made today, there was a little jab at syncing a device using a wire, but it didn't seem focused on what the Kindle Fire could do that the iPad can't (like Flash, for example, which other companies have tried to make a major selling point). &amp;nbsp;Instead, it focused simply on what the Kindle Fire does well. &amp;nbsp;And while it does many things very well, there was no mention of certain things the iPad excels at -- like content creation, for example. &amp;nbsp;Not to mention the hardware differences that equip the iPad to be a useful tool in more situations (thinking of GPS, cameras and a microphone specifically).&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;The Kindle Fire is no laptop replacement&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Along those same lines, the ways the iPad and Kindle Fire have been presented are different. &amp;nbsp;Steve Jobs considers the days we live in to be the "Post-PC era" and that the iPad is the new personal computer. &amp;nbsp;In many cases, an iPad can easily be considered a laptop replacement, and has the specs and apps to back that claim up. &amp;nbsp;The Kindle Fire, on the other hand, is presented more as an entertainment device. &amp;nbsp;While its hardware specs are nothing to balk at, it's lacking in some key areas (screen size not being the least of these). &amp;nbsp;Likewise, I've never heard of anyone buying an iPad for the sole purpose of reading books.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Content is still king&lt;/b&gt;&lt;/div&gt;&lt;div&gt;It's great that Kindle Fire users will have access to the Amazon Appstore for Android, and to the TV and movies available through their video services (including cloud syncing services) -- but the content available via those venues pales in comparison to what iPad users have at their disposal in iTunes. &amp;nbsp;Not only that, but the issue of few apps designed and developed specifically for tablet use still plagues the Android Market at large. &amp;nbsp;Until this changes, it'll be hard to sway users toward Android tablets.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So where does this leave us? &amp;nbsp;Will/Should consumers own both devices? &amp;nbsp;I find this highly unlikely and unnecessary. &amp;nbsp;Instead, I think consumers will fall in one camp or the other for the reasons mentioned above. &amp;nbsp;Sure, some households may contain both devices, as each person's needs and preferences are different, but at the end of the day I think it can be settled by answering the following question: do you need a low-cost, focused but potentially lacking tablet (but stellar e-reader), or do you need a premium laptop replacement with less limitations?&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1497378753152438435?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1497378753152438435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1497378753152438435' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1497378753152438435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1497378753152438435'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/09/why-kindle-fire-will-defeat-its-android.html' title='Why the Kindle Fire Will Defeat its Android Counterparts, but not Kill the iPad'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-BPit30Vc5Lw/ToPsvFTRTaI/AAAAAAAADbM/vtgBgdXczlU/s72-c/fire.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-7082418819237618570</id><published>2011-09-21T09:20:00.001-07:00</published><updated>2011-09-21T09:22:51.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Printing'/><title type='text'>XenApp 6.0: Printers Fail to Autocreate on a Mac</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-sUpqQvI6oVA/TnoLRnW4zZI/AAAAAAAADbI/qsqy24acIR8/s1600/sad-mac.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-sUpqQvI6oVA/TnoLRnW4zZI/AAAAAAAADbI/qsqy24acIR8/s1600/sad-mac.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I got a call from one of our users that has a Mac at home and connects to our Citrix XenApp farm through our Access Gateway. &amp;nbsp;Apparently, everything was working fine, except that the printers locally attached to his Mac would not auto-create in his Citrix session.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While I enjoy using my Macbook at home, we have no Apple gear here in our office, so I was unable to do any tests in our lab environment. &amp;nbsp;That's when I decided to call on the power of Google for help, and stumbled across the following Citrix article:&amp;nbsp;&lt;a href="http://support.citrix.com/article/CTX122703"&gt;Printers Defined on a Mac Client Fail to Auto-Create when Connecting to XenApp 5.0 on Windows 2008&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, the issue was that a printer driver (the&amp;nbsp;HP Color Laserjet 4500 PS for XenApp 5, or the&amp;nbsp;HP Color Laser Jet 2800 Series PS for XenApp 6) was no longer installed on our XenApp servers. &amp;nbsp;Early on, before we learned about the pains of printing in Citrix, we freely installed drivers for printers. &amp;nbsp;After finding out that was a very bad idea, I went on a driver purging spree, only allowing battle-tested drivers that were absolutely necessary to be installed on our farm. &amp;nbsp;I must have deleted the required driver in this process, as it is apparently installed by XenApp automatically.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For those curious, the reason why you need these HP drivers in the first place is because, for the time being, the driver that Citrix uses for their Universal Print Driver is not compatible with Macs. &amp;nbsp;So -- if you find that your Mac printers are not auto-creating, double check to make sure the required driver is installed!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-7082418819237618570?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/7082418819237618570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=7082418819237618570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7082418819237618570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7082418819237618570'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/09/xenapp-60-printer-fails-to-autocreate.html' title='XenApp 6.0: Printers Fail to Autocreate on a Mac'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-sUpqQvI6oVA/TnoLRnW4zZI/AAAAAAAADbI/qsqy24acIR8/s72-c/sad-mac.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2424556502940324646</id><published>2011-07-21T08:24:00.000-07:00</published><updated>2011-07-21T08:25:07.894-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Moving to OS X Lion with a Clean Install</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_dDlis8usHw/Tig_5PsLgUI/AAAAAAAADZM/3NIAfeQIUOA/s1600/lion_sunset.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://1.bp.blogspot.com/-_dDlis8usHw/Tig_5PsLgUI/AAAAAAAADZM/3NIAfeQIUOA/s320/lion_sunset.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As I am sure you Mac users are well aware, OS X Lion was made available yesterday morning as a purchase through the Mac App Store. &amp;nbsp;There are a few tutorials out there in regard to doing a clean install, but I thought I would document my process since it may help someone else. &amp;nbsp;My existing setup:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;White Macbook Core 2 Duo, 2.16 GHz&lt;/li&gt;&lt;li&gt;120 GB 5400 rpm hard drive&lt;/li&gt;&lt;li&gt;iLife '09&lt;/li&gt;&lt;li&gt;OS X Snow Leopard&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;My goal by the end of the day yesterday:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;500 GB 7200 rpm hard drive&lt;/li&gt;&lt;li&gt;iLife '11&lt;/li&gt;&lt;li&gt;OS X Lion&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For the hard drive upgrade, there are two great sites:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;For the purchase: &lt;a href="http://eshop.macsales.com/MyOWC/"&gt;Other World Computing&lt;/a&gt;. &amp;nbsp;Their site allows you to pick your Mac model and then pick from compatible hardware. &amp;nbsp;I settled on &lt;a href="http://eshop.macsales.com/item/Hitachi/Y0A72335/"&gt;this&lt;/a&gt; which gave me the hard drive, as well as an external USB enclosure to put my existing 120 GB drive in for back up and data transfer purposes.&lt;/li&gt;&lt;li&gt;For the hard drive replacement: &lt;a href="http://www.ifixit.com/"&gt;iFixit&lt;/a&gt;. &amp;nbsp;I used the steps found &lt;a href="http://www.ifixit.com/Guide/Repair/MacBook-Core-2-Duo-Hard-Drive-Replacement/514/1"&gt;here&lt;/a&gt; to replace my hard drive in about 5 minutes. &amp;nbsp;Super easy!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Before swapping in a new hard drive though, there are a few things that I had to do first:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Export browser bookmarks&lt;/li&gt;&lt;li&gt;Export Contacts&lt;/li&gt;&lt;li&gt;Consolidate my iTunes library. &amp;nbsp;I followed the steps from this &lt;a href="http://support.apple.com/kb/HT4527"&gt;Apple KB article&lt;/a&gt; (specifically the part about consolidating if I wanted to copy it to an external drive for the transfer). &amp;nbsp;This will move everything iTunes (music, etc.) into your iTunes folder.&lt;/li&gt;&lt;li&gt;Download OS X Lion from the Mac App store and burn a bootable DVD. &amp;nbsp;I followed the steps&lt;a href="http://eggfreckles.net/tech/burning-a-lion-boot-disc/"&gt; found here&lt;/a&gt; to do this. &amp;nbsp;When done, you can leave the DVD in the drive.&lt;/li&gt;&lt;li&gt;Make sure I know where saved application/game data was stored (I didn't want to lose my Plants vs. Zombies progress!). &amp;nbsp;In general, it seems like the path to application data on a Mac is /users/[username]/Library/Application Support/[application_or_publisher]. &amp;nbsp;For example, the Plants vs. Zombies data I was looking for was located in the directory /users/matt/Library/Application Support/Popcap.&lt;/li&gt;&lt;li&gt;Backup anything else crucial in the event that this existing hard drive dies in the swap process&lt;/li&gt;&lt;li&gt;Deauthorize/Deactive licensed software (including iTunes... although I did this last)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Now, after shutting down, swapping hard drives and leaving the OS X Lion DVD in the drive, I did the following:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Hold down the 'c' key upon boot, this should allow you to boot to the DVD&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Note: It took a LONG time for me to reach the actual Lion installation screen -- so you may need to be patient.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Once at the Lion installation, I had to run the Disk Utility. &amp;nbsp;This allowed me to format the new drive as Mac OS X Extended (Journaled).&lt;/li&gt;&lt;li&gt;After the format completed, I installed Lion -- so far so good!&lt;/li&gt;&lt;li&gt;&lt;b&gt;NOTE: &lt;/b&gt;I'm not sure if this affected moving my iPhoto or iTunes library (as mentioned below) but I named my hard drive and username the same as my previous install so that all of my file system paths would remain in tact -- so if you have the option, I would recommend doing the same. &amp;nbsp;If you end up going with the external hard drive for your old one though, you will need to rename it upon connecting it to your Lion install -- my machine got a little confused with two drives with the same name!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Now for the unknown -- how do I get my photos from iPhoto '09 to iPhoto '11, and how do I transfer my iTunes Library with minimal fuss? &amp;nbsp;This ended up being A LOT simpler than I expected:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Since I had a brand new install of iPhoto '11 with no existing photos (this becomes way more complicated if you do have existing photos, so don't try this if you do!), I was able to simply remove the new iPhoto Library, and just copy over my iPhoto Library (the entire package) into the Pictures directory. &amp;nbsp;Then, upon launching iPhoto it let me know that it would need to upgrade my photo library, and it would no longer be accessible by older versions of iPhoto. &amp;nbsp;Fine with me! &amp;nbsp;When it opened, all of my photos, and events were in tact. &amp;nbsp;Victory!&lt;/li&gt;&lt;li&gt;Similar process for iTunes: I simply replaced the existing iTunes directory in my Music folder with the one from my old hard drive. &amp;nbsp;When iTunes launched, it briefly displayed a message that it was updating my library, but when it was done, all of my songs, album art, playlists, etc. were there!&amp;nbsp;&lt;b&gt;NOTE: I purposefully named the new drive the same as my old one, and also used my same username so the paths to my files would be the same. &amp;nbsp;So, I'm not sure if this would work if they weren't.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Beyond that, it was just copy/pasting data and setting preferences... not bad at all!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hopefully this makes sense, but feel free to ask questions in the comments. &amp;nbsp;As always -- I will not be responsible for any damage that may occur due to following steps outlined in this post. &amp;nbsp;Your mileage may vary!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2424556502940324646?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2424556502940324646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2424556502940324646' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2424556502940324646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2424556502940324646'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/07/moving-to-os-x-lion-with-clean-install.html' title='Moving to OS X Lion with a Clean Install'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_dDlis8usHw/Tig_5PsLgUI/AAAAAAAADZM/3NIAfeQIUOA/s72-c/lion_sunset.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3392252388630240835</id><published>2011-07-15T09:45:00.000-07:00</published><updated>2011-07-15T09:45:47.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>This is the XenApp 6.0 Hotfix you are looking for</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Basically, this is just a quick update to my previous post on Citrix servers freezing. &amp;nbsp;In looking at the dates, I now realize that I have been waiting over two months for this hotfix!&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Anyway -- the hotfix to resolve a LOT of stability issues was released this morning (XA600W2K8R2X64046) and can be obtained at the following site:&lt;br /&gt;&lt;a href="http://support.citrix.com/article/CTX128342"&gt;http://support.citrix.com/article/CTX128342&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Happy patching!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3392252388630240835?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3392252388630240835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3392252388630240835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3392252388630240835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3392252388630240835'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/07/this-is-xenapp-60-hotfix-you-are.html' title='This is the XenApp 6.0 Hotfix you are looking for'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3416690035758304502</id><published>2011-05-09T14:22:00.000-07:00</published><updated>2011-07-18T07:20:39.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Citrix XenApp 6.0 Servers Freezing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oILzEQ7aazs/TchbIbdKE4I/AAAAAAAADWs/VMMF9kffZI8/s1600/ice-freezing-up-02.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://1.bp.blogspot.com/-oILzEQ7aazs/TchbIbdKE4I/AAAAAAAADWs/VMMF9kffZI8/s200/ice-freezing-up-02.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;When we finally made our way through &lt;a href="http://option9.blogspot.com/2010/01/windows-server-2008-freezes-finally.html"&gt;our XenApp 5.0 farm freezes&lt;/a&gt;,&amp;nbsp;I never thought that I would revisit such a problem so quickly. &amp;nbsp;When we made our upgrade to XenApp 6.0 and Windows Server 2008 R2 I thought for sure we would be jumping into a much more stable environment. &amp;nbsp;Unfortunately, I was wrong.&lt;br /&gt;&lt;br /&gt;Shortly after making the upgrade we noticed that our Citrix servers became unresponsive at random times throughout the day: you could ping them, but that's about it. &amp;nbsp;Any attempt to RDP or log in even at the console level was an absolute failure. &amp;nbsp;If you are experiencing this problem, I would recommend upgrading your servers to Server 2008 R2 SP1, and applying the following Microsoft Hotfix: &lt;a href="http://support.microsoft.com/kb/2465772"&gt;KB 2465772&lt;/a&gt;. &amp;nbsp;In addition, you're going to want to install at LEAST this Citrix Hotix as well: &lt;a href="http://support.citrix.com/article/CTX127023"&gt;CTX127023&lt;/a&gt;. &amp;nbsp;But really, I would install as many Public Hotfixes for XenApp 6.0 as possible that apply to your environment.&lt;br /&gt;&lt;br /&gt;If that would have been the end of the freezing saga, I would have been content. &amp;nbsp;However, the freezing dragon decided to rear its ugly head again: whenever we tried to shut down a Citrix server after having a decent amount of load on it, it froze. &amp;nbsp;Basically, it would sit on the Windows "Shutting down..." screen with the spinning circle to never fully shut down or recover without a hard power off.&lt;br /&gt;&lt;br /&gt;After working with Microsoft and Citrix, it turns out that there is a Citrix Hotfix that's working its way toward becoming public (supported by Citrix), that should be available in the coming weeks. &amp;nbsp;If you are experiencing this same issue (freezing when shutting down) you're going to want to keep your eye out for Hotfix 46 (full name: XA600W2K8R2X64046).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE: &lt;/b&gt;I've added a &lt;a href="http://option9.blogspot.com/2011/07/this-is-xenapp-60-hotfix-you-are.html"&gt;new post&lt;/a&gt; that provides links to this hotfix.&lt;br /&gt;&lt;br /&gt;In the meantime, there are a couple pages you should be keeping an eye on:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://support.citrix.com/product/xa/v6.0_2008r2/hotfix/general/public/"&gt;The list of Public Hotfixes currently available for XenApp 6.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://support.citrix.com/article/CTX129229"&gt;A list of recommended Microsoft Citrix Hotfixes for XenApp 6.0 and Server 2008 R2&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Both of these get updated from time to time, so you'll want to bookmark them and see what's new whenever you get a chance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As always, this is what worked for me, in our environment, so your mileage may vary and I won't be responsible for any problems this post may cause :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3416690035758304502?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3416690035758304502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3416690035758304502' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3416690035758304502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3416690035758304502'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/05/citrix-xenapp-60-servers-freezing.html' title='Citrix XenApp 6.0 Servers Freezing'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-oILzEQ7aazs/TchbIbdKE4I/AAAAAAAADWs/VMMF9kffZI8/s72-c/ice-freezing-up-02.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-305091131191972687</id><published>2011-04-06T11:47:00.000-07:00</published><updated>2011-04-06T11:49:05.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>How to Work on an Android Project from Multiple Computers</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-5C7p3e4qxY8/TZyrImr0twI/AAAAAAAADWk/YRZEWDlNSYo/s1600/CLOUD.GIF" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://1.bp.blogspot.com/-5C7p3e4qxY8/TZyrImr0twI/AAAAAAAADWk/YRZEWDlNSYo/s200/CLOUD.GIF" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Note: I would never recommend this solution for an actual development company. &amp;nbsp;This really is intended for personal projects, or developing a small-scale app with one or two developers at most. As always,&amp;nbsp;try this at your own risk, as I will not be responsible for any lost, corrupted or otherwise broken projects.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;When I started developing my first Android application, I quickly found that it would be really nice to be able to work on the same source code from multiple computers, without having to copy things to an external hard drive, or uploading it somewhere and then downloading it and hoping that everything is in sync.&lt;br /&gt;&lt;br /&gt;I already had a free Dropbox account (available &lt;a href="https://www.dropbox.com/"&gt;here&lt;/a&gt;) that I had been using to sync a small number of files on separate computers, so I started thinking -- why not keep my Android project in my Dropbox? &amp;nbsp;Would it work? Would there be any "gotchas"? &amp;nbsp;If nothing else, I thought it was worth a try.&lt;br /&gt;&lt;br /&gt;So, when I created my Android project in Eclipse (available &lt;a href="http://www.eclipse.org/downloads/"&gt;here&lt;/a&gt;) I decided to set it up in my local Dropbox folder. &amp;nbsp;I added a few files, built the project and ran it -- so far so good. &amp;nbsp;I then opened the Dropbox app on my computer and let the syncing do its thing. &amp;nbsp;In my case, not only was I dealing with two different computers, I was also dealing with two different OSes. &amp;nbsp;My desktop computer is running Windows, while my laptop is running Mac OS X. &amp;nbsp;I figured if anything could go wrong, it would in this scenario.&lt;br /&gt;&lt;br /&gt;Before I go any further, I'd like to mention that I also wanted to use some kind of Source Control (the ability to check in and check out files, and mark certain versions of projects as version numbers that corresponded with the versions of my app). &amp;nbsp;Eclipse seemed to have some built-in functionality for using CVS Source control, so I started on the hunt. &amp;nbsp;In short, I ended up using WinCVS / MacCVS (available &lt;a href="http://cvsgui.sourceforge.net/download.html"&gt;here&lt;/a&gt;). &amp;nbsp;Setting up the CVS server isn't too complicated, so I'll leave that to you.&lt;br /&gt;&lt;br /&gt;After you have the CVS portion set up (Server and functionality within Eclipse), you should be able to Right-Click on your project and select Team -&amp;gt; Share Project. &amp;nbsp;Once you do this, you'll have to step through the wizard, but when you're done, you should have a version-controlled Android Project sitting in your Dropbox.&lt;br /&gt;&lt;br /&gt;Now for accessing that project from your second computer. &amp;nbsp;In my case, I installed Dropbox, Eclipse and the MacCVS server and configured everything similar to that of my Windows PC. &amp;nbsp;After everything finishes syncing in your Dropbox, open Eclipse and go to File -&amp;gt; New -&amp;gt; Project. &amp;nbsp;From the list of options, select CVS then Project from CVS. &amp;nbsp;Select Use existing repository location (which should have your local repository after setting up CVS), choose your local repository and click Next. &amp;nbsp;Select Use an existing module, and select the project you created on your first computer and click Finish. &amp;nbsp;This should create a new Project in your workspace complete with the current versions of your source code.&lt;br /&gt;&lt;br /&gt;So -- you should now be able to work freely on your code from both computers, and commit changes as you make them, and watch them sync to your Dropbox.&lt;br /&gt;&lt;br /&gt;Potential Gotchas:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Each time you log into a different computer from the last time you committed, you'll need to Update your project by Right-Clicking on the project, and then select Team -&amp;gt; Update.&lt;/li&gt;&lt;li&gt;In my case, running on one Windows computer and one Mac, I had very different build paths for my projects. &amp;nbsp;If you're doing something similar, you may or may not want to check in your project as a whole (instead, just check in individual files as you change them). &amp;nbsp;If you do happen to check in your project as a whole, you'll just need to remember to update the build properties on your other computer the next time you use it.&lt;/li&gt;&lt;li&gt;When you actually build your application and install it on a phone through Eclipse, the apk will most likely have different signatures from each computer, so you'll also want to uninstall any previous versions on your phone before switching computers. &amp;nbsp;If you just use the simulator, this is a non-issue.&lt;/li&gt;&lt;li&gt;Speaking of Signatures -- when you go to Export a Signed APK, you'll have to create (or use an existing) keystore. &amp;nbsp;I also keep this in my dropbox so that no matter which computer I'm on, I can always export an APK ready to be uploaded to the Market.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;In general, I imagine this technique could also be applied to iPhone/iOS development (between Macs obviously), or other Java-based projects, and more.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-305091131191972687?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/305091131191972687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=305091131191972687' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/305091131191972687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/305091131191972687'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/04/how-to-work-on-android-project-from.html' title='How to Work on an Android Project from Multiple Computers'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-5C7p3e4qxY8/TZyrImr0twI/AAAAAAAADWk/YRZEWDlNSYo/s72-c/CLOUD.GIF' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-8359670434342464709</id><published>2011-03-21T15:30:00.000-07:00</published><updated>2011-03-21T15:33:44.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Setting up KMS for Windows Activation on Server 2008 x64</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-Plem57-zIPo/TYfEQgwa42I/AAAAAAAADWQ/nqkN_C5Qc6o/s1600/Wonder-Twins.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="194" src="https://lh4.googleusercontent.com/-Plem57-zIPo/TYfEQgwa42I/AAAAAAAADWQ/nqkN_C5Qc6o/s200/Wonder-Twins.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;We initially set up all of our Windows Servers using MAK keys. &amp;nbsp;For those not familiar, MAK keys are very simple: you copy them from your licensing agreement with Microsoft and paste them into Windows activation, and then you're done. &amp;nbsp;Simple right? &amp;nbsp;The only trouble with using MAK keys is that you can only use them a limited number of times before you need to call Microsoft to increase the number of times that you can use them. &amp;nbsp;In our Citrix environment, I regularly image about 10 servers at a time when we make changes -- so you can see how I'd chew up the limited number of activations very quickly.&lt;br /&gt;&lt;br /&gt;Enter KMS. &amp;nbsp;With KMS, you need to set up one server on your network as a KMS host, and then all of your Windows machines can activate against it an unlimited number of times as KMS clients. &amp;nbsp;The only potential "gotcha" is that each of these KMS clients need to periodically check in with the KMS host to remain activated. &amp;nbsp;Since our Citrix farm is all on the same network and never gets shut down, this would not be a problem for us. &amp;nbsp;To understand more about KMS please check out &lt;a href="http://technet.microsoft.com/en-us/library/ff793434.aspx"&gt;this article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Our current Citrix farm is installed on Server 2008 R2; however, the domain controller that I made to be the KMS host, is running Server 2008 x64. &amp;nbsp;Setting up the KMS host was pretty straightforward: Change the current license key to our KMS B license key (B is for Standard and Enterprise edition servers), and then restart the Software Licensing Service. &amp;nbsp;By default, if you have Dynamic DNS enabled, this should create some new records on your DNS server to let clients know where the KMS host is listening. &amp;nbsp;If you don't have Dynamic DNS enabled, you'll need to create these records manually. &amp;nbsp;Plenty of information on that and other fun KMS topics can be found in &lt;a href="http://technet.microsoft.com/en-us/library/ff793409.aspx"&gt;this article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now for the client side of things. &amp;nbsp;By default, Windows installations are KMS clients (I didn't know this before, so that's a fun fact) -- they will check in with the DNS server to see if there is a KMS host out there, and then try to activate against it (note: for Windows Server, the KMS host must receive at least 5 activation re&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;quests before it will start activating). &amp;nbsp;I had a little more work to do since I had previously entered our MAK key for activation. &amp;nbsp;In order to switch the server back to a KMS client, I had to type in the following command from an elevated command prompt:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;slmgr.vbs /ipk &lt;i&gt;KMSSetupKey&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;where&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;i&gt;KMSSetupKey&amp;nbsp;&lt;/i&gt;&lt;/span&gt;is a key that is provided by Microsoft that is not part of a licensing agreement -- it's just a generic key. &amp;nbsp;I pulled the one I needed from &lt;a href="http://technet.microsoft.com/en-us/library/ff793421.aspx"&gt;this site&lt;/a&gt;. &amp;nbsp;Then, to attempt an activation, you can type in the following command from an elevated command prompt:&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;slmgr.vbs /ato&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Unfortunately, my attempt was not very successful. &amp;nbsp;Instead, I was prompted with the error "The key management service is unavailable." &amp;nbsp;This can mean a number of different things, but to get to the bottom of it, I pulled up the Event Log on the KMS host and noticed the following error number:&amp;nbsp;0xC004F042, which according to &lt;a href="http://support.microsoft.com/kb/938450"&gt;this site&lt;/a&gt; of common activation errors, means that there is a mismatch of some kind between our KMS host and our KMS client. &amp;nbsp;After a bit of digging, I discovered that I needed to apply an update to our KMS host running Server 2008 x64 to allow KMS clients running 2008 R2 to activate against it. &amp;nbsp;If you are in need of this update, it is currently available &lt;a href="http://support.microsoft.com/kb/968912"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Now, that's not the end of the story. &amp;nbsp;After applying the update and rebooting the KMS host, I was still unable to activate our 2008 R2 Servers. &amp;nbsp;In order to complete the update process, you must install the Server 2008 R2 KMS host key using the same command (slmgr.vbs /ipk&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;i&gt;KMSSetupKey&lt;/i&gt;&lt;/span&gt;&lt;kmssetupkey&gt;) as mentioned above, except you'll need to use the KMS key from your license agreement with Microsoft. &amp;nbsp;Then, I just needed to activate it (slmgr.vbs /ato) and restart the Software Licensing Service one more time. &amp;nbsp;Now we can activate R2 servers against our KMS host.&lt;/kmssetupkey&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 13px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Next stop will be determining how this all affects my Altiris imaging process...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-8359670434342464709?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/8359670434342464709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=8359670434342464709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8359670434342464709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8359670434342464709'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/03/setting-up-kms-for-windows-activation.html' title='Setting up KMS for Windows Activation on Server 2008 x64'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-Plem57-zIPo/TYfEQgwa42I/AAAAAAAADWQ/nqkN_C5Qc6o/s72-c/Wonder-Twins.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6793697204981829084</id><published>2011-03-15T10:03:00.000-07:00</published><updated>2011-03-15T10:03:15.048-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Storage'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Installing Red Hat Enterprise Linux 5.5 on a Multipath Device</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-V4ionO2Qk94/TX-Rg_CflfI/AAAAAAAADWM/Q2kRfHvXHmM/s1600/two_paths.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="124" src="https://lh6.googleusercontent.com/-V4ionO2Qk94/TX-Rg_CflfI/AAAAAAAADWM/Q2kRfHvXHmM/s200/two_paths.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Note: Most, if not all, of the tips I'm providing in this post are available in Red Hat or IBM documentation. &amp;nbsp;It took me awhile to find it though, so I thought it may be nice to save for a quick reference.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This week, our team was tasked with installing Red Hat Enterprise Linux (RHEL) 5.5 on an IBM server. &amp;nbsp;This server connects to two different drives provided by a DS8100 storage system, and has two paths to each drive. &amp;nbsp;In our first attempt to install RHEL, we had to use the text-based installer since this server does not have a video card, which made this entire process a little more fun.&lt;br /&gt;&lt;br /&gt;In going through the installer, it detected the two paths to each of our two drives, so instead of showing just the two drives it showed four (counting each path as an individual drive). &amp;nbsp;We went through the motions and targeted one of the drives it detected for the install. &amp;nbsp;Unfortunately, when we rebooted the machine, it didn't see that drive as a bootable device, marking our first defeat.&lt;br /&gt;&lt;br /&gt;To make things a little easier on ourselves, we decided to go with the recommended graphical installer. &amp;nbsp;How did we do this without a video card, you may ask? &amp;nbsp;With our friend, VNC. &amp;nbsp;If you're interested in using VNC to connect to your install, the documentation mentions the TigerVNC client, so that's what we went with. &amp;nbsp;In order to get the installer to start a VNC server, you need to add the following option at boot when prompted:&lt;br /&gt;boot: linux vnc&lt;br /&gt;You'll be prompted to configure the IP address for the server to run VNC on the machine, but once it's up and running you will be presented with the display to connect to.&lt;br /&gt;&lt;br /&gt;Now that we had a graphical installer to work with, we were feeling much better and went through another install. &amp;nbsp;It failed. &amp;nbsp;So, we tried again testing various disk layouts. &amp;nbsp;They failed. &amp;nbsp;We made a few more attempts before the end of the day, but just couldn't get this installer to lay down a bootable OS on the drive.&lt;br /&gt;&lt;br /&gt;In the back of my mind, I was thinking it had to do with multipath aspect. &amp;nbsp;If we could somehow get this installer to only see two drives, instead of four, maybe our luck would change. &amp;nbsp;After doing a little research through the Red Hat documentation, I discovered that if you try to install to a multipath device, it's probable that it will fail and/or it won't be bootable. &amp;nbsp;The key to solving this problem: adding just one additional boot parameter. &amp;nbsp;So, in the end, our boot parameters looked like:&lt;br /&gt;boot: linux vnc mpath&lt;br /&gt;Then, in the installer, it detected two multipath devices, we installed the OS to the first multipath device, and like magic, we had a working installation of RHEL 5.5!&lt;br /&gt;&lt;br /&gt;The following section only applies if you are running an IBM Storage System, specifically something in the DS6000 or DS8000 series. &amp;nbsp;So, if that doesn't apply to you, feel free to move along :)&lt;br /&gt;&lt;br /&gt;After the install, there were a couple additional steps to make sure multipath was configured correctly for our DS8100 system. &amp;nbsp;You will need to make sure the following packages are installed:&lt;br /&gt;device-mapper&lt;br /&gt;device-mapper-multipath&lt;br /&gt;&lt;br /&gt;Next, you'll need the multipath config file from the IBM website (currently located &lt;a href="http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000107#DM"&gt;on this page&lt;/a&gt;&amp;nbsp;in the section labeled&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; "Device Mapper Multipath Configuration File for ESS DS6000 DS8000 and SVC". &amp;nbsp;Make sure you grab the one for the RHEL 5 Platform). &amp;nbsp;After obtaining multipath.conf, back up your existing one under /etc/multipath.conf and then simply copy this one into the /etc directory. &amp;nbsp;In order to get my system to recognize the new config, I had to run the following command:&lt;br /&gt;multipath -r&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;You can then confirm that the drives are discovered with the following command:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;multipath -l&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Hopefully this post will save you a little bit of time and heartache!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6793697204981829084?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6793697204981829084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6793697204981829084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6793697204981829084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6793697204981829084'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/03/installing-red-hat-enterprise-linux-55.html' title='Installing Red Hat Enterprise Linux 5.5 on a Multipath Device'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-V4ionO2Qk94/TX-Rg_CflfI/AAAAAAAADWM/Q2kRfHvXHmM/s72-c/two_paths.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-659354258094462324</id><published>2011-02-25T15:59:00.000-08:00</published><updated>2011-10-07T10:21:49.048-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>7 Things to Convince Me to Switch to the iPhone 5</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s1600/iphone-4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s200/iphone-4.jpg" width="79" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;UPDATE: &lt;/b&gt;&lt;i&gt;I have published a follow-up post to this article &lt;a href="http://option9.blogspot.com/2011/10/7-things-to-convince-me-to-switch-to.html"&gt;here&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A couple of disclaimers first: I currently own the original Motrola Droid on Verizon. &amp;nbsp;I like my Droid, but there have definitely been times that I've wanted to throw it out the window. &amp;nbsp;As a loyal Verizon customer, I've never had the option of an iPhone, but with my contract renewal coming up in July, it appears as though I may have a choice to make. &amp;nbsp;Now, I am not necessarily a "phandroid" even though I've developed Android apps and while I own a Macbook and an iPod, I'm not really an iFanBoy either. &amp;nbsp;I'm just a fan of using the best technology that simply "works" while providing the best features for me at the time.&lt;br /&gt;&lt;br /&gt;With that out of the way, I've started thinking about the possibility of the iPhone 5 coming out this June -- which is a good possibility, right? &amp;nbsp;I've been wondering, what would it take for me to switch over to "the dark side"? &amp;nbsp;I have come up with a list of things that if completely implemented, I wouldn't hesitate to buy the next iPhone. &amp;nbsp;However, if only some (or none) of the following are included, I'll have quite the dilemma on my hands:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1) The iPhone 5 must be released on Verizon the same time as ATT&lt;/b&gt;&lt;br /&gt;I would assume that this would be the case going forward, but since we haven't seen this happen yet, I have to include this as a possibility. &amp;nbsp;If the iPhone 5 gets released on Verizon much later than ATT, it will be a no-go because I don't like starting with outdated technology at the beginning of a 2-year contract.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;2) The iPhone 5 must be capable of utilizing&amp;nbsp;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;4G / LTE&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I don't currently live in a city that is blanketed with LTE, so there may be a little bit of wiggle room here.  However, I am trying to future-proof for 2 years, and I would think that by then my city will have that coverage.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3) The iPhone 5 must have a dual-core processor&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;One of the major benefits of an Apple product is that the hardware and software are coupled together very nicely, which virtually ensures that users will have a pleasant experience with the device.  So, if they achieve the results they want without including a dual-core processor, I could understand;  however, I'd like to see it included, again, mostly as an insurance policy so that as mobile apps and games start getting developed with two-cores in mind, I can enjoy them to their full potential, even 2 years from now.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;4) The iPhone 5 must include an NFC implementation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;If you have no idea what NFC is, ReadWriteWeb has put together a very nice write up on it &lt;a href="http://www.readwriteweb.com/mobile/2011/02/nfc-in-2011-whats-nfc-and-why-do-I-care.php"&gt;here&lt;/a&gt;.  As the article mentions, this technology is not huge right now, but it is poised to take off very, very soon.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;5) The iPhone 5 must use a better notification system&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;In my opinion, this is one of the places where Android completely shines.  I love the way notifications are handled in Android with the notification bar -- it brings all of your notifications to one place and you can pick and choose what you'd like to respond to in any order, without interrupting what you're currently doing.  I would love for Apple to introduce a similar centralized way of handling notifications.  Also -- I also like the idea of the use of a notification light on the outside of the phone.  It's not intrusive, and alerts you when your screen is off.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b&gt;6) The iPhone 5 must have a dependable, free (or inexpensive) turn-by-turn Navigation application&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;This is another thing that I think I take for granted with Android.  The Google Navigation app is great -- I've used it on several trips, and I don't think that's it's ever really let me down.  From what I understand, there are some free crowdsourced apps available for the iPhone, but that doesn't cut it in my mind.&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;7) Along side the iPhone 5, Apple must provide free MobileMe access&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Now, I must confess that I didn't think of this one on my own.  A few articles, like&lt;a href="http://www.zdnet.com/blog/btl/mobileme-can-only-be-new-and-improved-if-apple-kills-subscription-fee/45343"&gt; this one&lt;/a&gt;, have recently surfaced pointing to the possibility of this very thing.  I currently use Google for a lot of things: calendar, email, contacts, etc. and I'd like to see a similar type of functionality available, for free, in the Apple world.  The possibility of MobileMe being reintroduced as a media storage locker for music, pictures, video and the like is even more intriguing.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Well -- that's my list for now.  What else would I be missing with the move from Android to the iPhone?  Has anyone made that transition (or visa versa) and regretted it? &amp;nbsp;Perhaps I'm just suffering from "the grass is always greener on the other side" syndrome?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;I'd love to hear your thoughts in the comment section below.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;UPDATE (3-3-2011): &lt;/b&gt;In light of the iPad 2 announcement, a few updates:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Item 1) The iPad 2 will be available on both ATT's and Verizon's networks on the same day.  This bodes well for a simultaneous iPhone 5 release.  Interestingly though, iOS 4.3 will only be available for the ATT iPhone 4 at launch.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Item 2) Surprisingly, the iPad 2 does not have any tie ins to 4G networks.  Does this mean that the iPhone 5 won't either?  Not necessarily, but I don't like seeing this one.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Item 3) With the release of the A5 processor, which happens to be dual-core, I would say that there is a very good chance that this chip will land in the iPhone 5.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;Item 7) There was no mention of MobileMe at all.  Perhaps this was wishful thinking to begin with?  Only time will tell!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;UPDATE (3-28-2011):&lt;/b&gt; WWDC 2011 was formally announced today with the tagline: "Join us for a preview of the future of iOS and Mac OS X."  Now, a few sites have published articles like &lt;a href="http://www.macrumors.com/2011/03/28/no-hardware-announcements-at-wwdc-2011/"&gt;this&lt;/a&gt; and &lt;a href="http://techcrunch.com/2011/03/26/ios-5-likely-pushed-to-the-fall-after-a-cloud-unveiling-at-wwdc/"&gt;this&lt;/a&gt; that take this (along with some information from their 'sources') to mean that there will not be an iPhone 5, or any kind of hardware announcement for that matter, this summer at WWDC.  In fact, they believe that the soonest that we may even see a new iPhone would be this Fall.  At this point, I'm not sure if I'd like to see some kind of 4GS minor refresh of the iPhone 4, or just see them wait to announce the availability of the iPhone 5 and iOS 5.  I'm hopeful that if nothing else, we'll have a REALLY good idea of what's in store (in terms of features and timelines) for the iPhone 5 and iOS 5 during WWDC so that I can at least determine if it's worth waiting for, even if it's not available yet.  Otherwise, it may make it an easy decision to stay on the Android train.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;UPDATE (4-22-2011): &lt;/b&gt;On Apple's Q2 financial results conference call, COO Tim Cook made it sound like 4G/LTE is still a relatively immature technology (which it is), and that Apple is not willing, at least at this time, to make the design compromises required to include 4G/LTE in the iPhone.  If it's anything like the HTC Thunderbolt, that would likely mean requiring two chips -- one for 3G and one for 4G.  I've also heard pretty bad things about battery life in regards to using 4G on the Thunderbolt -- also not a good sign that the technology is ready for prime time.  So, at this point, wishing for 4G/LTE in the next iteration of the iPhone seems like an incredible long shot.  Here's an interesting &lt;a href="http://news.cnet.com/8301-13924_3-20056230-64.html"&gt;discussion on why&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;UPDATE (5-19-2011):&lt;/b&gt; Verizon's CFO confirmed Item 1 (that Verizon and AT&amp;amp;T would release the next iPhone at the same time).  See the confirmation &lt;a href="http://www.9to5mac.com/67986/shammo-next-verizon-iphone-will-be-world-phone-and-released-at-the-same-time-as-atts/"&gt;here&lt;/a&gt; and check one off of the list!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;b&gt;UPDATE (6-13-2011): &lt;/b&gt;The week of WWDC 2011 has come to an end, and a LOT of features were revealed regarding iOS5.  Among these were my points 5 (a better notification system) and 7 (iCloud).  So, check those off of the list as well!  That leaves the question of 4G, NFC and Navigation.  I did discover MapQuest as a free Nav app, but I have no idea if it's any good -- so if anyone has any experience in that department, I'd love to hear about it.  Either way, unfortunately, it looks like the next iPhone won't be available until September!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-659354258094462324?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/659354258094462324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=659354258094462324' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/659354258094462324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/659354258094462324'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2011/02/7-things-to-convince-me-to-switch-to.html' title='7 Things to Convince Me to Switch to the iPhone 5'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s72-c/iphone-4.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2661084540566591775</id><published>2010-12-14T15:24:00.000-08:00</published><updated>2010-12-14T15:24:02.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RPC'/><category scheme='http://www.blogger.com/atom/ns#' term='AIX'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Slowness with RPC as root on AIX</title><content type='html'>I was responsible for writing a little RPC client (and server) program that talks to our Unidata database to retrieve some arbitrary values. &amp;nbsp;The client has been running fine on Linux, but when we moved it to our AIX server, we noticed something interesting: in a loop of 1000 calls, it would take about 13 seconds on Linux, and 45 seconds on AIX. &amp;nbsp;It was absolutely maddening, and made no sense since it was the exact same code, just recompiled (and our AIX box has FAR superior hardware specs).&lt;br /&gt;&lt;br /&gt;Then I made a discovery: when we ran the program as a non-root user, we got comparable times to the Linux box. &amp;nbsp;So, what is it about root on AIX that was causing the hold up? &amp;nbsp;Well, apparently, in AIX there is something built in that uses reserved, or privileged, ports for that kind of communication when running as root. &amp;nbsp;So, instead of having thousands of ports the client program could communicate on, it had a very limited subset of ports, which resulted in waiting for one of those ports to be available before completing the request.&lt;br /&gt;&lt;br /&gt;Long story short, the result was to set the sticky bit on the client application (which has owner and group as non-root), to force it to always run in non-user space. &amp;nbsp;In case you come across a similar issue, here are the steps to fix it:&lt;br /&gt;1) Use chmod and chgrp to make sure that the permissions on the application are non-root for ownership/group&lt;br /&gt;2) Enable the setuid sticky bit on the application with the following syntax:&lt;br /&gt;chmod u+s AppNameHere&lt;br /&gt;&lt;br /&gt;This caused quite the headache and resulted in a support call to IBM, so hopefully this will help someone out there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2661084540566591775?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2661084540566591775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2661084540566591775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2661084540566591775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2661084540566591775'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/12/slowness-with-rpc-as-root-on-aix.html' title='Slowness with RPC as root on AIX'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-8777926191028023762</id><published>2010-10-18T11:47:00.001-07:00</published><updated>2010-10-18T11:47:57.351-07:00</updated><title type='text'>New Look and Feel</title><content type='html'>I've never really liked the default template I've been using for this blog, so I figured it was time for a change. &amp;nbsp;Welcome to the new look!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-8777926191028023762?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/8777926191028023762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=8777926191028023762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8777926191028023762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8777926191028023762'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/10/new-look-and-feel.html' title='New Look and Feel'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1327038238265968891</id><published>2010-10-13T10:57:00.000-07:00</published><updated>2010-10-15T13:34:04.019-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='AIX'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Setting up a Web Server on AIX 6.1</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WA_r9RQqqAk/TLXppa9qHEI/AAAAAAAADVE/RP9Kz-KPO3s/s1600/web.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_WA_r9RQqqAk/TLXppa9qHEI/AAAAAAAADVE/RP9Kz-KPO3s/s1600/web.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;There have been several occasions when I have needed to set up web servers on either Windows or Linux. &amp;nbsp;Pretty much every time it has been a simple process of installing binaries through a GUI and making sure everything plays nice together. &amp;nbsp;Well, for the first time I needed to set up Apache, PHP and MySQL on an AIX machine that is completely GUI-less (Note: the GUI-less portion isn't the hard part). &amp;nbsp;In going through this process I learned a few things, so I thought that I would share them here.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step One:&lt;/b&gt; &lt;b&gt;Trying to find binaries for AIX&lt;/b&gt;&lt;br /&gt;This step in itself is a little difficult. &amp;nbsp;Previously I have used Bull Freeware (&lt;a href="http://www.bullfreeware.com/"&gt;http://www.bullfreeware.com/&lt;/a&gt;) for AIX binaries. &amp;nbsp;However, in this case, most of the binaries available are fairly outdated and I really wanted to put something together that was a little more recent. &amp;nbsp;This drove me to the discovery of PmWiki (&lt;a href="http://www.perzl.org/aix/index.php"&gt;http://www.perzl.org/aix/index.php&lt;/a&gt;) maintained by Michael Perzl. &amp;nbsp;This repository of RPMs built for AIX is very thorough, and very recent! &amp;nbsp;I highly recommend this site for anyone looking for binaries for AIX in general. &amp;nbsp;I quickly snatched up binaries for Apache and PHP, but no MySQL binaries were available. &amp;nbsp;Have no fear, MySQL actually maintains their own, so I was able to download them from their website (&lt;a href="http://dev.mysql.com/downloads/mysql/"&gt;http://dev.mysql.com/downloads/mysql/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Two: Trying to install the binaries&lt;/b&gt;&lt;br /&gt;This quickly turned into a dependency hunt for both Apache and PHP, but the PmWiki site had every package that I needed, so although tiring, it was simple work.... especially since each RPM install tells you exactly which packages it's missing. &amp;nbsp;Installing MySQL was as simple as unzipping the directory to /usr/local/mysql and following a few quick steps found in the install readme included with the binaries. &amp;nbsp;At this point, Apache was up and running, PHP was configured and MySQL was up and running. &amp;nbsp;In order to get MySQL to run at system startup I copied the mysql.server script to /etc/rc.d/init.d and then created symbolic links to it under rc2.d, rc3.d and rc5.d. &amp;nbsp;(&lt;b&gt;Note:&lt;/b&gt; If for some reason, you are following this like a tutorial, do not install the PHP binaries just yet.... you'll see why).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Three: Trying to get PHP to connect to a MySQL database&lt;/b&gt;&lt;br /&gt;This is when things started going downhill a little bit. &amp;nbsp;In a quick test, I got an error in my PHP script noting that the mysqli_connect (and mysql_connect) functions were undefined... this is not a good sign. &amp;nbsp;In going through the PHP info, I discovered that the PHP binary I downloaded was not compiled with MySQL support. &amp;nbsp;Bummer -- this meant that I now needed to compile PHP on my own on AIX. &amp;nbsp;Fun stuff!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Four: Compiling and Installing PHP on AIX&lt;/b&gt;&lt;br /&gt;This part was the most painful of this entire process. &amp;nbsp;I don't have too much experience building and compiling from source (especially on AIX), so it probably took a little bit longer than it should have. &amp;nbsp;I did discover a few interesting things though:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You must use the 32-bit version of MySQL if you want PHP to compile using it&lt;/li&gt;&lt;li&gt;You must use gmake/GNU make instead of the AIX make command for compilation to complete&lt;/li&gt;&lt;li&gt;I had to install the apxs (from the httpd-devel package) to reference in my configure command. &amp;nbsp;The AIX one (under /opt/pware64) made a libphp5.so library that caused Apache to fail to start up.&lt;/li&gt;&lt;li&gt;The&amp;nbsp;--enable-maintainer-zts configure option is required to make php thread safe. &amp;nbsp;Without it, Apache complains and won't load the library.&lt;/li&gt;&lt;li&gt;I also came across a very odd problem when I did the "make install". &amp;nbsp;The first part of the script deletes libphp5.so and then subsequently tries to call chmod on it, at which point it bombs out since it can't find the file. &amp;nbsp;Nice. &amp;nbsp;I came across a hack that also worked for me: Have two windows open, one ready to do the make install, and one ready to copy libphp5.so to the directory the script is expecting it to be in. &amp;nbsp;Start the make install, and then as soon as it has tried to delete libphp5.so, copy it where the script expects it to be. &amp;nbsp;By doing this, the file will be there when it's looking for it. &amp;nbsp;It requires a little bit of timing, so it may take a few tries to get it right.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For anyone interested, this is the configure line I used:&amp;nbsp;&lt;/div&gt;&lt;div&gt;configure '--cache-file=../config.cache' '--prefix=/opt/freeware' '--with-config-file-path=/opt/freeware/etc' '--enable-shared' '--enable-static' '--without-pear' '--with-gd=/opt/freeware' '--with-openssl=/opt/freeware' '--with-zlib' '--with-bz2' '--with-curl=/opt/freeware' '--with-t1lib=/opt/freeware' '--with-freetype-dir=/opt/freeware' '--with-jpeg-dir=/opt/freeware' '--with-png-dir=/opt/freeware' '--with-xpm-dir=/opt/freeware' '--with-zlib-dir=/opt/freeware' '--enable-soap' '--enable-bcmath' '--enable-ftp' '--with-iconv' '--enable-dom' '--enable-json' '--with-pcre-regex=/opt/freeware' '--with-apxs2=/opt/freeware/sbin/apxs' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--enable-maintainer-zts'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Step 5: Testing and Completion&lt;/b&gt;&lt;/div&gt;&lt;div&gt;At this point, I now had Apache running with PHP with support for MySQL. &amp;nbsp;I happily connected to the database and then handed the server over to another developer who would actually be using it. &amp;nbsp;This was definitely a learning experience, so I hope someone finds this information useful.&lt;br /&gt;&lt;br /&gt;UPDATE: I also discovered that by default, cgi scripts were not executing. &amp;nbsp;This was due to the file permissions set on the httpd log file directory. &amp;nbsp;So, if you also run into this problem, just run a chmod 775 on your httpd log file directory (mine was located at /var/log/httpd).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1327038238265968891?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1327038238265968891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1327038238265968891' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1327038238265968891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1327038238265968891'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/10/setting-up-web-server-on-aix-61.html' title='Setting up a Web Server on AIX 6.1'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WA_r9RQqqAk/TLXppa9qHEI/AAAAAAAADVE/RP9Kz-KPO3s/s72-c/web.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2359219197128282673</id><published>2010-08-09T09:35:00.000-07:00</published><updated>2010-08-09T09:35:03.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Jolicloud'/><title type='text'>Installing Jolicloud 1.0 on a Macbook</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WA_r9RQqqAk/TGAplw4NY2I/AAAAAAAADUs/naRUI5tXIBE/s1600/jolicloud.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_WA_r9RQqqAk/TGAplw4NY2I/AAAAAAAADUs/naRUI5tXIBE/s200/jolicloud.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;As of late, I have gained an interest in Cloud OSes.&amp;nbsp; If you have no idea what I'm talking about, Cloud OSes, from my understanding, deliver a very thin desktop OS that largely lives and acts in the Could (AKA the Internet).&amp;nbsp; Two examples of such an OS are Google Chrome OS and jolicloud.&amp;nbsp; For a good introduction video on the topic, you can watch &lt;a href="http://www.youtube.com/watch?v=0QRO3gKj3qw"&gt;this video&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Now, for the time being, Chrome OS is in its very early stages, so much so that it doesn't really have a formal release just yet.&amp;nbsp; So, I decided to take jolicloud for a test drive.&amp;nbsp; Of course, I don't have a netbook, which is what it's designed for, so I worked my way through installing this thing on my 3-year-old white Macbook.&lt;br /&gt;&lt;br /&gt;So, for anyone else interested in installing jolicloud on a Macbook, these are the steps I took:&lt;br /&gt;1) Use Bootcamp Assistant (located under Applications -&amp;gt; Utilities) to create a partition for jolicloud.&amp;nbsp; I made mine about 8GB, but you could get by with much less.&lt;br /&gt;2) Install rEFIt (&lt;a href="http://refit.sourceforge.net/"&gt;available here&lt;/a&gt;).&amp;nbsp; This is basically a boot menu that makes installing (and subsequently launching) jolicloud a bit easier.&amp;nbsp; Make sure you run the enable script mentioned in the install documentation, or you'll never see the boot menu.&amp;nbsp; If you've done everything up to this point, you should see the rERIt boot menu when you reboot your Mac.&lt;br /&gt;3) Burn the jolicloud ISO (&lt;a href="http://www.jolicloud.com/download#jolicloud-iso"&gt;available here&lt;/a&gt;) to a CD.&amp;nbsp; (Note: I tried using a USB thumb drive for this portion, but I couldn't get my Mac to detect it).&lt;br /&gt;4) Insert the CD and reboot your Mac.&lt;br /&gt;5) You should see a little penguin icon next to your Mac partition in the Boot Menu -- go for the penguin!&lt;br /&gt;6) At that point you should be able to follow the installer -- it's basically your typical Linux installer.&lt;br /&gt;&lt;br /&gt;Once installed, you'll probably want to change a couple of things immediately:&lt;br /&gt;1) Go into the device settings/control panel and update your keyboard settings.&amp;nbsp; You'll want to make sure that it's set to the appropriate Mac keyboard&lt;br /&gt;2) In that same area, update your mouse/accessibility settings so that long-clicking on something = right-clicking.&amp;nbsp; Unfortunately, with only one mouse button, this was the only way I could figure out how to get right-clicking to function.&lt;br /&gt;&lt;br /&gt;I haven't had much time to play around with the OS itself yet -- but if you have any tips or suggestions, I'd be glad to hear them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2359219197128282673?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2359219197128282673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2359219197128282673' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2359219197128282673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2359219197128282673'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/08/installing-jolicloud-10-on-macbook.html' title='Installing Jolicloud 1.0 on a Macbook'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WA_r9RQqqAk/TGAplw4NY2I/AAAAAAAADUs/naRUI5tXIBE/s72-c/jolicloud.jpg' height='72' width='72'/><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-4252207539047395672</id><published>2010-06-01T10:20:00.000-07:00</published><updated>2010-06-01T10:20:24.171-07:00</updated><title type='text'>TCPing: Add it to your toolbelt</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_WA_r9RQqqAk/TAU9m8JadeI/AAAAAAAADUA/I5T0lZflYgA/s1600/command-prompt-glossy.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://2.bp.blogspot.com/_WA_r9RQqqAk/TAU9m8JadeI/AAAAAAAADUA/I5T0lZflYgA/s200/command-prompt-glossy.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I've been using this tool for several months now, thanks to the introduction provided by one of our Citrix consultants.&amp;nbsp; TCPing is a simple utility which expands upon the functionality provided by the "ping" command that I'm sure you're all very familiar with.&lt;br /&gt;&lt;br /&gt;Most notably, it adds the ability to "ping" a specific port on a host to check whether or not it is open for business.&amp;nbsp; There are many situations where you could use something like this, such as making sure a service is up and running when you expect it to be.&amp;nbsp; However, my favorite use of this tool is when I'm waiting for a host to reboot and I want to RDP into it.&amp;nbsp; There have been so many times, before I had this utility, that I would let ping run until there was a response, and then I would open my RDP client and periodically try and connect until I got through.&lt;br /&gt;&lt;br /&gt;Well, now with tcping, I can run a command like "tcping -t hostname 3389" and just sit back and wait for the port to be open, at which time I know I'm good to go.&lt;br /&gt;&lt;br /&gt;I know this is not a major discovery, or anything new, but it's the little things that count, right?&lt;br /&gt;&lt;br /&gt;If you would like to download this utility, you can get it from &lt;a href="http://download.cnet.com/TCPing/3000-2085_4-10770093.html?tag=mncol"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-4252207539047395672?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/4252207539047395672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=4252207539047395672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/4252207539047395672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/4252207539047395672'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/06/tcping-add-it-to-your-toolbelt.html' title='TCPing: Add it to your toolbelt'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WA_r9RQqqAk/TAU9m8JadeI/AAAAAAAADUA/I5T0lZflYgA/s72-c/command-prompt-glossy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3235218210903373702</id><published>2010-05-26T11:24:00.001-07:00</published><updated>2010-05-26T11:27:56.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Group to Voicemail'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>My Next Android App - Group to Voicemail</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WA_r9RQqqAk/S_1n5pFnS9I/AAAAAAAADTo/1iTSxLLpPF4/s1600/promo.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 180px; height: 120px;" src="http://1.bp.blogspot.com/_WA_r9RQqqAk/S_1n5pFnS9I/AAAAAAAADTo/1iTSxLLpPF4/s320/promo.png" alt="" id="BLOGGER_PHOTO_ID_5475646961931996114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have been hard at work (in my spare time... whatever that means) putting together my second Android application called Group to Voicemail.  It is available on the Android Market for all Android devices running 2.0 and above.&lt;br /&gt;&lt;br /&gt;Here are the features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create and manage Contact groups that can sync with your Google  account automatically&lt;/li&gt;&lt;li&gt;There are currently three action types: &lt;ul&gt;&lt;li&gt;Send to Voicemail – Send all Contacts in that group to voicemail&lt;/li&gt;&lt;li&gt;Don’t Send to Voicemail – Don’t send all Contacts in that group to  voicemail&lt;/li&gt;&lt;li&gt;Everyone Else to Voicemail – Send all Contacts but those in the  specified group(s) to voicemail&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Create schedules to automatically apply actions to groups&lt;/li&gt;&lt;li&gt;Schedules can be created for a variety of scenarios: &lt;ul&gt;&lt;li&gt;Span multiple days (ex: from Friday at 5:00pm until Monday at  8:00am)&lt;/li&gt;&lt;li&gt;A time range on one day (ex: from 8:00am until 5:00pm on Friday)&lt;/li&gt;&lt;li&gt;All day (ex: All day on Thursday — will be in effect from 12:00am  until 12:00am the following day)&lt;/li&gt;&lt;li&gt;Repeat days (ex: Every Monday, Wednesday and Friday from 4:00pm to  6:00pm)&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Color-coded visual cues to specify which groups are currently being  sent to voicemail and which schedules are currently active&lt;/li&gt;&lt;li&gt;Option to receive a notification anytime a schedule or group status  changes.  This provides a quick glance at how many groups are currently  being sent to voicemail and how many schedules are currently active.&lt;/li&gt;&lt;li&gt;Temporarily disable schedules if you’re doing something different  that day/week.&lt;/li&gt;&lt;/ul&gt;For screenshots and more information, you can also visit the website I put together for  all of my Android-related projects: &lt;a href="http://forthegamer.com/"&gt;ForTheGamer.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3235218210903373702?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3235218210903373702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3235218210903373702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3235218210903373702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3235218210903373702'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/05/my-next-android-app-group-to-voicemail.html' title='My Next Android App - Group to Voicemail'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WA_r9RQqqAk/S_1n5pFnS9I/AAAAAAAADTo/1iTSxLLpPF4/s72-c/promo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-5763155802929546883</id><published>2010-05-26T11:11:00.001-07:00</published><updated>2010-05-26T11:21:04.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Kaspersky'/><category scheme='http://www.blogger.com/atom/ns#' term='Symantec'/><title type='text'>Held Hostage By Symantec</title><content type='html'>In our Citrix environment, we needed good Anti-Virus/Anti-Malware protection since there will be a huge wave of users inhabiting each server on a daily basis.  Our first choice was to deploy Symantec Endpoint Protection since we've already had pretty decent success with the product across our PCs.  So, we dove in to adding it to our Citrix Environment.&lt;br /&gt;&lt;br /&gt;A few weeks in we noticed some very odd things happening: Users access to network shares was excruciatingly slow.  It would literally take minutes to enumerate all of the items in a given folder.  Since our Start Menus were also redirected on the network, this meant their start menu would not show up for quite some time.  Between this, slow log-on and log-off times and slow access to network shares (a main part of our business), this performance was unacceptable.&lt;br /&gt;&lt;br /&gt;Naturally I started down the path of getting support.  Now, Symantec support is pretty bad in my opinion in terms of wait times, turn-around-times, etc., but that's a different story.  To make a very long story (approximately 3 months in time) shorter, it boiled down to the fact that there is a defect in their code that causes network scanning to stay turned on (in File-system auto-protect) even when you uncheck the box in the policy settings.  So, in the end, Symantec acknowledged the defect, but as of now, still is unwilling to create the fix for it, or even provide a timeline for when this fix may show up in a future version.  Since we've already had several hold ups on this project, this kind of indefinite wait was just unacceptable.&lt;br /&gt;&lt;br /&gt;So -- now we're on to looking at our options.  At the moment, Kaspersky is looking pretty good.  How about any of you?  Any experience deploying anti-virus in a Xenapp 5 environment running on Windows Server 2008 x64?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-5763155802929546883?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/5763155802929546883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=5763155802929546883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5763155802929546883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5763155802929546883'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/05/held-hostage-by-symantec.html' title='Held Hostage By Symantec'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6089563938083337644</id><published>2010-03-26T10:31:00.000-07:00</published><updated>2010-03-26T10:41:10.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Encyclopedia'/><title type='text'>My First Android App - Game Encyclopedia</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WA_r9RQqqAk/S6zvpU_ARyI/AAAAAAAADTg/xbrgRE-DxDs/s1600/android.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 217px; height: 210px;" src="http://4.bp.blogspot.com/_WA_r9RQqqAk/S6zvpU_ARyI/AAAAAAAADTg/xbrgRE-DxDs/s320/android.png" alt="" id="BLOGGER_PHOTO_ID_5452996742125471522" border="0" /&gt;&lt;/a&gt;I have decided to join the onslaught of Android developers and build my first app: Game Encyclopedia.  Essentially, it is a news and reference application that provides a front end to news and video game data hosted by &lt;a href="http://www.gamesradar.com/"&gt;GamesRadar.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here are the current list of features:&lt;br /&gt;- Up to the minute video game News Features&lt;br /&gt;- A video game  Browser that allows you to navigate through video games  past, present  and future by Platform, Genre or Name with the ability to  sort results&lt;br /&gt;- View  related information such as a description, release date, ESRB  Rating  and review score for games&lt;br /&gt;- A video game search that allows you  to find the game you are looking  for quickly&lt;br /&gt;&lt;br /&gt;If you have an Android phone, you can now download it from the market by searching for "Game Encyclopedia."  If you want to help me out, you could go install it, give it a nice rating, and leave a nice comment in the market :)&lt;br /&gt;&lt;br /&gt;For more information, you can also visit the website I put together for all of my Android-related projects: &lt;a href="http://forthegamer.com/"&gt;ForTheGamer.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As always, I welcome all questions and suggestions!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6089563938083337644?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6089563938083337644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6089563938083337644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6089563938083337644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6089563938083337644'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/03/my-first-android-app-game-encyclopedia.html' title='My First Android App - Game Encyclopedia'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WA_r9RQqqAk/S6zvpU_ARyI/AAAAAAAADTg/xbrgRE-DxDs/s72-c/android.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6369253774014296059</id><published>2010-02-08T15:32:00.000-08:00</published><updated>2010-02-08T15:32:03.482-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Altiris'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Altiris Agent Prevents Roaming Profile Removal</title><content type='html'>When I logged into one of our Citrix Servers, I noticed something interesting:&amp;nbsp; The user directory folder (C:\Users on Windows 2008), contained multiple copies of users' cached roaming profiles.&amp;nbsp; So, for example, there would be folders maugustine.domain, maugustine.domain.000, maugustine.domain.001, etc.&amp;nbsp; I thought for sure that I had set the Group Policy to remove locally cached roaming profiles upon log out to avoid this sort of mess, and when I double checked, my memory was correct.&lt;br /&gt;&lt;br /&gt;Upon further scrutiny, I discovered that everything was being deleted from the user's profiles except for one empty directory: C:\Users\username.domain\AppData\LocalLow\Microsoft\CryptnetUrlCache, which is related to Security Certificates when using Internet Explorer.&amp;nbsp; In a few tests, I was able to reproduce the problem by logging in, opening IE, browsing to an https site (like www.bankofamerica.com), and then trying to log off.&lt;br /&gt;&lt;br /&gt;After going through the services on the system and the startup items under msconfig one by one, I learned that it was the Altris DAgent service that caused this.&amp;nbsp; If I stopped the service and then ran the previously mentioned test, the user's profile would be deleted just fine.&lt;br /&gt;&lt;br /&gt;So, I went straight to Symantec support, who has acknowledged the problem, has been able to reproduce it, and now considers it a "known issue."&amp;nbsp; If you are sitting on Windows Server 2008 and are experiencing the same problem, unfortunately there is no permanent fix available yet.&amp;nbsp; Your best bet is to disable the Altiris DAgent services and startup items and subscribe to the following KB article for updates:&lt;br /&gt;&lt;a href="https://kb.altiris.com/article.asp?article=51228&amp;amp;p=1"&gt;https://kb.altiris.com/article.asp?article=51228&amp;amp;p=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, if you happen to not be on Vista or 2008, you also have the option of going back to the Altiris AClient until they release a new version of the DAgent.&amp;nbsp; Unfortunately, the AClient is not compatible with Vista or Server 2008.&lt;br /&gt;&lt;br /&gt;Sorry for not providing a permanent solution at this point in time, but at least you have a workaround and a KB article to follow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6369253774014296059?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6369253774014296059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6369253774014296059' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6369253774014296059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6369253774014296059'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/02/altiris-agent-prevents-roaming-profile.html' title='Altiris Agent Prevents Roaming Profile Removal'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-4395235996294369996</id><published>2010-01-15T10:42:00.000-08:00</published><updated>2010-01-15T10:42:22.410-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows Server 2008 Freezes -- Finally Solved!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WA_r9RQqqAk/S1C228ca3tI/AAAAAAAADSA/LOet1l5o5Og/s1600-h/i-has-frozen.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/_WA_r9RQqqAk/S1C228ca3tI/AAAAAAAADSA/LOet1l5o5Og/s200/i-has-frozen.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;In our environment at work, we have a Citrix farm that users connect to that is running on Windows Server 2008 x64. &amp;nbsp;During our testing phase while we still had a relatively light load of users on the farm, things went pretty smoothly. &amp;nbsp;As we added more and more users to the Citrix environment, different issues cropped up here and there, but none as horribly evil as our servers freezing to the point of becoming completely unresponsive. &amp;nbsp;At that point, all sessions that users were in would lock up, forcing them to lose any unsaved data and restart their sessions again. &amp;nbsp;As you can imagine, management did not see this as an enhancement to their productivity.&lt;br /&gt;&lt;br /&gt;So, for the last several months we have been troubleshooting this issue. &amp;nbsp;There was no pattern in regards to when servers would freeze. &amp;nbsp;At any given time, any of the four servers we have in production would freeze. &amp;nbsp;There was also no consistent user base on the server that would freeze (the only consistency being that they weren't too happy when it would happen). &amp;nbsp;After bringing in several consultants that helped set up this environment initially, we took our case to Citrix. &amp;nbsp;Several log and memory dump files later, they came to the conclusion that Internet Explorer was causing our servers to lock up. &amp;nbsp;Naturally, I then presented this information all to Microsoft support. &amp;nbsp;Upon further analysis, they discovered that we were experiencing a bug that has been resolved by a hotfix:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/976674"&gt;http://support.microsoft.com/kb/976674&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically, the hotfix resolves an issue that occurs when Server 2008 or Windows Vista is under a heavy load and there are a lot of network share accesses going on. &amp;nbsp;Well, in our case, the user profile is a network share, plus their Outlook PST files were out on a network share, plus their other file shares were network shares, and the list goes on. &amp;nbsp;After applying this hotfix (which was a little over two weeks ago) we have not experienced any freezes. &amp;nbsp;Good news for everyone.&lt;br /&gt;&lt;br /&gt;If anyone is interested in the detailed symptoms:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Users sessions (terminal services/Citrix) would become completely unresponsive&lt;/li&gt;&lt;li&gt;The server would become unresponsive even at the console level&lt;/li&gt;&lt;li&gt;The server would respond to pings&lt;/li&gt;&lt;li&gt;Apparently anything in memory at the time of the freeze would continue to function -- as soon as you tried to access something else, the session would freeze&lt;/li&gt;&lt;li&gt;The only workaround when this occurred was to hard reboot the server&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-4395235996294369996?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/4395235996294369996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=4395235996294369996' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/4395235996294369996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/4395235996294369996'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2010/01/windows-server-2008-freezes-finally.html' title='Windows Server 2008 Freezes -- Finally Solved!'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WA_r9RQqqAk/S1C228ca3tI/AAAAAAAADSA/LOet1l5o5Og/s72-c/i-has-frozen.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6272842613108853440</id><published>2009-12-04T09:49:00.000-08:00</published><updated>2009-12-04T09:49:25.606-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Printing'/><title type='text'>Random Empty Print Jobs Sent to Network Printers</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/SxlIpn3KzbI/AAAAAAAADR4/p6m5e1qmo38/s1600-h/office_space.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SxlIpn3KzbI/AAAAAAAADR4/p6m5e1qmo38/s320/office_space.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;I recently came across an odd problem having to do with empty print jobs being sent to printers across our network.&amp;nbsp; Since our printers are all configured to first print a cover sheet with the user's username before each job, this would result in dozens of coversheets being printed on various printers throughout our company.&amp;nbsp; After a closer inspection, the jobs being spooled were all named "Remote Desktop Redirected Printer Doc" -- so I knew that Remote Desktop had something to do with it at least.&lt;br /&gt;&lt;br /&gt;At some point in the troubleshooting process I found that I could recreate the problem at will (which is gold in the technical troubleshooting world).&amp;nbsp; All I had to do was start a remote desktop session from a computer with network printers installed, to an XP computer on our network.&amp;nbsp; I also had to choose the option to redirect local printers to the remote session for it to occur as well.&amp;nbsp; Whichever network printers were installed on the local machine, and were redirected to the remote session, would receive a random amount of these empty print jobs.&lt;br /&gt;&lt;br /&gt;After scouring the internet for awhile, and involving Microsoft support, I discovered that our problem was related to a little 3rd party application called Scan2PC.exe -- which was installed with some drivers to a Dell multifunction printer that all of our executives have.&amp;nbsp; So, if we started a remote desktop session to any XP computer that had this application installed, the problem happened.&amp;nbsp; As soon as I removed the Dell drivers, the problem went away.&amp;nbsp; Since our executives aren't planning getting rid of their brand new multifunction devices anytime soon, our current work around is to uncheck the box in the RDP session to redirect local printers to the remote session.&lt;br /&gt;&lt;br /&gt;It's crazy how such a small thing can cause so many weird things to happen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6272842613108853440?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6272842613108853440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6272842613108853440' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6272842613108853440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6272842613108853440'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/12/random-empty-print-jobs-sent-to-network.html' title='Random Empty Print Jobs Sent to Network Printers'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WA_r9RQqqAk/SxlIpn3KzbI/AAAAAAAADR4/p6m5e1qmo38/s72-c/office_space.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-5634027748690333330</id><published>2009-11-03T12:50:00.000-08:00</published><updated>2009-11-03T12:51:48.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Droid'/><category scheme='http://www.blogger.com/atom/ns#' term='Fake'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>My Fake Droid Review</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WA_r9RQqqAk/SvCNCcN3gQI/AAAAAAAADQo/XUVYWnf2QcI/s1600-h/PB020053.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/_WA_r9RQqqAk/SvCNCcN3gQI/AAAAAAAADQo/XUVYWnf2QcI/s320/PB020053.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Disclaimer: &lt;/b&gt;This post is a joke based on a gift that I received this week from my ever-so creative wife.  If you are looking for the latest and greatest news regarding the Motorola Droid, coming out on Verizon this Friday, you will need to look elsewhere :)  With that said, let's have some fun!&lt;br /&gt;&lt;br /&gt;Ever since I heard about the Droid, I've pretty much been obsessed with getting more information about it.  I've been following any Android news website I can find, and also do daily searches on Google news.  I am currently a Verizon customer and have long awaited the day when they present their customers with a truly "open" device that hasn't been gimped.  Well my friends, I believe Friday is that day.&lt;br /&gt;&lt;br /&gt;In any case, if I do end up getting the Droid it will partially be because of the mercy of my wife.  I just used my new-every-two upgrade this summer to get the enV3 by LG (a great phone by the way), so I'm not eligible for a new phone discount anytime soon.  However, my lovely wife, is a bit overdue for an upgrade.  So, I had to convince her that she does in fact want my enV3 and really does want to let me use her upgrade.  Well, sometime after having that talk with her, she decided to make a little gift for me: her take on the droid without seeing any pictures or reading any reviews.  All she had to go on was things she may have heard me say and things she knew about technology in general -- and mind you, my wife is not a techie.&lt;br /&gt;&lt;br /&gt;So, the only thing not self-explanatory in the picture above is the antenna where it says: "Perfect Reception Always".  Here are the rest of the pictures (unfortunately when she tried to write on the tape holding it all together, it didn't stay, so I'll clarify when necessary):&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUT98TKgI/AAAAAAAADQw/wbni7Lk4ZtA/s1600-h/PB020043.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUT98TKgI/AAAAAAAADQw/wbni7Lk4ZtA/s320/PB020043.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUW0ACbmI/AAAAAAAADQ4/uPhiMfGefoc/s1600-h/PB020036.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUW0ACbmI/AAAAAAAADQ4/uPhiMfGefoc/s320/PB020036.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In case you can't tell, the top half says "Free Navigation" and the bottom has "USB", "Ear Phones" and "Dial-up Modem" (Love that one!).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUZpJYi4I/AAAAAAAADRA/WkeqwOMHMX8/s1600-h/PB020039.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUZpJYi4I/AAAAAAAADRA/WkeqwOMHMX8/s320/PB020039.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I couldn't stop laughing when I saw the "Jedi Button" -- who KNOWS what kind of power will be unleashed when I press it!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUjFb5sEI/AAAAAAAADRY/lxfapwyHVOU/s1600-h/PB020051.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUjFb5sEI/AAAAAAAADRY/lxfapwyHVOU/s320/PB020051.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;a href="http://2.bp.blogspot.com/_WA_r9RQqqAk/SvCUbQ-6hHI/AAAAAAAADRI/Hxv65LyRGg4/s1600-h/PB020048.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_WA_r9RQqqAk/SvCUbQ-6hHI/AAAAAAAADRI/Hxv65LyRGg4/s320/PB020048.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here you have the "Hi-tech camera" and "Google Maps".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUedLBQ7I/AAAAAAAADRQ/FnQAbX0x3Pk/s1600-h/PB020050.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUedLBQ7I/AAAAAAAADRQ/FnQAbX0x3Pk/s320/PB020050.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The "Cool Google easy Keyboard" -- I'm not sure what some of those symbols are though :)&lt;br /&gt;&lt;br /&gt;All in all, a pretty good device -- don't ya think?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-5634027748690333330?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/5634027748690333330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=5634027748690333330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5634027748690333330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5634027748690333330'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/11/my-fake-droid-review.html' title='My Fake Droid Review'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WA_r9RQqqAk/SvCNCcN3gQI/AAAAAAAADQo/XUVYWnf2QcI/s72-c/PB020053.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2388222993617655963</id><published>2009-10-13T09:25:00.000-07:00</published><updated>2009-10-13T09:25:20.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Thin Clients'/><category scheme='http://www.blogger.com/atom/ns#' term='Wyse'/><title type='text'>Wyse Device Manager Agent Disabled</title><content type='html'>In our thin client implementation we have decided on going with Wyse.&amp;nbsp; We're using the Wyse OS based V10Ls for standard users and then Windows XPe based R90Ls for users that require special setups.&amp;nbsp; Managing the V10Ls could not be easier: set up an FTP server with one config file and put the thin client in DHCP.&amp;nbsp; The rest is magic.&amp;nbsp; However, with the R90Ls we needed a way to customize the factory XPe image and deploy it to the rest of the devices.&amp;nbsp; We initially looked into using Altiris for imaging, since we were already using it for some of our servers, but soon discovered that it would cost us about $5,000 in licensing to image the rest of our thin clients.&lt;br /&gt;&lt;br /&gt;Enter Wyse Device Manager (WDM).&amp;nbsp; This free thin client management solution from Wyse is great for keeping an inventory of your thin client devices, and can also be used for things like remote control and imaging.&amp;nbsp; The process of taking an image of a thin client is fairly simple -- customize the current image to your liking, run a built-in prep script on the client (so that the device maintains its "uniqueness") and then take the image using the WDM interface.&lt;br /&gt;&lt;br /&gt;As I started creating our XPe images, I noticed something.&amp;nbsp; After every time we took an image, the WDM Agent service was stopped and disabled on the thin client (called the HAgent service in the Services tool).&amp;nbsp; No matter what I did, this service would be disabled causing the device to no longer be in communication with the WDM server.&amp;nbsp; Obviously this defeats the purpose since going forward we would not be able to remotely control or image this thin client.&lt;br /&gt;&lt;br /&gt;After doing some digging, I discovered what the issue was: a typo in the built-in prep script.&amp;nbsp; In prep_4_man.bat in C:\Windows\Setup there was a line that read:&lt;br /&gt;regedit /s /i c:\windows\setup\isetup.reg&lt;br /&gt;But there was no file named isetup.reg in C:\Windows\Setup -- but there WAS a file named setup.reg.&lt;br /&gt;I simply removed the extra "i" from the line, and that triggered the train of scripts that run post-imaging that cause the thin client to establish itself and enable the WDM Agent service.&lt;br /&gt;&lt;br /&gt;I'm not sure how many people are building custom XPe images with Wyse thin clients -- but if you're using the latest XPe build from Wyse, this should help!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2388222993617655963?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2388222993617655963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2388222993617655963' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2388222993617655963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2388222993617655963'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/10/wyse-device-manager-agent-disabled.html' title='Wyse Device Manager Agent Disabled'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2436577086911124913</id><published>2009-09-16T12:46:00.000-07:00</published><updated>2009-09-16T12:46:49.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Thin Clients'/><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Users Unable to Change Expired Passwords on Windows Server 2008</title><content type='html'>In our environment, we have Citrix XenApp 5.0 publishing desktops from Windows Server 2008.&amp;nbsp; Our users connect to these published desktops via thin client or through the web interface.&amp;nbsp; We recently decided to put our password policy into effect, which included expiring user passwords once a month.&lt;br /&gt;&lt;br /&gt;When the first user experienced the password expiration interface in Server 2008 after coming back to a locked workstation, they received the following message:&lt;br /&gt;"The password for this account has expired.  To change the password, click Cancel, click Switch User, and then log on."&lt;br /&gt;&lt;br /&gt;However, there was no cancel button to click on, and no apparent way for them to either change their password or log off and log on again to do so.&amp;nbsp; The only way we could get around this was for them to call the help desk, we'd manually reset their passwords in Active Directory and then they could log in again using that new password.&amp;nbsp; An unacceptable solution in my opinion :)&lt;br /&gt;&lt;br /&gt;So, I started to do some digging and found the following Microsoft KB article:&lt;br /&gt;http://support.microsoft.com/kb/958900&lt;br /&gt;which has an associated hotfix, that we applied and users were able to happily go on changing their passwords when they expired.&lt;br /&gt;&lt;br /&gt;But then, we noticed something else.&amp;nbsp; Users that had two monitors set up at their station were experiencing an interesting symptom now: When the Server 2008 login screen came up, the dialog was now centered in between the two monitors (instead of only being in the primary), and it only showed the left half of the dialog in the primary monitor.&amp;nbsp; The secondary monitor was just completely black.&lt;br /&gt;&lt;br /&gt;Oddly enough, the solution was to upgrade to Server 2008 SP2.&amp;nbsp; The service pack includes the previously mentioned hotfix, but for some reason did not have the same affect on dual monitors that the hotfix alone had.&lt;br /&gt;&lt;br /&gt;I spent several hours scouring the web for a solution and didn't find anything -- so hopefully this will help you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2436577086911124913?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2436577086911124913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2436577086911124913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2436577086911124913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2436577086911124913'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/09/users-unable-to-change-expired.html' title='Users Unable to Change Expired Passwords on Windows Server 2008'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3759314391999782977</id><published>2009-08-27T09:39:00.000-07:00</published><updated>2009-08-27T09:39:08.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to add a DNS suffix from a command prompt</title><content type='html'>We recently moved our datacenter, which involved adding our servers to our new domain and related DNS server (let's call it mydomain.com).&amp;nbsp; Previously, users connected to a telnet server by hostname (let's call it server1).&amp;nbsp; Well, after moving our datacenter, users could no longer connect to the server unless they used its FQDN of server1.mydomain.com.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;At this point we knew we'd have to hit every single computer (hundreds) on our network to update their preset connections.&amp;nbsp; We had an option -- we could either join each machine to the domain, or we could add a DNS suffix of mydomain.com to their local area connection tcp/ip properties.&amp;nbsp; We opted for the latter, since joining each machine to the domain would take longer, and is unnecessary considering we're in the process of rolling out thin clients to replace each of these machines.&lt;br /&gt;&lt;br /&gt;In order to add a DNS suffix to a TCP/IP connection remotely, all you need is a list of IP addresses and the following command:&lt;br /&gt;wmic /USER:administrator /PASSWORD:adminpassword /node:@c:\iplist.txt nicconfig call SetDNSSuffixSearchOrder (mydomain.com)&lt;br /&gt;&lt;br /&gt;Where C:\iplist.txt contains a list of IP addresses, line separated. &lt;br /&gt;&lt;br /&gt;After running this command for all of the IP addresses, users could then resolve server1 without needing to type out the whole FQDN.&amp;nbsp; Of course, this command could also be put in a script if you wanted to use it in such a way as well.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Happy Networking!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3759314391999782977?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3759314391999782977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3759314391999782977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3759314391999782977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3759314391999782977'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/08/how-to-add-dns-suffix-from-command.html' title='How to add a DNS suffix from a command prompt'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1529728948642005884</id><published>2009-08-10T14:28:00.000-07:00</published><updated>2009-10-26T11:56:33.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to "forget" network share credentials so you can authenticate as another user</title><content type='html'>&lt;b&gt;UPDATE (10/26/09): &lt;/b&gt;&lt;span style="font-style: italic;"&gt;I recently stumbled across a case where I was getting the "multiple connections" error and the steps below did not resolve the issue.  There is one more place to look (especially if you checked the box to "Remember my password" when connecting to the network share) to remove stored credentials.  Go to Control Panel -&amp;gt; User Accounts.  Then go to the Advanced tab and under "Passwords and .NET Passports" click on "Manage Passwords".  If the server you're trying to connect to is listed there, you're in luck.  Simply remove the entry, and log off and then back in again.  You should then be prompted for your new credentials.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is something that has saved me a lot of time by removing the need to log out from my current Windows session.  Have you ever connected to a network share and then wanted to authenticate as another user and received the following error:&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;"Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed."?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;For the longest time, I thought the solution was to log out and then back in again to authenticate as the other user.  It turns out there is a much easier way to get your computer to "forget" your current credentials so that you can use alternative ones.  Simply bring up a command prompt and type:&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt; net use * /d /y&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;This will effectively disconnect all remote connections as well as their associated credentials.&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;If you have more than one network connection open and you'd rather just delete a specific connection, type in:&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;net use&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;in a command prompt window.  This will list all of your current remote connections.  To delete a specific connection (let's say to \\server\share), type in the following in the command prompt:&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;net use \\server\share /d /y&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;If you're more of a GUI fan, you can go to My Computer and then select:&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt; Tools -&amp;gt; Disconnect Network Drive&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;Then just select the specific connection that you'd like to disconnect and click the OK button.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt;I hope that this saves you some time!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ctl00_mainContent_ShowSolution1_PostView_PostTextLabel"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1529728948642005884?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1529728948642005884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1529728948642005884' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1529728948642005884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1529728948642005884'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/08/how-to-forget-network-share-credentials.html' title='How to &quot;forget&quot; network share credentials so you can authenticate as another user'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3390396003439360182</id><published>2009-07-21T14:25:00.000-07:00</published><updated>2009-07-21T14:25:44.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CakePHP'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><title type='text'>Diving Into CakePHP and Ruby on Rails</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_WA_r9RQqqAk/SmYoY1V_hHI/AAAAAAAADQg/z01Od4gkNCc/s1600-h/cakeface.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img style="width: 254px; height: 182px;" src="http://3.bp.blogspot.com/_WA_r9RQqqAk/SmYoY1V_hHI/AAAAAAAADQg/z01Od4gkNCc/s320/cakeface.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;I love web development.  It's the one kind of programming that seems to continually intrigue me and bring me back for more.  I developed my first site using PHP (essentially on the WAMP stack) about 8 or 9 years ago, and haven't looked back.  It wasn't until recently that I started looking into frameworks and libraries such as jQuery, Prototype, etc.  I always preferred doing things with a text editor from scratch.  Sure, it took longer, but I new the complete ins and outs of all of my website.  Well, now that time is becoming more and more of a luxury, I can't afford to build sites from scratch anymore. Hence the discovery of two great frameworks: &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; and &lt;a href="http://cakephp.org/"&gt;CakePHP&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First, if you don't have any exposure to either of these technologies, there are some similarities in their paradigms.  Both are designed to save you, the developer, time in building websites.  Their goal is to do the monotonous, repetitive, underlying work for you so you can move on to build the rest of the website quickly.  both use principles of MVC (&lt;b&gt;M&lt;/b&gt;odel &lt;b&gt;V&lt;/b&gt;iew &lt;b&gt;C&lt;/b&gt;ontroller) development.  Essentially, their design forces you to use good design principles in your website.  A very basic, and incomplete, description of the MVC components could be the following:&lt;br /&gt;A Model is the data and associated interactions (Objects and Database)&lt;br /&gt;A View is the presentation of that data (HTML, CSS)&lt;br /&gt;A Controller is the logic used (Ruby/PHP)&lt;br /&gt;A more complete explanation can be found &lt;a href="http://www.tutorialspoint.com/ruby-on-rails/rails-framework.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;Another great thing that both provide is the ability to use REST APIs.  So, for example, if you were to collect data that you wanted to open up to third-party applications, you could provide them with an API to access it.  To me, this is a must to allow for layers of abstraction I previously mentioned in &lt;a href="http://option9.blogspot.com/2009/07/overcoming-information-overload-layers.html"&gt;another post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ruby on Rails, until very recently, was a mythical and powerful creature to me.  I had heard great things about it, heard what it could do, but I had absolutely no experience with it.  I decided to change that this week.  Within minutes I had completed the download and install of all required software to be up and running (I already had XAMPP on my machine from other development projects).  Two great tutorials for learning basic Ruby on Rails can be found &lt;a href="http://guides.rubyonrails.org/getting_started.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.tutorialspoint.com/ruby-on-rails-2.1/index.htm"&gt;here&lt;/a&gt;.  I went through both of them and feel like I have a good understanding of the design principles and capabilities of the technology.  Ruby is a very interesting language and pretty easy to pick up.  Ruby on Rails seems to be picking up steam in the US as of late, and is being used by websites such as &lt;a href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, at first I was thinking, why learn another language like Ruby?  I already have a good grip on PHP, so why not just stick with that?  Great question!  (Yes, sometimes I answer my own questions.) That's why I first looked at using CakePHP (plus, my friend was interested in learning it as well).  According to the creator of CakePHP, he liked the idea of Ruby on Rails and wanted to bring that to the world of PHP, so he basically took the idea.  To quote him from&lt;a href="http://www.sitepoint.com/article/application-development-cakephp/"&gt; here&lt;/a&gt;:&lt;br /&gt;"While it's difficult to copy Rails in PHP, it's quite possible to write an equivalent system. I like the terseness of Ruby code, but I need the structure that Rails provides, how it makes me organize my code into something sustainable. That's why I'm ripping off Rails in Cake."&lt;br /&gt;I followed along with the &lt;a href="http://book.cakephp.org/view/218/Tutorials-Examples"&gt;tutorials&lt;/a&gt; on the CakePHP website and had no problem setting this environment up either.  I just dropped it into my existing XAMPP setup and ran with it.&lt;br /&gt;&lt;br /&gt;I also found plenty of "CakePHP vs. Ruby on Rails" type discussions.  In the end, I surprisingly don't have much of a preference.  Both were easy to set up, both were easy to learn the basics of, and both provide the framework principles I was looking for.  I have a feeling that with more exposure I'll be able to choose a side more easily, but in the meantime, I'm just waiting around for a real project to try these out on.  What about you?  Which do you prefer?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3390396003439360182?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3390396003439360182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3390396003439360182' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3390396003439360182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3390396003439360182'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/07/diving-into-cakephp-and-ruby-on-rails.html' title='Diving Into CakePHP and Ruby on Rails'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WA_r9RQqqAk/SmYoY1V_hHI/AAAAAAAADQg/z01Od4gkNCc/s72-c/cakeface.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-7247223979485497987</id><published>2009-07-14T11:35:00.000-07:00</published><updated>2009-07-14T11:35:24.392-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubiquity'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Bible Gateway Search for Ubiquity 0.5</title><content type='html'>When I upgraded the Ubiquity extension in Firefox this morning to version 0.5, the Bible Gateway search command that I created died.&amp;nbsp; Apparently, it used a deprecated version of the API -- and so did the other Bible search command that I had, rendering both useless.&amp;nbsp; If you are completely unfamiliar with Ubiquity, it's an awesome extension available for Firefox that allows you to quickly carry out common tasks (similar to something like Spotlight or Quicksilver).&amp;nbsp; For more information on the extension, you can go &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/9527"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, if you're interested in updating your commands to reflect the new API, you should probably start at the new &lt;a href="https://wiki.mozilla.org/Labs/Ubiquity/Ubiquity_0.5_Author_Tutorial"&gt;command authoring tutorial&lt;/a&gt;.&amp;nbsp; There are some great examples in there on how to get started.&lt;br /&gt;&lt;br /&gt;For anyone interested, I updated my Bible Gateway Search command to the following:&lt;br /&gt;CmdUtils.CreateCommand({&lt;br /&gt;&amp;nbsp; names: ["bible-gateway"],&lt;br /&gt;&amp;nbsp; icon: "http://www.biblegateway.com/favicon.ico",&lt;br /&gt;&amp;nbsp; author: { name: "Matt Augustine", email: "sokkerstud_11@hotmail.com"},&lt;br /&gt;&amp;nbsp; license: "GPL",&lt;br /&gt;&amp;nbsp; description: "Launches a passage look up on BibleGateway.com",&lt;br /&gt;&amp;nbsp; help: "bible-gateway (passage query)",&lt;br /&gt;&amp;nbsp; arguments: [{role: "object",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nountype: noun_arb_text,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: "passage"}],&lt;br /&gt;&amp;nbsp; preview: function( pblock, arguments) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var template = _("Searches BibleGateway.com for ") + arguments.object.text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pblock.innerHTML = CmdUtils.renderTemplate(template);&lt;br /&gt;&amp;nbsp; },&lt;br /&gt;&amp;nbsp; execute: function(arguments) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var url = "http://www.biblegateway.com/passage/?search={QUERY}"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = arguments.object.text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var urlString = url.replace("{QUERY}", query);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Utils.openUrlInBrowser(urlString);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;Basically, it just does a very simple passage lookup and opens it up.&amp;nbsp; So, for example, valid queries would be things like:&lt;br /&gt;bible-gateway John 1-3&lt;br /&gt;bible-gateway Matthew 1:4-5 &lt;br /&gt;&lt;br /&gt;If you would like to install this command in your browser, feel free to copy the code above, or you can install it by going &lt;a href="http://galaxyriot.com/ubiq/bible-gateway.html"&gt;here&lt;/a&gt;.&amp;nbsp; If you have any questions about my command, feel free to leave a comment below!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-7247223979485497987?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/7247223979485497987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=7247223979485497987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7247223979485497987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7247223979485497987'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/07/bible-gateway-search-for-ubiquity-05.html' title='Bible Gateway Search for Ubiquity 0.5'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-8697554201025577294</id><published>2009-07-07T13:55:00.000-07:00</published><updated>2009-07-07T13:56:35.098-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Information'/><category scheme='http://www.blogger.com/atom/ns#' term='Social'/><title type='text'>Overcoming Information Overload - Layers of Abstraction</title><content type='html'>With all of the new web services coming out, seemingly on a daily basis, it is easy to feel overwhelmed with the amount of data that is available to us on the Internet.  It used to be easy: pull up your favorite search engine, type in what you're looking for and voila!  Now, there are search engines, social sites, RSS feeds, blogs, forums, and the list goes on and on (each with their own built in search engines of course).  Plus, trying to keep up with updating several different pages -- Facebook, MySpace, Twitter, flickr , Blog of choice, and don't forget good ol' fashioned email, is quite the daunting task... at least for anyone with a normal social/family schedule.  The question then becomes, how do get (and provide) the information we need in a way that is simple, relevant and relational?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Simple:&lt;/b&gt; In order to find data easily, there needs to be one interface for doing so.  While search engines try to provide this service, it is nowhere near complete.  RSS readers like &lt;a href="http://www.google.com/reader"&gt;Google Reader&lt;/a&gt; are great tools for collecting feeds that you enjoy, but don't solve the relevant and relational pieces completely.  Even then, you're responsible for finding the feeds and adding them.  On the social front, applications are just starting to scratch the surface on data integration -- a current example would be &lt;a href="http://tweetdeck.com/beta/"&gt;TweetDeck&lt;/a&gt;, which allows you view &lt;a href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; and &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; statuses simultaneously.  It would be nice to also have one interface for updating your own personal statuses and websites from one location.  Sites like &lt;a href="http://posterous.com/"&gt;Posterous&lt;/a&gt; and &lt;a href="http://www.tumblr.com/"&gt;Tumblr&lt;/a&gt; are really making great progress here, but there's still room for improvement.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Relevant: &lt;/b&gt;Sifting through the tons and tons of news articles, tweets, updates, and blog posts (and beyond!) to find data that is relevant to you personally can be quite the chore as well.  It would be great to go to one interface that would present you with all of the data you would be interested in across several web services and search engines.  Sure, there are plenty of suggestions and recommendations for who to follow, what to subscribe to, who to listen to, etc., but it would be even better if we could extract the relevant data from each of those sources and have it be presented in one unified interface.  &lt;a href="http://www.postrank.com/"&gt;PostRank&lt;/a&gt; is a service that definitely has the right idea.  Even their slogan is right on: "Find &amp;amp; Read What Matters."  Beautiful.  Sites like &lt;a href="http://www.techmeme.com/"&gt;TechMeme&lt;/a&gt;, &lt;a href="http://news.google.com/"&gt;Google News&lt;/a&gt; and &lt;a href="http://www.newspond.com/"&gt;Newspond&lt;/a&gt;, also attempt to crawl the web to find the most breaking, relevant stories for a subset of topics.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Relational: &lt;/b&gt;Web 2.0 has, in large, been about socializing everything on the web, and I think that it has inspired some truly amazing content.  There's no reason to slow that down.  There needs to be an easy way to view and share everything that you find with your friends and colleagues.  It would be great to have one interface that would allow me to reply appropriately (based on the sharing context -- whether the source is Twitter, Facebook, Google Reader, etc.) to a friend, or just share data with anyone.  The problem right now is that there are so many social services that we can belong to, and trying to keep each one up to date -- which I touched on in the "Simple" section.  Finding and sharing items with friends is a must in the next iteration of data discovery on the Internet.&lt;br /&gt;&lt;br /&gt;So, the next question, then, is how do we achieve these goals?  My opinion is that we could accomplish this through the use of layers of abstraction.  For example, Techmeme could be considered one layer of abstraction in that it gathers news articles from various baseline sources and presents a subset of those articles.  In order to present relevant information simply to an end user, I would suggest that we would really need at least another layer of abstraction.  Collect the news articles from sources like Techmeme, Newspond, Google News, etc. and present the user with data that is relevant to them based on interests, reading habits, recent conversations, etc.  From that new abstract interface they would be able to share any of those items with anyone and any service, updating all of their profiles, blogs, etc. accordingly.  All of this would be one small slice of the pie, considering you would also incorporate search and other social functionality among other things.  So, I guess you could say that I see the current web services as necessary building blocks (that will need to remain in place) to reach that next level of finding and sharing data in an attempt to overcome information overload.&lt;br /&gt;&lt;br /&gt;I'm sure there are plenty of services that I have not yet discovered -- so feel free to share your favorites in the comments section below!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-8697554201025577294?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/8697554201025577294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=8697554201025577294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8697554201025577294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8697554201025577294'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/07/overcoming-information-overload-layers.html' title='Overcoming Information Overload - Layers of Abstraction'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6269479115316687998</id><published>2009-06-24T13:47:00.000-07:00</published><updated>2009-07-06T13:46:45.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Printing'/><title type='text'>"The specified port is unknown" When Adding a Network Printer</title><content type='html'>We currently have a Windows 2008 x64 Server with print services installed and we are sharing several network printers through that server.  Every time a user logs in, a vbs script is run that maps certain printers for them depending on which groups they belong to in Active Directory.  All was well and good until randomly we started getting the error message "The specified port is unknown" on one of our servers when trying to add the printers.  So, instead of mapping the specified printers, the logon script failed leaving the user printerless.  I then went on to test adding the printer manually through the control panel, and to my surprise, I got the exact same error.  What gives?&lt;br /&gt;&lt;br /&gt;     I tried several things on the server hosting the printer, but it made absolutely no difference whatsoever.  Finally, I thought, maybe if I just restart the Print Spooler service on the server the user was logging into.  As soon as I did that, everything worked again!  So, I'm not exactly sure what caused the problem to occur in the first place, but I'm glad that I know how to fix it now.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bonus:&lt;/b&gt; We were also having issues with the wrong username/job owner showing up on the printer separator sheets.  Instead of printing the username of the person who printed, it would print the username of the last Domain Admin to print something.  We searched Google near and far and came back with nothing.  After running out of ideas, we pinged Microsoft support on the issue to discover that this is a known problem with Server 2008 and Vista SP1 and there's actually a hotfix available for it: &lt;a href="http://support.microsoft.com/kb/958741"&gt;http://support.microsoft.com/kb/958741&lt;/a&gt;  I hope that someone finds this useful, since I had such a hard time finding the solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6269479115316687998?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6269479115316687998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6269479115316687998' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6269479115316687998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6269479115316687998'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/06/specified-port-is-unknown-when-adding.html' title='&quot;The specified port is unknown&quot; When Adding a Network Printer'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6538969632359965610</id><published>2009-06-09T09:11:00.000-07:00</published><updated>2010-08-02T15:12:25.953-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Altiris'/><category scheme='http://www.blogger.com/atom/ns#' term='Sysprep'/><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Getting around the Windows Rearm Limit with Sysprep and Altiris</title><content type='html'>We are currently in the process of deploying 9 IBM Blade servers as a &lt;span id="SPELLING_ERROR_0"&gt;Citrix&lt;/span&gt; &lt;span id="SPELLING_ERROR_1"&gt;XenApp&lt;/span&gt; farm for our employees.  After evaluating the options for maintaining the servers, and their images, we settled on using &lt;span id="SPELLING_ERROR_2"&gt;Altiris&lt;/span&gt;.  The past several weeks has been consumed with coming up with a "Golden" image that we can use across all 9 servers so that each user's experience will be consistent and predictable (well, as much as possible anyway).  Coming up with this "Golden" image required going through a few iterations of a Server 2008 build, installing applications, customizing options and updates, etc.  We finally came to the point yesterday when we were ready to make one last change and take a final image -- and this is when I ran into a problem.  For the life of me, I could not get &lt;span id="SPELLING_ERROR_3"&gt;Altiris&lt;/span&gt; to take the image properly from the "Golden" server.&lt;br /&gt;&lt;br /&gt;For the record, we've never used &lt;span id="SPELLING_ERROR_4"&gt;Altiris&lt;/span&gt; before, so for the most part we kept most of the default settings: we chose a path to save the image to, we chose to &lt;span id="SPELLING_ERROR_5"&gt;sysprep&lt;/span&gt; (using the default answer file) the server, and then take the image.  I was finally able to narrow down the problem to &lt;span id="SPELLING_ERROR_6"&gt;sysprep&lt;/span&gt; not running correctly.  So, at that point, I went on to the server to try and manually run &lt;span id="SPELLING_ERROR_7"&gt;sysprep&lt;/span&gt; and got a fatal error!  (A full description of the problem can be found in &lt;a href="http://support.microsoft.com/kb/929828"&gt;this&lt;/a&gt; MS &lt;span id="SPELLING_ERROR_8"&gt;knowledgebase&lt;/span&gt; article).&lt;br /&gt;&lt;br /&gt;Basically, it boils down to these facts: When &lt;span id="SPELLING_ERROR_9"&gt;Altiris&lt;/span&gt; &lt;span id="SPELLING_ERROR_10"&gt;syspreps&lt;/span&gt; a server it generalizes it (as it should since this strips out all of the uniqueness of the server, so it can be applied to other servers), resetting the licensing information (or rearming it), and whatever else it does to prepare the image.  Now, this is all well and good except for the fact that Microsoft limits the number of rearms to 3 for any given Vista/Server2008 image.  So, not really being exposed to this world before, I burned up these 3 rearms very quickly :)&lt;br /&gt;&lt;br /&gt;At that point I scoured the &lt;span id="SPELLING_ERROR_11"&gt;internet&lt;/span&gt; for workarounds for this problem, since I had a golden image, but could not &lt;span id="SPELLING_ERROR_12"&gt;sysprep&lt;/span&gt; it.  I tried the answer file solution proposed in the &lt;span id="SPELLING_ERROR_13"&gt;knowledgebase&lt;/span&gt; article above, but could not get it to work for whatever reason.  Finally after much searching I came across &lt;a href="http://4sysops.com/archives/skiprearm-use-vista-indefinitely-long-without-activation/"&gt;this&lt;/a&gt; article, which describes how to get around this limitation.&lt;br /&gt;&lt;br /&gt;So, to solve this problem (if you've read the entire post until this point, well done -- but if you just skipped down here to the solution, I don't blame you), I just went into the registry on the "Golden" server and set the following key to a value of "1":&lt;br /&gt;&lt;span id="SPELLING_ERROR_14"&gt;HKEY&lt;/span&gt;_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\&lt;span id="SPELLING_ERROR_15"&gt;CurentVersion&lt;/span&gt;\&lt;span id="SPELLING_ERROR_16"&gt;SL\SkipRearm&lt;/span&gt; (For Windows 7: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm, thanks Mike!)&lt;br /&gt;Without a restart, I was able to run the &lt;span id="SPELLING_ERROR_17"&gt;Altiris&lt;/span&gt; imaging job again successfully.  It cost me a day of work, so I hope someone finds this helpful.  If you have any questions, feel free to leave a comment below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;: I also noticed that I had to do this registry change EVERY time before taking an image.  The image does not retain this value, it gets reset after doing the sysprep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6538969632359965610?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6538969632359965610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6538969632359965610' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6538969632359965610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6538969632359965610'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/06/getting-around-windows-rearm-limit-with.html' title='Getting around the Windows Rearm Limit with Sysprep and Altiris'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1750373404756386475</id><published>2009-05-28T13:25:00.000-07:00</published><updated>2009-08-05T13:14:17.108-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Importing Users into Active Directory on Server 2008</title><content type='html'>I have recently been tasked with figuring out how to import a large number of users into Active Directory in our Server 2008 environment.  Now, I know there are several options out there, and I'm sure someone will try and sell me something in the comments section, but I found a way to do it and it works.  And best of all, it's free!&lt;br /&gt;&lt;br /&gt;I am utilizing a few different things to accomplish this task: csvde (built into Windows Server), admod (a free utility available &lt;a href="http://www.joeware.net/freetools/tools/admod/index.htm"&gt;here&lt;/a&gt;), and a batch file.  The data sources are two files: a CSV file with the user data, and a tab-delimited file with user passwords.&lt;br /&gt;&lt;br /&gt;There is a site with great examples on how to do a basic import with csvde located &lt;a href="http://www.computerperformance.co.uk/Logon/Logon_CSVDE_Bulk.htm"&gt;here&lt;/a&gt;.  From that page you will find several other links to more complicated examples, and more in-depth looks at the procedure.&lt;br /&gt;&lt;br /&gt;First things first, we need to create a CSV file with the desired &lt;a href="http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm"&gt;LDAP attributes&lt;/a&gt;.  For my purposes, I decided on the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DN - Distinguished name in the directory (ex: CN=user,OU=employees,DC=domain,DC=com)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;objectClass - Defines the type of object to create (ex: user)&lt;/li&gt;&lt;li&gt;name - The user's name -- equivalent to CN (ex: Joe Smith)&lt;/li&gt;&lt;li&gt;displayName - self explanatory (ex: Joe Smith)&lt;/li&gt;&lt;li&gt;userAccountControl - This one takes a little math, but a good explanation can be found &lt;a href="http://www.computerperformance.co.uk/ezine/ezine23b.htm"&gt;here&lt;/a&gt; (ex: 514)&lt;/li&gt;&lt;li&gt;sAMAccountName - this is what shows up in the pre-Windows 2000 logon name field in ADUC (ex: jsmith)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mail - email address (ex: jsmith@domain.com)&lt;/li&gt;&lt;li&gt;givenName - the user's first name&lt;/li&gt;&lt;li&gt;sn - the user's last name&lt;/li&gt;&lt;li&gt;userPrincipalName - this defines the user's logon account (including domain) (ex: jsmith@domain.com)&lt;/li&gt;&lt;/ul&gt;Not all of these are necessarily required (though some are), so you may need to play around with the options to get it just right for your environment.  Remember: the first line of your CSV file needs to be the attribute names.&lt;br /&gt;&lt;br /&gt;Now, the one downside to csvde is that it does not take user passwords into account.  So, if you have a domain policy that has a strict password policy, the import may fail.  That's why, in my example, I chose the userAccountControl value of 514 (this defines the object as a normal user, but as a disabled account).  Next, we'll need to define passwords.  For this I created a separate text file (passwords.txt) that is a tab-delimited file that contains two values per row: the DN and the associated password.  In a moment, you'll see why.&lt;br /&gt;&lt;br /&gt;Since we now have our source files ready to go, we're good to import!  For this I created a batch file that looks like the following:&lt;br /&gt;@echo off&lt;br /&gt;echo "Importing from CSV File"&lt;br /&gt;csvde -i -v -k -f %1&lt;br /&gt;pause&lt;br /&gt;&lt;br /&gt;echo "Setting Passwords and enabling accounts.  Passwords never expire."&lt;br /&gt;REM Loop through password file and update records&lt;br /&gt;FOR /F "tokens=1,2 delims=    " %%G IN (%2) DO (&lt;br /&gt;   admod -b %%G unicodepwd::%%H -kerbenc&lt;br /&gt;   admod -b %%G "userAccountControl::66048")&lt;br /&gt;&lt;br /&gt;UPDATE: Apparently this Blog removes Tabs and replaces them with spaces.  In the line "FOR /F "tokens=1,2 delims=    " %%G IN (%2) DO (" above, there is actually a TAB in between "delims=" and the closing quotation mark.  Be sure to remove the space and replace it with a Tab, by pressing the Tab key.  Thanks to Jennifer for helping discover this!&lt;br /&gt;&lt;br /&gt;This batch file takes two parameters: the first being the path to the csv source file and the second being the path to the tab-delimited password file.  Now let's take a look at what we're doing here :)&lt;br /&gt;In the first section we are bulk importing users with the following command:&lt;br /&gt;&lt;i&gt;csvde -i -v -k -f %1&lt;/i&gt;&lt;br /&gt;The "i" option switches to import mode.  "v" is verbose, "k" means to ignore common warnings and "f" means to use the file located by the following value.  "%1" is just the way to specify the first command line argument to the batch file.  When this command has completed, the users will be populated into Active Directory, but will be disabled and without a password.&lt;br /&gt;&lt;br /&gt;Enter the next chunk:&lt;br /&gt;&lt;i&gt;FOR /F "tokens=1,2 delims=    " %%G IN (%2) DO (&lt;br /&gt;   admod -b %%G unicodepwd::%%H -kerbenc&lt;br /&gt;   admod -b %%G "userAccountControl::66048")&lt;/i&gt;&lt;br /&gt;This loops through the tab-delimeted file specified by the "%2" (second command line argument) and does two things.  First:&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;admod -b %%G unicodepwd::%%H -kerbenc&lt;/i&gt;&lt;br /&gt;This command modifies the object specified by the DN in the text file to have the associated password&lt;i&gt;.  &lt;/i&gt;The passwords are saved as plain text in the file.&lt;br /&gt;And second:&lt;br /&gt;&lt;i&gt;admod -b %%G "userAccountControl::66048&lt;/i&gt;&lt;br /&gt;This command modifies the object specified by the DN to update the user account control value.  The value specified here enables the account (now that it has a valid password) and sets it so that the password never expires -- which was something just for our environment.  Take another look at the control codes to set this value to whatever you need.&lt;br /&gt;&lt;br /&gt;And that's it!  Now you have an Active Directory populated with enabled users with valid passwords.  If you have any questions about this process, feel free to leave a comment below.&lt;br /&gt;&lt;br /&gt;*DISCLAIMER* Always do stuff like this in a test environment first.  I in no way guarantee this will work for you in your environment, or that it won't completely break your directory -- so again, always test first!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1750373404756386475?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1750373404756386475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1750373404756386475' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1750373404756386475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1750373404756386475'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/05/importing-users-into-active-directory.html' title='Importing Users into Active Directory on Server 2008'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-2497619175874438538</id><published>2009-04-20T14:11:00.000-07:00</published><updated>2009-04-20T14:11:19.203-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>How to Use the Arc90 PHP API to Get Info From Twitter</title><content type='html'>I recently decided, as a programmer and self-proclaimed web developer, to dive into the Twitter API, mostly just for fun.&amp;nbsp; From the main &lt;a href="http://apiwiki.twitter.com/"&gt;Twitter API Page&lt;/a&gt; you can access a series of prebuilt &lt;a href="http://apiwiki.twitter.com/Libraries"&gt;libraries&lt;/a&gt; for various programming languages, which provide wrappers around the main Twitter API.&amp;nbsp; With PHP being my web developing language of choice, I quickly glanced over the libraries available, with one clearly standing out: &lt;a href="http://lab.arc90.com/2008/06/php_twitter_api_client.php"&gt;Arc90&lt;/a&gt;.&amp;nbsp; Not only is it maintained by a fellow "Matt," it also provides access to mostly anything you could think of in the world of Twitter.&amp;nbsp; By the end of this article, you should be able to pull all of your followers from Twitter and list some basic data about them.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installation and Environment:&lt;/b&gt; The &lt;a href="http://lab.arc90.com/2008/06/php_twitter_api_client.php"&gt;main page&lt;/a&gt; for Arc90 provides a very basic introduction on how to install and use the package, which is sufficient for getting your PHP environment ready to use.&amp;nbsp; So, for the purpose of this, I will assume that your PHP environment is all set, your includes are in order and cURL is ready to go.&amp;nbsp; If you need further help with any of those areas, feel free to leave a comment below.&amp;nbsp; So, I will assume you have a set up like the following:&lt;br /&gt;&lt;br /&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;?php&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;require_once&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;'Arc90/Service/Twitter.php'&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="vars"&gt;$twitter&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="keyword"&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Arc90_Service_Twitter(&lt;/span&gt;&lt;span class="string"&gt;'username'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;'password'&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;try&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//&amp;nbsp;Gets&amp;nbsp;the users following you, response in JSON format&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$response&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$twitter&lt;/span&gt;&lt;span&gt;-&amp;gt;getFollowers(&lt;/span&gt;&lt;span class="string"&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;// Store the JSON response&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="func"&gt;$theData =&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="vars"&gt;$response&lt;/span&gt;&lt;span&gt;-&amp;gt;getData();&lt;/span&gt;&lt;span class="string"&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//&amp;nbsp;If&amp;nbsp;Twitter&amp;nbsp;returned&amp;nbsp;an&amp;nbsp;error&amp;nbsp;(401,&amp;nbsp;503,&amp;nbsp;etc),&amp;nbsp;print&amp;nbsp;status&amp;nbsp;code&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$response&lt;/span&gt;&lt;span&gt;-&amp;gt;isError())&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="func"&gt;echo&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$response&lt;/span&gt;&lt;span&gt;-&amp;gt;http_code&amp;nbsp;.&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"\n"&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;catch(Arc90_Service_Twitter_Exception&amp;nbsp;&lt;span class="vars"&gt;$e&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//&amp;nbsp;Print&amp;nbsp;the&amp;nbsp;exception&amp;nbsp;message&amp;nbsp;(invalid&amp;nbsp;parameter,&amp;nbsp;etc)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&amp;nbsp;&lt;span class="vars"&gt;$e&lt;/span&gt;&lt;span&gt;-&amp;gt;getMessage();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;?&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span&gt;&lt;/span&gt;Note a few changes: Obviously, on line 5 you will need to replace 'username' and 'password' with your login credentials.&amp;nbsp; On line 10, I went ahead and removed the parameter to request an XML response.&amp;nbsp; I saw that the default was JSON and wanted to try that (since that is another new technology for me).&amp;nbsp; I'm also using the getFollowers() API call instead.&amp;nbsp; On line 13, I'm storing the returned data for future use.&lt;span&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;Important Note Regarding API Rate Limits&lt;/b&gt;: If you are unfamiliar with Twitter and its associated API calls, you need to make sure that you don't overdo it on the number calls you make.&amp;nbsp; By default, Twitter allows you to have 100 API calls per hour (this includes using third party applications like TweetDeck or Nambu), so you'll need to keep an eye on how many calls you're using.&amp;nbsp; If you go over that limit, you can potentially be blacklisted -- which makes no one happy.&amp;nbsp; You have a couple of options: 1) Request to be whitelisted using &lt;a href="http://twitter.com/help/request_whitelisting"&gt;this form&lt;/a&gt;.&lt;/span&gt;&amp;nbsp; This will allow you to use 20,000 requests per hour, or 2) Watch your rate limit using a &lt;a href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0rate_limit_status"&gt;built-in API method&lt;/a&gt; which monitors your status, and conveniently does not cost you an API call to use.&amp;nbsp; You can find more info regarding limits, whitelisting and blacklisting &lt;a href="http://apiwiki.twitter.com/Rate-limiting"&gt;here&lt;/a&gt;.&amp;nbsp; Also, during development, I've gone and saved the output to a particular API call to a text document that I can parse while I test.&amp;nbsp; It doesn't provide real-time data, but it allows me to work on it as many times as I want without a single API call.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Using the Data: &lt;/b&gt;Now that we have our data response in JSON format to work with, let's get to it! To make good use of the data returned, I chose to put it in an associative array for organized access.&amp;nbsp; To do this, we use the &lt;a href="http://us.php.net/manual/en/function.json-decode.php"&gt;json_decode&lt;/a&gt; method built into PHP as follows:&lt;br /&gt;$dataArray = json_decode($theData, true);&lt;br /&gt;To view an example of the kind of data that a getFollowers API call will return, we can view &lt;a href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0followers"&gt;this method page&lt;/a&gt; in the documentation.&amp;nbsp; Also, for a detailed description of each key that can possibly be returned from any of the various API calls, you'll want to keep &lt;a href="http://apiwiki.twitter.com/Return-Values"&gt;the complete list&lt;/a&gt; handy.&amp;nbsp; I ended up making a spreadsheet with the various API calls that I tested along with the associated return values, for a quick reference -- so you may want to do the same.&lt;br /&gt;&lt;br /&gt;Let's say that we just want to loop through our followers (or at least the first 100) and print out some data about each one, line by line.&amp;nbsp; All we have to do is iterate through the array, pulling out the data we want and display it.&amp;nbsp; I stuck with a basic HTML table for this, but all you CSS gurus out there can have way more fun with this.&amp;nbsp; This assumes that you already have your associative data array, dataArray, ready to go:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;html&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;head&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;title&amp;gt;Test&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/title&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/head&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;body&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;h1&amp;gt;Followers&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/h1&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;table border="1"&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;tr&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Image&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Screen Name&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Name&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Description&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;URL&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Location&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Following&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Followers&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Status&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;Status Count&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/tr&amp;gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;?php&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $numItems = count($dataArray);&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for($i = 0; $i &amp;lt; $numItems; $i++){&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $currentItem = $dataArray[$i];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $screenName = $currentItem["screen_name"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $description = $currentItem["description"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $followersCount = $currentItem["followers_count"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $url = $currentItem["url"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $name = $currentItem["name"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $status = "";&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(isset($currentItem["status"]))&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $status = $currentItem["status"]["text"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $friendsCount = $currentItem["friends_count"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $profileImage = $currentItem["profile_image_url"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $location = $currentItem["location"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $statusCount = $currentItem["statuses_count"];&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;tr&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;a href='http://www.twitter.com/".$screenName."'&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;img height='48' width='48' src='".$profileImage."'&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/a&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$screenName."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$name."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$description."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$url."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$location."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$friendsCount."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$followersCount."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$status."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;td&amp;gt;".$statusCount."&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/td&amp;gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/tr&amp;gt;";&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/li&gt;&lt;li&gt;?&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/table&amp;gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/body&amp;gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;/html&amp;gt;&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;You should end up with something that looks like:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/Sezf-w2Tm3I/AAAAAAAACl8/w1DqqA0Vh4c/s1600-h/followers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_WA_r9RQqqAk/Sezf-w2Tm3I/AAAAAAAACl8/w1DqqA0Vh4c/s400/followers.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you have any trouble working through this, or have any questions, just let me know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-2497619175874438538?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/2497619175874438538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=2497619175874438538' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2497619175874438538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/2497619175874438538'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/04/how-to-use-arc90-php-api-to-get-info.html' title='How to Use the Arc90 PHP API to Get Info From Twitter'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WA_r9RQqqAk/Sezf-w2Tm3I/AAAAAAAACl8/w1DqqA0Vh4c/s72-c/followers.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-990738686720197321</id><published>2009-04-13T09:43:00.001-07:00</published><updated>2009-04-13T11:37:46.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Dipping My Toes in the Twitter Pool: A Beginner's Analysis</title><content type='html'>There's no doubt that the micro-blogging service &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; has exploded in popularity within the last month or so.  More and more websites and blogs seem to have Twitter accounts, and the service doesn't seem to be going away anytime soon -- even though they do have trouble from time to time supporting the demand.  Being the person that I am, I had no choice but to check out Twitter and create an account, so I could check out this flourishing service for myself.&lt;br /&gt;&lt;br /&gt;If you are a power Twitter user, or feel like you are already comfortable with the service, this post probably isn't for you.  But, if you're new to it, trying to make sense of everything, I hope this will at least give you a little insight.  Here are my discoveries:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;Setting up a Bio: &lt;/span&gt;&lt;/span&gt;&lt;span class="adr" id="sxaddr" dir="ltr"&gt;&lt;span class="street-address"&gt;I tend to fall on the paranoid side of things when it comes to privacy on the Internet.  I'm always concerned anytime I enter information even as simple as an email address -- You can imagine, I really didn't know what to put in my bio.  So, at first, I didn't put anything.  After previewing a few different accounts, I've at least decided to improve upon that.  I have added my name (just my first name for now) and a quick description of what I'm interested in and what I do.  There's now even a nice little mugshot up there.  I've come to the conclusion that it's very important to have personal and relevant information about yourself in your bio.  Other users like to be able to put a face with a name, and if you're trying to build a community of users with similar interests, telling a little bit about yourself is just as important.  Plus, you're proving to other users that you're not just a bot when you follow them (more on that in a bit).&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Public Versus Protected Updates: &lt;/span&gt;&lt;/span&gt;Twitter gives you the option to protect your updates.  If you choose this mode, your updates will not be visible to anyone but those you grant explicit rights to, as you will have to approve every follower individually.  Naturally, I started down this path, being on the privacy paranoid side of the fence.  Once I began to better understand what I believe to be the purposes of the Twitter service, I decided to remove that restriction -- now I just make sure that I don't post any updates that are too revealing.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Following, Followers and Blocking: &lt;/span&gt;At first, I was really unsure of who I should be following.  I did a quick search through my email contacts and discovered that only a couple of my friends were on Twitter -- so I followed them.  So, that left me with a few people I was following and even fewer followers.  To really utilize Twitter, and all that it can offer, following people you haven't met in person is a must.  My first venture into adding new users to follow was going through the users that my friends were following.  I figured, hey, if they're interested in a particular user, I may be as well.  Once I was done with that, really all I had left to do was search.  Now, at this point, one thing that Twitter is really lacking is a good way to search for people you would probably be interested in following.  However, there are other websites that have capitalized on this lack of search &lt;a href="http://wefollow.com/"&gt;(We Follow&lt;/a&gt; is the directory I currently prefer, &lt;a href="http://twitter.com/wefollow"&gt;@wefollow&lt;/a&gt;).  Followers, on the other hand, can be a little bit harder to come by -- which in my opinion, is a good thing.  I really see Twitter as a great place to get real time feedback from a community of users with similar interests and occupations.  However, sometimes followers come a little too easily.  Every time I'm notified that I have a new follower, I check out their bio to see who they are.  If they seem to be a bot of any kind, any kind of random marketer, someone who is just trying to increase their own follower count, or otherwise not a regular human, I actually block them from following me.  I'm still not sure if this is the "proper" way of handling this, but it seems to be working out fine so far -- I don't want to follow anyone like that, and really, as people look through my followers, I wouldn't want to be associated with anything like that either.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Twitter as a News Source: &lt;/span&gt;One thing that I absolutely love about Twitter is the real-time aspect of it.  With that comes real-time news updates.  The best all-around news source that I've discovered up to this point is Breaking News (&lt;a href="http://twitter.com/BreakingNews"&gt;@BreakingNews&lt;/a&gt;).  There are several other technology-related websites that I also follow on Twitter that provide close to real-time updates in the world of technology.  At this point, I really can't consider Twitter as a viable alternative to RSS.  I use Google Reader for dozens of feeds (including items my friends have shared), and I like the ability to go back and view the titles and brief overviews as I have time, and be able to email the stories to friends and family, as well as comment on stories with other Google Reader users.  Until there is a better way to organize, preview and share all of those news stories in Twitter, I think I'll just stick to the headlines for now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Battle of the Twitter Clients: &lt;/span&gt;There really seems to be a "Gold Rush" type opportunity for those building Twitter clients at the moment.  In my opinion, the frontrunners in the Windows world are &lt;a href="http://www.tweetdeck.com/beta/"&gt;TweetDeck&lt;/a&gt; (&lt;a href="http://twitter.com/TweetDeck"&gt;@TweetDeck&lt;/a&gt;) and &lt;a href="http://www.twhirl.org/"&gt;Twhirl&lt;/a&gt;/&lt;a href="http://desktop.seesmic.com/"&gt;Seesmic Desktop&lt;/a&gt;.  And then on Mac OS X, TweetDeck and &lt;a href="http://www.nambu.com/"&gt;Nambu&lt;/a&gt; (&lt;a href="http://twitter.com/nambucom"&gt;@NambuCom&lt;/a&gt;) are the clients I'm currently keeping up with.  If you're not using a third-party Twitter client, you're really missing out on the full potential of the service.  For example, with TweetDeck, you can use a multi-column layout that allows you to filter tweets based on different criteria (such as by groups of users that you define, or a search on Twitter, or all of your direct messages, etc.).  Also, with TweetDeck, you can tie into your Facebook account and set up another column for all of your Facebook Friends' status updates.  Options like these make having a third-party client priceless.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't Worry About it: &lt;/span&gt;Above everything else, don't worry about the number of followers you have, or if you can't think of what to post.  It really does take some time getting used to the environment and the community of users out there.  But, if you do invest the time, Twitter can really be used to enhance your experience on the web, build a community of new friends, and keep up with what's going on in the outside world.  The important thing is to be yourself, and post things that are relevant to you.  Or, if you really like what someone else has posted, feel free to re-post it (giving them the appropriate credit of course.)  So, if you've made it all the way to the end of this and have any additional advice you'd like to add -- or have any questions you think I may be able to answer, feel free to leave a comment below!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-990738686720197321?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/990738686720197321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=990738686720197321' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/990738686720197321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/990738686720197321'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/04/dipping-my-toes-in-twitter-pool.html' title='Dipping My Toes in the Twitter Pool: A Beginner&apos;s Analysis'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6663035482223243993</id><published>2009-03-11T11:11:00.000-07:00</published><updated>2009-03-11T11:15:35.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Building PHP on AIX</title><content type='html'>This is more for my own benefit than anything else (or for anyone who stumbles across this through Google, or whatever search engine you prefer).  I had quite the time building PHP on AIX, so I just wanted to chronicle what I did, including getting the PHP Excel package to work.&lt;br /&gt;&lt;br /&gt;I roughly followed the steps for installing PHP on AIX available at:&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/wikis/display/WikiPtype/aixopen"&gt;http://www.ibm.com/developerworks/wikis/display/WikiPtype/aixopen&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That walked me through at least installing prerequisites, and any other Linux/Gnu tools I may want.&lt;br /&gt;&lt;br /&gt;Now, I just wanted the command line executable, so I skipped Apache all together.  So, I did the following to build it:&lt;br /&gt;export PATH=/opt/freeware/bin:$PATH&lt;br /&gt;export CC=xlc&lt;br /&gt;export CXX=xlc++&lt;br /&gt;./configure --prefix=/usr/local/php --with-gd --with-zlib-dir=/opt/freeware --enable-shared --enable-debug --enable-zip --disable-static --with-zlib --with-bz2 --with-jpeg-dir=/opt/freeware --with-png-dir=/opt/freeware --with-xpm-dir=/opt/freeware --with-freetype-dir=/opt/freeware&lt;br /&gt;ulimit -S -d unlimited&lt;br /&gt;gmake&lt;br /&gt;gmake install&lt;br /&gt;&lt;br /&gt;In case you're wondering, the ulimit command removes restrictions on how much memory can be used by processes in the current session.  I also had to use gmake.  With make, it just failed over and over and over again.&lt;br /&gt;&lt;br /&gt;Now, the whole point of installing php was so that I could create Excel xlsx files (which can go beyond the line limit in Office 2003), so I used the current release found at:&lt;br /&gt;&lt;a href="http://www.codeplex.com/PHPExcel"&gt;http://www.codeplex.com/PHPExcel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I was building extremely large spreadsheets, I had to update the memory limit in php.ini (and I upped the max execution time for good measure).  But, even with this, I was hitting memory caps.  So, the first thing I did was use the same ulimit command (mentioned above) before executing the script.  This helped with the medium-sized spreadsheets, but with the large ones I was getting a segmentation fault.&lt;br /&gt;&lt;br /&gt;After a little research, I discovered the following page:&lt;br /&gt;&lt;a href="http://www-01.ibm.com/support/docview.wss?rs=639&amp;amp;context=SSTFW4&amp;amp;dc=DB520&amp;amp;dc=DB560&amp;amp;uid=swg21302795&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=en&amp;amp;rss=ct639tivoli"&gt;http://www-01.ibm.com/support/docview.wss?rs=639&amp;amp;context=SSTFW4&amp;amp;dc=DB520&amp;amp;dc=DB560&amp;amp;uid=swg21302795&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=en&amp;amp;rss=ct639tivoli&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It explains why, when using XML (which the 2007 format uses), it can cause issues with processes that hog memory.  So, I just took the solution from the page, which was to use the following command (in addition to the ulimit command) before calling the php script:&lt;br /&gt;export LDR_CNTRL=MAXDATA=0x80000000&lt;br /&gt;&lt;br /&gt;It was a mess, but I'm pretty sure it'll work now -- regardless of file size!  It just takes awhile.  The last test I did with 10 columns and around 66,000 rows took about 25 minutes and 800MB of memory to complete!  Now if only PHPExcel would work on the amount of memory required (which I believe they are) we'll be in business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6663035482223243993?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6663035482223243993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6663035482223243993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6663035482223243993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6663035482223243993'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2009/03/building-php-on-aix.html' title='Building PHP on AIX'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-5731340495298759971</id><published>2008-11-11T15:14:00.000-08:00</published><updated>2008-11-11T15:24:25.982-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ericom'/><category scheme='http://www.blogger.com/atom/ns#' term='Thin Clients'/><category scheme='http://www.blogger.com/atom/ns#' term='Wyse'/><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='Provision Networks'/><title type='text'>Attack of the Thin Clients!</title><content type='html'>So, for my latest project at work, I'm working on transitioning our company to Server Based Computing and thin clients.&amp;nbsp; There are many pieces to this puzzle, especially considering the fact that the company is not yet even on a domain.&amp;nbsp; I'm in the process of evaluating several pieces of software (Ericom's WebConnect, Provision Network's Virtual Access Suite and of course the almighty Citrix's XenApp) and several pieces of hardware (Wyse and HP thin clients).&amp;nbsp; Not to mention the whole Windows domain infrastructure that will also need to be in place :)&lt;br /&gt;&lt;br /&gt;Anyway, I thought it may be a good idea to keep track of my findings -- and see if anyone out there might have any advice or suggestions for our journey ahead... as I'm sure there are plenty of people out there who have already done, or are in the process of doing the same thing.&lt;br /&gt;&lt;br /&gt;We've decided to build all of this on top of Windows Server 2008, so I have already set up a test Active Directory domain, and Terminal Services on separate servers.&amp;nbsp; I was able to install WebConnect as well as XenApp on the Terminal Services box, and have been able to give both a little bit of a test run.&amp;nbsp; WebConnect was very easy to set up and get up and running since it is fairly simple.&amp;nbsp; And while that is a strength, it also limits the possibilities of what you can do with it.&amp;nbsp; Then, on the complete opposite end of the spectrum you have XenApp, which has so many options and possible customizations that it took a day with a Citrix employee to configure.... and that's just XenApp.&amp;nbsp; There are apparently quite a few different modules that can be used in conjunction with XenApp to enhance the functionality and feature set even more.&lt;br /&gt;&lt;br /&gt;We've also purchased a Wyse Thin Client, which is running Wyse's Thin OS on it.&amp;nbsp; It's been configured to boot, get info for an FTP server from DHCP and pull all of the settings for connecting to Citrix, etc from that FTP server.&amp;nbsp; So, at this point, we can literally take the thin client with all its factory default settings, turn it on, and within 15 seconds be looking at a published desktop.&amp;nbsp; How crazy is that?&lt;br /&gt;&lt;br /&gt;Now, we're waiting for the HP thin client to come in so that we can compare and contrast :)&lt;br /&gt;&lt;br /&gt;Again, any input, suggestions, questions or advice are welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-5731340495298759971?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/5731340495298759971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=5731340495298759971' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5731340495298759971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/5731340495298759971'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/11/attack-of-thin-clients.html' title='Attack of the Thin Clients!'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6903941172774383681</id><published>2008-09-23T09:45:00.000-07:00</published><updated>2008-09-23T10:04:16.303-07:00</updated><title type='text'>First Jerry, Now Ensemble Studios</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_WA_r9RQqqAk/SNkdT-Fm5aI/AAAAAAAABs4/e_Px2aeNTgc/s1600-h/aom.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SNkdT-Fm5aI/AAAAAAAABs4/fxydPCGjL6Q/s320-R/aom.gif" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Microsoft is on an Axe-ing spree!  I'm sure by now you have seen the "awesome" commercials featuring Bill Gates and Jerry Seinfeld and probably have also heard how all of a sudden they're taking their marketing campaign in a new direction.  What you may not have heard yet is that Microsoft is pulling the plug on Ensemble Studios -- the guys who brought you the Age of Empires series, and more recently, &lt;span style="font-style: italic;"&gt;Halo Wars&lt;/span&gt;.  In fact, they were informed that as soon as they've finished &lt;span style="font-style: italic;"&gt;Halo Wars&lt;/span&gt;, they're done.  Since Ensemble Studios had no real warning, this came as a complete surprise to them (as you can imagine) since their games have always sold well.  I'm not really sure what Microsoft was thinking on this one.  They're still in control of a few other game developers, but for some reason chose the one that costs them the most to keep running, but produces the best games.  Perhaps the Age of Empires series wasn't as profitable as I think it was?  Maybe they're considering phasing out game development and will end up focusing more on the Xbox?  Or maybe they just needed that money to pad their bottom line somewhere else?  I was glad to see that someone from Ensemble has already planned to start their own independent studio because I never really got into the Halo stuff... but the Age of Empires series is classic --  Age of Mythology is probably my second favorite RTS of all time -- behind StarCraft of course.  For more info, you can check out this &lt;a href="http://www.gamedaily.com/games/halo-wars/xbox-360/game-news/ensemble-studios-thought-it-was-immune-to-shutdown-from-microsoft"&gt;article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6903941172774383681?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6903941172774383681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6903941172774383681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6903941172774383681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6903941172774383681'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/09/first-jerry-now-ensemble-studios.html' title='First Jerry, Now Ensemble Studios'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WA_r9RQqqAk/SNkdT-Fm5aI/AAAAAAAABs4/fxydPCGjL6Q/s72-Rc/aom.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1648577690567901972</id><published>2008-09-11T14:22:00.000-07:00</published><updated>2008-09-19T08:33:31.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='EA'/><title type='text'>DRM Backlash...</title><content type='html'>In case you haven't heard or seen already -- the new EA game Spore is taking quite the beating in the review section on Amazon on account of its accompanied DRM. (You can see it &lt;a href="http://www.amazon.com/Spore-Pc/dp/B000FKBCX4/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=videogames&amp;amp;qid=1220998529&amp;amp;sr=8-1"&gt;here&lt;/a&gt;).  I remember checking in on it earlier this week, before I got sick -- unrelated to Spore or DRM -- and there were maybe 1,000 reviews total... well it's broken the 2,000 mark now and is still averaging a 1-star rating.&lt;br /&gt;&lt;br /&gt;This whole thing just bothers me.  I was actually looking forward to when Spore came out, to possibly buy it and have a new game to refresh my current lineup at home.  But, like these crazy Amazonians, when I saw you could only install it 3 times before having to call EA to beg for more chances, I just decided it wasn't worth it.  Like with music, I take the position that DRM is only harming your legitimate customers and in some cases pushing them away.  If someone wants something without paying for it, they'll inevitably find a way, so really, what's the point?&lt;br /&gt;&lt;br /&gt;Maybe EA (or other publishers) will learn something from this outburst and realize that maybe DRM isn't that great after all...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Apparently, EA got wind of all of the uproar and &lt;a href="http://www.computerandvideogames.com/article.php?id=197120"&gt;responded&lt;/a&gt;.  Their response (paraphrasing): "3 installs is plenty, only 1% of gamers ever install something more than 3 times, so stop whining."  Are you kidding me?  This is how you respond to your user community?  By telling them that they're wrong and you're right, without compromise!?  What about all the people that want to play the game 10 years from now -- since that sort of thing has been known to happen?  Ridiculous.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;UPDATE x2: &lt;/span&gt;&lt;span style="font-style: italic;"&gt;I just found this other &lt;a href="http://pc.ign.com/articles/908/908755p1.html"&gt;article&lt;/a&gt; that talks about EA compromising by easing the DRM restrictions on a future game.  A future game?  How about patching Spore to meet at least these restrictions? (which by the way is lifting the install limit from 3 to 5 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;and not requiring the CD to play &lt;/span&gt;&lt;span style="font-style: italic;"&gt;-- which isn't really that much better in my opinion.  It still misses the point).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE x3: &lt;/b&gt;&lt;span style="font-style: italic;"&gt;I really didn't think that I would be updating this post again.  But, after finding &lt;a href="http://techdirt.com/articles/20080912/0031172248.shtml"&gt;this article&lt;/a&gt;, I had no choice.  Apparently, users that have purchased the game have discovered that even though the manual says you can have multiple player accounts per install, the game will only let you have one.  Guess how EA responds: by telling everyone that it's a misprint in the manual -- way to go EA.  Way to go.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;Update x4:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Well, EA finally decided to "remedy" the Spore situation (read &lt;a href="http://news.cnet.com/8301-13505_3-10046288-16.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;this article&lt;/a&gt;) by increasing the number of installs from 3 to 5 (like I mentioned in the second update above for a future game).  In addition, they're creating a "de-authorizing" system to effectively move your registration to a new computer -- which to me, sounds similar to the current model that Apple uses for music purchased on iTunes.  I would say that this is a step in the right direction, but still completely missing the point... EA clearly doesn't get it.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1648577690567901972?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1648577690567901972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1648577690567901972' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1648577690567901972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1648577690567901972'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/09/drm-backlash.html' title='DRM Backlash...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1186541966060261032</id><published>2008-09-02T14:12:00.000-07:00</published><updated>2008-09-02T14:30:31.663-07:00</updated><title type='text'>Google Chrome</title><content type='html'>So, hot off the wire today, Google has released an open-source browser named "Chrome."  Like everyone else, I wanted to get my hands on it as soon as a download was available to put this thing to the test.  I read at least part of the comic book (yes, I said comic book) that Google released prior to making the download available that explains some of the thoughts behind the development of Chrome.  One of the most interesting (to me anyway) was the decision to spawn a new process, instead of a new thread, for each tab that is created.&lt;br /&gt;&lt;br /&gt;In any case, as soon as I found out the download was available (which can be found &lt;a href="http://www.google.com/chrome"&gt;here&lt;/a&gt; for anyone interested), I grabbed it and installed it.  While it does seem pretty quick in terms of rendering, there are a few things about it (which can obviously change since it's a beta and can be updated at any moment) that will keep me from leaving my beloved Firefox:&lt;br /&gt;1) Most importantly -- plugins/add-ons.  I thought, being a Google browser, Chrome would for sure have some kind of nifty integration with Gmail, Calendar, Docs, etc.  Unfortunately, there was no such integration, nor can you install add-ons that would provide this functionality.  Sure, I could install Gmail notifier (the standalone version) , but it's just not th same.  Also... I really like being able to customize how Tabs behave using Tabs Mix Plus...&lt;br /&gt;2) Secondly -- resources.  As any developer would, hearing about the fact that Chrome spawns a completely separate process for each tab, I was curious about the resources required to run this beast if I have, say, 10 tabs open.  So, I put this to the test.  I opened Firefox and Chrome with the same set of tabs and found that Chrome used about double the amount of memory that Firefox used (about 160MB vs. 80MB)&lt;br /&gt;&lt;br /&gt;Now, there are definitely some very cool things about Chrome:&lt;br /&gt;1) It's fast -- their javascript engine ("V8") seems to be pretty quick.  However, I'd be interested to seeing how this fares against Firefox's TraceMonkey (which I believe is slated to be in Firefox 3.1).&lt;br /&gt;2) Very simple interface -- tabs, address bar, a few buttons, and that's it.  Simple is good.&lt;br /&gt;3) The good side of the multiple processes -- if you have RAM to spare, this is an awesome feature.  It keeps each website rendering completely separate from the tab next to it.  So, if one gets hosed -- you can just close it and move on, without having to force-close the whole browser.&lt;br /&gt;&lt;br /&gt;Is it worth a try?  Of course!  But, while I watch for updates... I'll probably be doing it from Firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1186541966060261032?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1186541966060261032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1186541966060261032' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1186541966060261032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1186541966060261032'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/09/google-chrome.html' title='Google Chrome'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-7300985310357615904</id><published>2008-06-19T12:58:00.000-07:00</published><updated>2008-06-19T13:08:02.556-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3: My first thoughts...</title><content type='html'>I've now been using Firefox 3 for a couple days now (almost).  Overall, I'm impressed, but there are definitely a few things that got to me.  I've gone through and installed it on Windows XP, Windows Vista and Mac OS 10.5 boxes (I haven't gotten to my Ubuntu rig yet).  I really do appreciate the effort the developers put into making the user interface embrace the look and feel of the host OS.  I also like the new smart address bar (I believe it's being referred to as the "Awesome Bar") and all the major highlights/upgrades.&lt;br /&gt;&lt;br /&gt;However, the first thing I didn't like seeing was that a couple of my extensions/themes weren't compatible with Firefox 3.  My buddy Mirko left a great comment regarding this on the previous post which pretty much nailed my thoughts exactly -- but basically, what the heck?  The problem is that I have habits engraved into my brain, things that increase productivity, hotkeys, etc., that I was still trying to use, but was coming back with nothing -- what an empty feeling :)&lt;br /&gt;&lt;br /&gt;Secondly, I'm not sure if a lot of people had this issue, but I was having a tough time (at first) figuring out why "Show my windows and tabs from last time" was not working.  I would open a bunch of tabs, close them (not receiving the multiple tab warning I was used to), reopen Firefox to only see one tab... Well, without going on and on too much, it was basically because I had Firefox set to delete all my private data when I closed (including Browser History)...  Apparently, Firefox 3 requires History to be saved if you want to use this feature -- even though it worked flawlessly in Firefox 2... interesting.&lt;br /&gt;&lt;br /&gt;Otherwise -- Stellar!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-7300985310357615904?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/7300985310357615904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=7300985310357615904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7300985310357615904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7300985310357615904'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/06/firefox-3-my-first-thoughts.html' title='Firefox 3: My first thoughts...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-250608952025408143</id><published>2008-06-17T09:59:00.000-07:00</published><updated>2008-06-17T11:47:56.378-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3</title><content type='html'>If you know what's good for you, you'll download Firefox 3 within the next 24 hours.  I tried connecting just now and the site is overloaded at the moment -- so have a little bit a patience :)&lt;br /&gt;&lt;br /&gt;Edit: Here's a link directly to the download page: &lt;a href="http://www.mozilla.com/en-US/firefox/?p=downloadday"&gt;http://www.mozilla.com/en-US/firefox/?p=downloadday&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-250608952025408143?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/250608952025408143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=250608952025408143' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/250608952025408143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/250608952025408143'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/06/firefox-3.html' title='Firefox 3'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1577673251806443247</id><published>2008-03-26T15:14:00.000-07:00</published><updated>2008-03-26T15:22:11.785-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>Game update...</title><content type='html'>So, remember that game I mentioned a couple posts ago?  Well, my brother and I are still hard at work laying out all of the rules/background information for the game -- but it's definitely in the works.  It will end up being a browser-based multiplayer roleplaying game -- yeah, it's a mouthful, but it's probably the most accurate way of describing it.  As we continue to work away on it in our spare time (spare time? What's that?) -- I'll provide updates.  And then by the time computers and the Internet have been replaced by something else, it should be all ready to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1577673251806443247?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1577673251806443247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1577673251806443247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1577673251806443247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1577673251806443247'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/03/game-update.html' title='Game update...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1926032985938102332</id><published>2008-03-26T15:06:00.000-07:00</published><updated>2008-03-26T15:14:41.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Using Terminal Emulation to make Remote Calls...</title><content type='html'>So, for the longest time, the company I work for has been using Procomm for their Terminal Emulation (it's pretty much on every Windows PC the company owns).  However, in order to view pictures from Procomm, at this time, a new X session is spawned on the server (using a program called Reflection) to generate a Unix desktop for the user, which in turn displays pictures.&lt;br /&gt;&lt;br /&gt;Well, I was tasked with a way to bring those pictures to the client PC without using X -- ultimately freeing up those resources on the server.  Enter AccuTerm: another Terminal Emulator.  Except, it has built in Escape sequences that you can send to it (from the server) that will actually execute a command on the client PC as if you were at the command line on that PC.  So, now, we'll be able to pass a command back to the PC to open an image viewer with the images as command line arguments and load them remotely on the client PC!&lt;br /&gt;&lt;br /&gt;While this is a powerful tool -- that seems kinda scary that you can remotely access a PC and execute whatever you want on it through a terminal emulator... of course, it's completely under our control in this case, but still.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1926032985938102332?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1926032985938102332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1926032985938102332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1926032985938102332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1926032985938102332'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/03/using-terminal-emulation-to-make-remote.html' title='Using Terminal Emulation to make Remote Calls...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6824030605951571088</id><published>2008-01-15T12:12:00.000-08:00</published><updated>2008-01-15T12:13:26.323-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>News Tuesday - 1/15/08</title><content type='html'>With Sci/Tech Filter:&lt;br /&gt;&lt;ul style="list-style-type: disc;"&gt;&lt;li&gt;&lt;a href="http://techdirt.com/articles/20080111/152626.shtml"&gt;Hasbro Sues Scrabulous For Being Too Scrabble-ish&lt;/a&gt; (2008-01-12)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/2300-7344_3-6225734-1.html?part=rss&amp;amp;tag=6225734&amp;amp;subj=news"&gt;Images: Linux gets a taste of Windows and Mac&lt;/a&gt; (2008-01-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.foxnews.com/%7Er/foxnews/scitech/%7E3/214039504/0,2933,321466,00.html"&gt;Rogue Black Holes May Be Wandering Through Galaxy&lt;/a&gt; (2008-01-09)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9847437-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Rain and shine hit Google Maps and Google Earth&lt;/a&gt; (2008-01-09)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pheedo.com/click.phdo?i=10550ac604f44ce611d17e5e2f6d2b4f"&gt;New Line Confirms It Will Move To Blu-ray Exclusively As Well&lt;/a&gt; (2008-01-08)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/211159019/article.do"&gt;Apache Wicket 1.3 set for Java Web development&lt;/a&gt; (2008-01-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://digg.com/gaming_news/Stop_Motion_Human_Tetris_2"&gt;[+1380] Stop-Motion Human Tetris&lt;/a&gt; (2008-01-02)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/210069650/mmos_2008"&gt;'Conan,' 'Pirates,' 'Warhammer': Three New MMOs Challenge 'World of Warcraft' in 2008&lt;/a&gt; (2008-01-02)&lt;/li&gt;&lt;li&gt;&lt;a href="http://news.google.com/news/url?sa=T&amp;amp;ct=us/1-0&amp;amp;fd=R&amp;amp;url=http://www.computerworld.com/action/article.do%3Fcommand%3DviewArticleBasic%26articleId%3D9054798&amp;amp;cid=1125669502&amp;amp;ei=-ul7R7fiOZOgqwPf7IHNDg"&gt;Mac market share breaks 8% mark in 2007's final days - Computerworld&lt;/a&gt; (2008-01-02)&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.cnet.com/8301-13506_1-9838619-17.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;A roadmap for ending the high-def format quagmire&lt;/a&gt; (2008-01-02)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wsjonline.com/%7Er/wsj/xml/rss/3_7077/%7E3/206831269/0,,SB119872156676051933-YFvYCdL9_Rb113wCz_5QCl2VNIA_20081226,00.html"&gt;New Dell PC Design Rivals the iMac&lt;/a&gt; (2008-01-03)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6824030605951571088?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6824030605951571088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6824030605951571088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6824030605951571088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6824030605951571088'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/01/news-tuesday-11508.html' title='News Tuesday - 1/15/08'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-1007939303519464848</id><published>2008-01-15T12:02:00.001-08:00</published><updated>2008-01-15T12:07:03.073-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>Somehow Related?</title><content type='html'>Here's an interesting problem we faced this morning at work: We are currently using an LDAP directory for user authentication, and we authenticate using Samba for Windows Logins and a generic LDAP client for Unix logins.  Well, when I came into work today, instead of the 1-2 seconds it normally took to log into Unix, it took like 120 seconds.  Now, the only problem we had that we knew of was that our Internet connection was down.  About 30 minutes later our Internet connection came back up and we were able to log in again with the 1-2 second delay... OH, one thing to mention -- Authentication through Samba for Windows worked normal the whole time.  So, the question is, what relation is there between Unix, LDAP authentcation and the Internet?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-1007939303519464848?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/1007939303519464848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=1007939303519464848' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1007939303519464848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/1007939303519464848'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/01/somehow-related.html' title='Somehow Related?'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-7323169539668625260</id><published>2008-01-02T13:16:00.000-08:00</published><updated>2008-01-02T13:18:30.738-08:00</updated><title type='text'>News Tewsday (A week plus a day late) - 1/2/2008</title><content type='html'>With  Sci/Tech filter applied:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc;"&gt;&lt;li&gt;&lt;a href="http://feeds.foxnews.com/%7Er/foxnews/views/%7E3/207355730/0,2933,318686,00.html"&gt;Junk Science: Top 10 Climate Myth-Busters for 2007&lt;/a&gt; (2007-12-27)&lt;/li&gt;&lt;li&gt;&lt;a href="http://digg.com/gaming_news/Lego_Portal"&gt;[+2068] Lego Portal&lt;/a&gt; (2007-12-27)&lt;/li&gt;&lt;li&gt;&lt;a href="http://digg.com/design/The_coolest_animated_GIF_tiled_background_perhaps_ever"&gt;[+3945] The coolest animated .GIF tiled background perhaps ever&lt;/a&gt; (2007-12-27)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wsjonline.com/%7Er/wsj/xml/rss/3_7077/%7E3/206831269/0,,SB119872156676051933-YFvYCdL9_Rb113wCz_5QCl2VNIA_20081226,00.html"&gt;New Dell PC Design Rivals the iMac&lt;/a&gt; (2007-12-28)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/206703298/APPLE_MOVER"&gt;Apple Stock Breaks the $200 Barrier for First Time&lt;/a&gt; (2007-12-26)&lt;/li&gt;&lt;li&gt;&lt;a href="http://news.google.com/news/url?sa=T&amp;amp;ct=us/5-1-0&amp;amp;fd=R&amp;amp;url=http://www.nytimes.com/2007/12/21/technology/21apples.html%3Fem%26ex%3D1198386000%26en%3D6e6d2822d7f57b80%26ei%3D5087%250A&amp;amp;cid=1125194085&amp;amp;ei=7MNuR-7cIY_sqgP45eWMCg"&gt;Apple Rumor Site to Shut Down in Settlement - New York Times&lt;/a&gt; (2007-12-21)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cnet.com/8301-13880_1-9835822-68.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Shave time off your Web searches by using operators&lt;/a&gt; (2007-12-20)&lt;/li&gt;&lt;li&gt;&lt;a href="http://news.google.com/news/url?sa=T&amp;amp;ct=us/5-2-0&amp;amp;fd=R&amp;amp;url=http://www.marketwatch.com/news/story/microsoft-co-founder-looks-add-spectrum/story.aspx%3Fguid%3D%257B2FAAAA6F-797F-43DC-BE6A-B299BB7C58B7%257D&amp;amp;cid=1125131402&amp;amp;ei=TCttR_iMCYzCqwODxtn4Bw"&gt;Microsoft co-founder looks to add to spectrum cache - MarketWatch&lt;/a&gt; (2007-12-22)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.foxnews.com/%7Er/foxnews/scitech/%7E3/202418277/0,2933,317378,00.html"&gt;South American Ants Eating Way Across California&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.foxnews.com/%7Er/foxnews/business/%7E3/202904171/fantasy-real-estate-game-lets-play-realtor_413265_57.html"&gt;Fantasy Real Estate Game Lets You Play Realtor&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/202837930/article.do"&gt;The 7 most annoying developments in software&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9835726-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;New Net neutrality proposal planned for January&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.cnet.com/8301-13506_1-9835695-17.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Is Apple in danger of becoming Microsoft?&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9833135-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;CNET's Top 10 games of 2007&lt;/a&gt; (2007-12-19)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-7323169539668625260?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/7323169539668625260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=7323169539668625260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7323169539668625260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/7323169539668625260'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2008/01/news-tewsday-week-plus-day-late-122008.html' title='News Tewsday (A week plus a day late) - 1/2/2008'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6351389407445204751</id><published>2007-12-20T14:01:00.000-08:00</published><updated>2007-12-20T14:05:39.412-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>Text-Based Games...</title><content type='html'>So, I have made it a life goal of mine to create a 3D game of some kind at some point in my life.  Realizing the size of this daunting task, I've decided to start a little bit smaller.  I think that I want to make a web-based, text-based game that's kind of like a choose your own adventure.  I figure that it'll be a good place to start... see how it goes and then move forward from there.&lt;br /&gt;&lt;br /&gt;In any case, my plan is to use PHP/MySQL to accomplish this, since I think it will work, but mostly because it's the two web-based technologies (besides HTML) that I'm most comfortable with.  Does anyone have any other suggestions that might make my journey a little bit easier?&lt;br /&gt;&lt;br /&gt;If I make some decent progress, I'll be sure to post updates here.  Or, if it's something you think you'd want to participate in, let me know as well...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6351389407445204751?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6351389407445204751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6351389407445204751' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6351389407445204751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6351389407445204751'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/text-based-games.html' title='Text-Based Games...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3757553585555962812</id><published>2007-12-18T08:15:00.000-08:00</published><updated>2007-12-18T08:21:02.683-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>News Tewsday - 12/18/07</title><content type='html'>With Sci/Tech filter applied:&lt;br /&gt;&lt;br /&gt;&lt;ul style="list-style-type: disc;"&gt;&lt;li&gt;&lt;a href="http://www.macrumors.com/2007/12/14/garagetunes-4-1-1-offers-custom-ringtones-for-iphone/"&gt;GarageBand 4.1.1 Offers Custom Ringtones for iPhone&lt;/a&gt; (2007-12-14)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/Google-develops-Wikipedia-rival/2100-1038_3-6222872.html?part=rss&amp;amp;tag=2547-1_3-0-5&amp;amp;subj=news"&gt;Google develops Wikipedia rival&lt;/a&gt; (2007-12-14)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/Celebrating-60-years-of-transistors/2100-1006_3-6222770.html?part=rss&amp;amp;tag=2547-1_3-0-5&amp;amp;subj=news"&gt;Celebrating 60 years of transistors&lt;/a&gt; (2007-12-14)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/199437142/article.do"&gt;No download needed: OpenOffice beta available as Web app&lt;/a&gt; (2007-12-12)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cnet.com/8301-13880_1-9833264-68.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;The most useful keyboard shortcuts you probably don't know about&lt;/a&gt; (2007-12-13)&lt;/li&gt;&lt;li&gt;&lt;a href="http://news.google.com/news/url?sa=T&amp;amp;ct=us/4-2-0&amp;amp;fd=R&amp;amp;url=http://thelede.blogs.nytimes.com/2007/12/13/word-of-the-year-ritual-pauses-for-puzzlement/%3Fhp&amp;amp;cid=1124815937&amp;amp;ei=S5thR9DCDIOErQPMluTZCQ"&gt;Word-of-the-Year Ritual Pauses for Puzzlement - New York Times&lt;/a&gt; (2007-12-13)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/Celebrating-one-of-the-best-selling-PCs-ever/1606-2_3-6222379.html?part=rss&amp;amp;tag=2547-1_3-0-5&amp;amp;subj=news"&gt;Celebrating one of the best-selling PCs ever&lt;/a&gt; (2007-12-12)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cnet.com/8301-13845_1-9832857-58.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Get DivX Pro for free&lt;/a&gt; (2007-12-12)&lt;/li&gt;&lt;li&gt;&lt;a href="http://rss.slashdot.org/%7Er/Slashdot/slashdot/%7E3/198541004/article.pl"&gt;Humans Evolving 100 Times Faster Than Ever&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://news.google.com/news/url?sa=T&amp;amp;ct=us/13-0&amp;amp;fd=R&amp;amp;url=http://blogs.usatoday.com/ondeadline/2007/12/honda-unveils-r.html&amp;amp;cid=1124803094&amp;amp;ei=ZFZfR7rQGIzoqwOTudnmAg"&gt;Honda unveils robots that 'talk' to each other, work in pairs - USA Today&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.macrumors.com/2007/12/11/december-macupdate-software-bundle-sale/"&gt;December MacUpdate Software Bundle Sale [11th App Added]&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.foxnews.com/story/0,2933,316454,00.html"&gt;Top Sellers of the Year on iTunes Revealed&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/198749719/article.do"&gt;Firefox 3.0 beta 2 due by year's end&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.appleinsider.com/article.php?id=3506"&gt;NBC hitches onto download service from Apple rival SanDisk&lt;/a&gt; (2007-12-11)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/198288172/zune-vs-ipod--1.html"&gt;Zune vs iPod: The Results Are In&lt;/a&gt; (2007-12-10)&lt;/li&gt;&lt;li&gt;&lt;a href="http://rss.slashdot.org/%7Er/Slashdot/slashdot/%7E3/198085547/article.pl"&gt;Microsoft Disses Windows to Sell More Windows&lt;/a&gt; (2007-12-10)&lt;/li&gt;&lt;/ul&gt;Questions?  Comments?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3757553585555962812?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3757553585555962812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3757553585555962812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3757553585555962812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3757553585555962812'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/news-tewsday-121807.html' title='News Tewsday - 12/18/07'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-3071504952515129342</id><published>2007-12-17T10:34:00.000-08:00</published><updated>2007-12-17T10:47:50.269-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP is Magical?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WA_r9RQqqAk/R2bDZupXzvI/AAAAAAAAAYw/Ng4phLBOoAE/s1600-h/php_magic.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_WA_r9RQqqAk/R2bDZupXzvI/AAAAAAAAAYw/Ng4phLBOoAE/s400/php_magic.PNG" alt="" id="BLOGGER_PHOTO_ID_5145014471103074034" border="0" /&gt;&lt;/a&gt;    I was looking through the differences between PHP4 and PHP5 this morning, when I noticed something amazing.  PHP5 is magical!  The screenshot on the left is taken directly from the PHP5 manual, and can be viewed &lt;a href="http://www.php.net/manual/en/language.oop5.magic.php"&gt;here&lt;/a&gt; if you really don't believe me.  I love how the last sentence warns you that you can't have these functions in your class "unless you want the magic functionality associated with them."  My question is, who &lt;span style="font-style: italic;"&gt;wouldn't&lt;/span&gt; want this magical power within their script?  I know I would.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-3071504952515129342?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/3071504952515129342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=3071504952515129342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3071504952515129342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/3071504952515129342'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/php-is-magical.html' title='PHP is Magical?'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WA_r9RQqqAk/R2bDZupXzvI/AAAAAAAAAYw/Ng4phLBOoAE/s72-c/php_magic.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-6111657971672611747</id><published>2007-12-12T11:39:00.000-08:00</published><updated>2007-12-18T08:21:47.211-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><title type='text'>There's No Place</title><content type='html'>There's No Place Like 127.0.0.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-6111657971672611747?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/6111657971672611747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=6111657971672611747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6111657971672611747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/6111657971672611747'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/theres-no-place.html' title='There&apos;s No Place'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-8208891934959891183</id><published>2007-12-11T14:36:00.000-08:00</published><updated>2007-12-12T08:44:46.211-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>This Week's News...</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;By popular request, I will start listing the headlines I've shared in the News of Interest... section (hopefully weekly) so if anyone would like to comment on them, they can!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;So, without further ado, here are this week's headlines -- WITH Sci/Tech filter applied:&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-family: trebuchet ms;"&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9831235-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;CompUSA closes shop&lt;/a&gt; (2007-12-08)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/196770243/STEM_CELLS_SICKLE_CELL"&gt;Scientists Report Success in Treatment With 'Reprogrammed Stem Cells'&lt;/a&gt; (2007-12-07)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/196383385/article.do"&gt;Blogger presses Gates for IE8 answers&lt;/a&gt; (2007-12-06)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/196309836/article.do"&gt;IBM says chip 'breakthrough' will shrink supercomputers&lt;/a&gt; (2007-12-06)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9828631-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Verizon Wireless warms up to Google's Android&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/8301-10784_3-9828762-7.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;Gmail integrates AIM, adds colored labels&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.appleinsider.com/article.php?id=3483"&gt;High-quality unboxing photos of Amazon's Kindle eBook reader&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/195000396/MICROSOFT_WINDOWS_GENUINE_ADVANTAGE"&gt;Microsoft to Try Nagging Housewife Approach to Pirated Software&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.computerworld.com/%7Er/Computerworld/News/%7E3/194952237/sharktank.do"&gt;Oh, THAT big square box!&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/Behind-the-Activision-Blizzard-union/2100-1043_3-6221168.html?part=rss&amp;amp;tag=2547-1_3-0-5&amp;amp;subj=news"&gt;Behind the Activision-Blizzard union&lt;/a&gt; (2007-12-03)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.news.com/Opening-act-for-Gibsons-self-tuning-guitar/2100-1041_3-6221226.html?part=rss&amp;amp;tag=2547-1_3-0-5&amp;amp;subj=news"&gt;Opening act for Gibson's self-tuning guitar&lt;/a&gt; (2007-12-04)&lt;/li&gt;&lt;li&gt;&lt;a href="http://feeds.wired.com/%7Er/wired/topheadlines/%7E3/194195133/dino_mummy"&gt;Rare Mummified Dinosaur Unearthed: Contains Skin, and Maybe Organs, Muscle&lt;/a&gt; (2007-12-03)&lt;/li&gt;&lt;li&gt;&lt;a href="http://rss.slashdot.org/%7Er/Slashdot/slashdot/%7E3/193982130/article.pl"&gt;Blizzard and Activision Announce $18.8bn Merger&lt;/a&gt; (2007-12-02)&lt;/li&gt;&lt;li&gt;&lt;a href="http://rss.slashdot.org/%7Er/Slashdot/slashdot/%7E3/194389014/article.pl"&gt;The First 100 Dot Coms Ever Registered&lt;/a&gt; (2007-12-03)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wikihow.com/Block-Facebook-Beacon"&gt;How to Block Facebook's Privacy Compromising Beacon Feature&lt;/a&gt; (2007-12-02)&lt;/li&gt;&lt;/ol&gt;Thoughts?  Comments?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-8208891934959891183?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/8208891934959891183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=8208891934959891183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8208891934959891183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/8208891934959891183'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/this-weeks-news.html' title='This Week&apos;s News...'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5046760118214827295.post-9126912478484615094</id><published>2007-12-11T12:09:00.000-08:00</published><updated>2007-12-11T14:14:37.722-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='welcome'/><title type='text'>Welcome!</title><content type='html'>Welcome to Option 9, my attempt at a more technical blog.  I have the regular blog going, but sometimes I have thoughts that I figure the regular visitor won't necessarily be interested in--thoughts that I regularly have about technology and the IT world as a whole.&lt;br /&gt;&lt;br /&gt;Here is where I will try to accumulate these thoughts into a readable, understandable fashion for those who may be interested.&lt;br /&gt;&lt;br /&gt;I look forward to what is to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5046760118214827295-9126912478484615094?l=option9.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://option9.blogspot.com/feeds/9126912478484615094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5046760118214827295&amp;postID=9126912478484615094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/9126912478484615094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5046760118214827295/posts/default/9126912478484615094'/><link rel='alternate' type='text/html' href='http://option9.blogspot.com/2007/12/welcome.html' title='Welcome!'/><author><name>Matt Augustine</name><uri>http://www.blogger.com/profile/01264207750448753858</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/-56B8h_jxVcI/TmfWSUS3LrI/AAAAAAAADZo/8oTKiGYgGzs/s220/new_headshot_fixed.JPG'/></author><thr:total>0</thr:total></entry></feed>
