tag:blogger.com,1999:blog-50467601182148272952024-03-13T19:51:41.672-07:00Option 9A Blog About All Things TechnologyMatt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.comBlogger53125tag:blogger.com,1999:blog-5046760118214827295.post-25250511178640399172012-01-11T10:33:00.000-08:002012-01-11T10:34:15.202-08:00Xenapp 6.0: "A device attached to the system is not functioning."<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="139" src="http://4.bp.blogspot.com/-SLwxvUdGHww/Tw3UPTpexlI/AAAAAAAADbk/w64iotbyQng/s320/device_not_functioning.png" width="320" /></div>
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;">
<br /></div>
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;">
We had a user call our help desk stating that they weren't able to log into their XenApp 6.0 published desktop. It accepted their credentials, started going through the motions of applying group policy, etc., but before the desktop actually appeared, the session disappeared completely. After doing some testing, I noticed that an error message was popping up, for less than a second, right before the session closed. 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."</div>
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;">
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. So, when the user was logging in, they were being reconnected to their broken session, and were never able to log in. After logging off the disconnected session, the user was able to start a brand new session and log in successfully.</div>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com6tag:blogger.com,1999:blog-5046760118214827295.post-27371240729890929622011-10-07T10:19:00.000-07:002011-10-07T10:19:59.207-07:007 Things to Convince Me to Switch to the iPhone 4S [REVISITED]<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" height="200" src="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s200/iphone-4.jpg" width="79" /></a></div>
I <a href="http://option9.blogspot.com/2011/02/7-things-to-convince-me-to-switch-to.html">previously wrote</a> about the possibility of switching from the Android world to the iPhone world. 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:<br />
<br />
<b>1) The iPhone 4S must be released on Verizon at the same time as ATT</b><br />
Check. Plus, it's being released on Sprint.<br />
<br />
<b>2) The iPhone 4S must be capable of utilizing LTE</b><br />
Fail. 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.<br />
<br />
<b>3) The iPhone 4S must have a dual-core processor</b><br />
Check. It will include the A5, which will supposedly increase general processing performance by 2x and graphics performance by 7x.<br />
<br />
<b>4) The iPhone 4S must include an NFC implementation</b><br />
Fail. I must admit that I figured that NFC, in general, would have come a lot farther this year. Google just recently introduced <a href="http://www.google.com/wallet/">Wallet</a>, which is currently only available on one phone on one carrier. We have a ways to go before this really goes mainstream.<br />
<br />
<b>5) The iPhone 4S must use a better notification system</b><br />
Check. iOS 5 includes a notification system very similar to the existing Android implementation. It looks good to me!<br />
<br />
<b>6) The iPhone 4S must have a dependable, free (or inexpensive) turn-by-turn Navigation application</b><br />
Check (TBD). I have discovered Waze and Mapquest to be two free options, and there appear to be a few not-too-expensive options. I'd have to test them out to determine their quality though. Any suggestions?<br />
<br />
7) <b>Along side the iPhone 4S, Apple must provide free MobileMe access</b><br />
Check. iClould will be free, and available this coming Wednesday (October 12th).<br />
<br />
So, there you have it. The only two fails were for LTE and NFC, which were definitely my least critical concerns for the new iPhone. Without further ado...<br />
<br />
iPhone here I come!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com3tag:blogger.com,1999:blog-5046760118214827295.post-14973787531524384352011-09-28T22:05:00.000-07:002011-09-28T22:05:50.211-07:00Why the Kindle Fire Will Defeat its Android Counterparts, but not Kill the iPad<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" height="240" src="http://1.bp.blogspot.com/-BPit30Vc5Lw/ToPsvFTRTaI/AAAAAAAADbM/vtgBgdXczlU/s320/fire.jpg" width="320" /></a></div>
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. While that has claim has been materialized in devices like the Motorola Xoom, RIM's Playbook, and even Barnes and Noble's Nook Color to a certain extent, there is a new challenger in town: the <a href="http://www.amazon.com/Kindle-Color-Multi-touch-Display-Wi-Fi/dp/B0051VVOB2/ref=amb_link_357575542_7?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=gateway-center-column&pf_rd_r=0651VQ3JDEHMM43HSSEP&pf_rd_t=101&pf_rd_p=1321408942&pf_rd_i=507846">Amazon Kindle Fire</a>.<br />
<br />
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.<br />
<br />
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.<br />
<br />
First, this is why the Kindle Fire will defeat, and most likely destroy its Android counterparts:<br />
<b>Its focus is narrow, and its goals are specific</b><br />
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. Sure, it's also a media consumption device, but when it comes down to it, users will want a great reading experience. 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.<br />
<b><br /></b><br />
<b>It has more and greater content available</b><br />
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. (PS -- it was a very smart move to establish that Appstore in the world of Android before the release of the Kindle Fire). Where the Kindle Fire truly shines is in the media available: Movies, TV Shows, Music, Magazines and of course, books. 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. Couple that with the seemingly incredibly fast web browsing, and a casual user has everything they need.<br />
<b><br /></b><br />
<b>It's priced right</b><br />
If I was the maker of an Android tablet right now, I would be afraid. Very, very afraid. Barnes and Noble (which took a hit to their stock value after today's announcement) has to be especially concerned. 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?<br />
<br />
<div>
<br /></div>
<div>
Second, this is why the Kindle Fire cannot, and will not, kill the iPad:</div>
<div>
<b>It has a different target market</b></div>
<div>
These positive points are all well and good, but does it add up to an iPad killer? I think not. 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). Instead, it focused simply on what the Kindle Fire does well. And while it does many things very well, there was no mention of certain things the iPad excels at -- like content creation, for example. 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).</div>
<div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><br /></b></span></b></div>
<div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b>The Kindle Fire is no laptop replacement</b></span></b></div>
<div>
Along those same lines, the ways the iPad and Kindle Fire have been presented are different. Steve Jobs considers the days we live in to be the "Post-PC era" and that the iPad is the new personal computer. In many cases, an iPad can easily be considered a laptop replacement, and has the specs and apps to back that claim up. The Kindle Fire, on the other hand, is presented more as an entertainment device. While its hardware specs are nothing to balk at, it's lacking in some key areas (screen size not being the least of these). Likewise, I've never heard of anyone buying an iPad for the sole purpose of reading books.</div>
<div>
<b><br /></b></div>
<div>
<b>Content is still king</b></div>
<div>
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. Not only that, but the issue of few apps designed and developed specifically for tablet use still plagues the Android Market at large. Until this changes, it'll be hard to sway users toward Android tablets.</div>
<div>
<br /></div>
<div>
So where does this leave us? Will/Should consumers own both devices? I find this highly unlikely and unnecessary. Instead, I think consumers will fall in one camp or the other for the reasons mentioned above. 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?</div>
<div>
<b><br /></b></div>
<div>
<b><br /></b></div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com4tag:blogger.com,1999:blog-5046760118214827295.post-70824188192376185702011-09-21T09:20:00.001-07:002011-09-21T09:22:51.934-07:00XenApp 6.0: Printers Fail to Autocreate on a Mac<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" src="http://1.bp.blogspot.com/-sUpqQvI6oVA/TnoLRnW4zZI/AAAAAAAADbI/qsqy24acIR8/s1600/sad-mac.jpg" /></a></div>
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. Apparently, everything was working fine, except that the printers locally attached to his Mac would not auto-create in his Citrix session.<br />
<div>
<br /></div>
<div>
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. That's when I decided to call on the power of Google for help, and stumbled across the following Citrix article: <a href="http://support.citrix.com/article/CTX122703">Printers Defined on a Mac Client Fail to Auto-Create when Connecting to XenApp 5.0 on Windows 2008</a></div>
<div>
<br /></div>
<div>
Basically, the issue was that a printer driver (the HP Color Laserjet 4500 PS for XenApp 5, or the HP Color Laser Jet 2800 Series PS for XenApp 6) was no longer installed on our XenApp servers. Early on, before we learned about the pains of printing in Citrix, we freely installed drivers for printers. 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. I must have deleted the required driver in this process, as it is apparently installed by XenApp automatically.</div>
<div>
<br /></div>
<div>
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. So -- if you find that your Mac printers are not auto-creating, double check to make sure the required driver is installed!</div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-24245565029403246462011-07-21T08:24:00.000-07:002011-07-21T08:25:07.894-07:00Moving to OS X Lion with a Clean Install<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" height="252" src="http://1.bp.blogspot.com/-_dDlis8usHw/Tig_5PsLgUI/AAAAAAAADZM/3NIAfeQIUOA/s320/lion_sunset.jpg" width="320" /></a></div>
<br />
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. 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. My existing setup:<br />
<br />
<ul>
<li>White Macbook Core 2 Duo, 2.16 GHz</li>
<li>120 GB 5400 rpm hard drive</li>
<li>iLife '09</li>
<li>OS X Snow Leopard</li>
</ul>
<div>
My goal by the end of the day yesterday:</div>
<div>
<ul>
<li>500 GB 7200 rpm hard drive</li>
<li>iLife '11</li>
<li>OS X Lion</li>
</ul>
<div>
For the hard drive upgrade, there are two great sites:</div>
</div>
<div>
<ul>
<li>For the purchase: <a href="http://eshop.macsales.com/MyOWC/">Other World Computing</a>. Their site allows you to pick your Mac model and then pick from compatible hardware. I settled on <a href="http://eshop.macsales.com/item/Hitachi/Y0A72335/">this</a> 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.</li>
<li>For the hard drive replacement: <a href="http://www.ifixit.com/">iFixit</a>. I used the steps found <a href="http://www.ifixit.com/Guide/Repair/MacBook-Core-2-Duo-Hard-Drive-Replacement/514/1">here</a> to replace my hard drive in about 5 minutes. Super easy!</li>
</ul>
<div>
Before swapping in a new hard drive though, there are a few things that I had to do first:</div>
</div>
<div>
<ul>
<li>Export browser bookmarks</li>
<li>Export Contacts</li>
<li>Consolidate my iTunes library. I followed the steps from this <a href="http://support.apple.com/kb/HT4527">Apple KB article</a> (specifically the part about consolidating if I wanted to copy it to an external drive for the transfer). This will move everything iTunes (music, etc.) into your iTunes folder.</li>
<li>Download OS X Lion from the Mac App store and burn a bootable DVD. I followed the steps<a href="http://eggfreckles.net/tech/burning-a-lion-boot-disc/"> found here</a> to do this. When done, you can leave the DVD in the drive.</li>
<li>Make sure I know where saved application/game data was stored (I didn't want to lose my Plants vs. Zombies progress!). In general, it seems like the path to application data on a Mac is /users/[username]/Library/Application Support/[application_or_publisher]. For example, the Plants vs. Zombies data I was looking for was located in the directory /users/matt/Library/Application Support/Popcap.</li>
<li>Backup anything else crucial in the event that this existing hard drive dies in the swap process</li>
<li>Deauthorize/Deactive licensed software (including iTunes... although I did this last)</li>
</ul>
<div>
Now, after shutting down, swapping hard drives and leaving the OS X Lion DVD in the drive, I did the following:</div>
</div>
<div>
<ul>
<li>Hold down the 'c' key upon boot, this should allow you to boot to the DVD</li>
<ul>
<li>Note: It took a LONG time for me to reach the actual Lion installation screen -- so you may need to be patient.</li>
</ul>
<li>Once at the Lion installation, I had to run the Disk Utility. This allowed me to format the new drive as Mac OS X Extended (Journaled).</li>
<li>After the format completed, I installed Lion -- so far so good!</li>
<li><b>NOTE: </b>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. 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!</li>
</ul>
<div>
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? This ended up being A LOT simpler than I expected:</div>
</div>
<div>
<ul>
<li>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. 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. Fine with me! When it opened, all of my photos, and events were in tact. Victory!</li>
<li>Similar process for iTunes: I simply replaced the existing iTunes directory in my Music folder with the one from my old hard drive. 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! <b>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. So, I'm not sure if this would work if they weren't.</b></li>
</ul>
<div>
Beyond that, it was just copy/pasting data and setting preferences... not bad at all!</div>
</div>
<div>
<br /></div>
<div>
Hopefully this makes sense, but feel free to ask questions in the comments. As always -- I will not be responsible for any damage that may occur due to following steps outlined in this post. Your mileage may vary!</div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com4tag:blogger.com,1999:blog-5046760118214827295.post-33922523886302408352011-07-15T09:45:00.000-07:002011-07-15T09:45:47.968-07:00This is the XenApp 6.0 Hotfix you are looking for<span class="Apple-style-span" style="font-family: inherit;">Basically, this is just a quick update to my previous post on Citrix servers freezing. In looking at the dates, I now realize that I have been waiting over two months for this hotfix!</span><br />
<div>
<span class="Apple-style-span" style="font-family: inherit;"><br /></span></div>
<div>
<span class="Apple-style-span" style="font-family: inherit;">Anyway -- the hotfix to resolve a LOT of stability issues was released this morning (XA600W2K8R2X64046) and can be obtained at the following site:<br /><a href="http://support.citrix.com/article/CTX128342">http://support.citrix.com/article/CTX128342</a></span></div>
<div>
<span class="Apple-style-span" style="font-family: inherit;"><br /></span></div>
<div>
<span class="Apple-style-span" style="font-family: inherit;">Happy patching!</span></div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com1tag:blogger.com,1999:blog-5046760118214827295.post-34166900357583045022011-05-09T14:22:00.000-07:002011-07-18T07:20:39.373-07:00Citrix XenApp 6.0 Servers Freezing<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" height="186" src="http://1.bp.blogspot.com/-oILzEQ7aazs/TchbIbdKE4I/AAAAAAAADWs/VMMF9kffZI8/s200/ice-freezing-up-02.jpg" width="200" /></a></div>
When we finally made our way through <a href="http://option9.blogspot.com/2010/01/windows-server-2008-freezes-finally.html">our XenApp 5.0 farm freezes</a>, I never thought that I would revisit such a problem so quickly. 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. Unfortunately, I was wrong.<br />
<br />
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. Any attempt to RDP or log in even at the console level was an absolute failure. If you are experiencing this problem, I would recommend upgrading your servers to Server 2008 R2 SP1, and applying the following Microsoft Hotfix: <a href="http://support.microsoft.com/kb/2465772">KB 2465772</a>. In addition, you're going to want to install at LEAST this Citrix Hotix as well: <a href="http://support.citrix.com/article/CTX127023">CTX127023</a>. But really, I would install as many Public Hotfixes for XenApp 6.0 as possible that apply to your environment.<br />
<br />
If that would have been the end of the freezing saga, I would have been content. 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. 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.<br />
<br />
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. 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).<br />
<br />
<b>UPDATE: </b>I've added a <a href="http://option9.blogspot.com/2011/07/this-is-xenapp-60-hotfix-you-are.html">new post</a> that provides links to this hotfix.<br />
<br />
In the meantime, there are a couple pages you should be keeping an eye on:<br />
<ol>
<li><a href="http://support.citrix.com/product/xa/v6.0_2008r2/hotfix/general/public/">The list of Public Hotfixes currently available for XenApp 6.0</a></li>
<li><a href="https://support.citrix.com/article/CTX129229">A list of recommended Microsoft Citrix Hotfixes for XenApp 6.0 and Server 2008 R2</a></li>
</ol>
<div>
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.</div>
<div>
<br /></div>
<div>
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 :)</div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com10tag:blogger.com,1999:blog-5046760118214827295.post-3050911311919726872011-04-06T11:47:00.000-07:002011-04-06T11:49:05.164-07:00How to Work on an Android Project from Multiple Computers<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="158" src="http://1.bp.blogspot.com/-5C7p3e4qxY8/TZyrImr0twI/AAAAAAAADWk/YRZEWDlNSYo/s200/CLOUD.GIF" width="200" /></a></div><i>Note: I would never recommend this solution for an actual development company. This really is intended for personal projects, or developing a small-scale app with one or two developers at most. As always, try this at your own risk, as I will not be responsible for any lost, corrupted or otherwise broken projects.</i><br />
<i><br />
</i><br />
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.<br />
<br />
I already had a free Dropbox account (available <a href="https://www.dropbox.com/">here</a>) 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? Would it work? Would there be any "gotchas"? If nothing else, I thought it was worth a try.<br />
<br />
So, when I created my Android project in Eclipse (available <a href="http://www.eclipse.org/downloads/">here</a>) I decided to set it up in my local Dropbox folder. I added a few files, built the project and ran it -- so far so good. I then opened the Dropbox app on my computer and let the syncing do its thing. In my case, not only was I dealing with two different computers, I was also dealing with two different OSes. My desktop computer is running Windows, while my laptop is running Mac OS X. I figured if anything could go wrong, it would in this scenario.<br />
<br />
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). Eclipse seemed to have some built-in functionality for using CVS Source control, so I started on the hunt. In short, I ended up using WinCVS / MacCVS (available <a href="http://cvsgui.sourceforge.net/download.html">here</a>). Setting up the CVS server isn't too complicated, so I'll leave that to you.<br />
<br />
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 -> Share Project. 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.<br />
<br />
Now for accessing that project from your second computer. In my case, I installed Dropbox, Eclipse and the MacCVS server and configured everything similar to that of my Windows PC. After everything finishes syncing in your Dropbox, open Eclipse and go to File -> New -> Project. From the list of options, select CVS then Project from CVS. Select Use existing repository location (which should have your local repository after setting up CVS), choose your local repository and click Next. Select Use an existing module, and select the project you created on your first computer and click Finish. This should create a new Project in your workspace complete with the current versions of your source code.<br />
<br />
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.<br />
<br />
Potential Gotchas:<br />
<br />
<ul><li>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 -> Update.</li>
<li>In my case, running on one Windows computer and one Mac, I had very different build paths for my projects. 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). 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.</li>
<li>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. If you just use the simulator, this is a non-issue.</li>
<li>Speaking of Signatures -- when you go to Export a Signed APK, you'll have to create (or use an existing) keystore. 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.</li>
</ul><div>In general, I imagine this technique could also be applied to iPhone/iOS development (between Macs obviously), or other Java-based projects, and more.</div>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com4tag:blogger.com,1999:blog-5046760118214827295.post-83596704343424647092011-03-21T15:30:00.000-07:002011-03-21T15:33:44.522-07:00Setting up KMS for Windows Activation on Server 2008 x64<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="194" src="https://lh4.googleusercontent.com/-Plem57-zIPo/TYfEQgwa42I/AAAAAAAADWQ/nqkN_C5Qc6o/s200/Wonder-Twins.jpg" width="200" /></a></div>We initially set up all of our Windows Servers using MAK keys. 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. Simple right? 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. 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.<br />
<br />
Enter KMS. 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. The only potential "gotcha" is that each of these KMS clients need to periodically check in with the KMS host to remain activated. Since our Citrix farm is all on the same network and never gets shut down, this would not be a problem for us. To understand more about KMS please check out <a href="http://technet.microsoft.com/en-us/library/ff793434.aspx">this article</a>.<br />
<br />
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. 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. 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. If you don't have Dynamic DNS enabled, you'll need to create these records manually. Plenty of information on that and other fun KMS topics can be found in <a href="http://technet.microsoft.com/en-us/library/ff793409.aspx">this article</a>.<br />
<br />
Now for the client side of things. 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<span class="Apple-style-span" style="font-family: inherit;">quests before it will start activating). I had a little more work to do since I had previously entered our MAK key for activation. In order to switch the server back to a KMS client, I had to type in the following command from an elevated command prompt:</span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="font-family: inherit;">slmgr.vbs /ipk <i>KMSSetupKey</i></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="font-family: inherit;"><i><br />
</i></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;">where </span></span></span><span class="Apple-style-span" style="line-height: 13px;"><i>KMSSetupKey </i></span>is a key that is provided by Microsoft that is not part of a licensing agreement -- it's just a generic key. I pulled the one I needed from <a href="http://technet.microsoft.com/en-us/library/ff793421.aspx">this site</a>. Then, to attempt an activation, you can type in the following command from an elevated command prompt:<br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;">slmgr.vbs /ato</span></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;">Unfortunately, my attempt was not very successful. Instead, I was prompted with the error "The key management service is unavailable." 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: 0xC004F042, which according to <a href="http://support.microsoft.com/kb/938450">this site</a> of common activation errors, means that there is a mismatch of some kind between our KMS host and our KMS client. 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. If you are in need of this update, it is currently available <a href="http://support.microsoft.com/kb/968912">here</a>.</span></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;">Now, that's not the end of the story. After applying the update and rebooting the KMS host, I was still unable to activate our 2008 R2 Servers. In order to complete the update process, you must install the Server 2008 R2 KMS host key using the same command (slmgr.vbs /ipk </span></span></span><span class="Apple-style-span" style="line-height: 13px;"><i>KMSSetupKey</i></span><kmssetupkey>) as mentioned above, except you'll need to use the KMS key from your license agreement with Microsoft. Then, I just needed to activate it (slmgr.vbs /ato) and restart the Software Licensing Service one more time. Now we can activate R2 servers against our KMS host.</kmssetupkey><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;"><br />
</span></span></span><br />
<span class="Apple-style-span" style="line-height: 13px;"><span class="Apple-style-span" style="line-height: normal;"><span class="Apple-style-span" style="font-family: inherit;">Next stop will be determining how this all affects my Altiris imaging process...</span></span></span>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-67936972049818290842011-03-15T10:03:00.000-07:002011-03-15T10:03:15.048-07:00Installing Red Hat Enterprise Linux 5.5 on a Multipath Device<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="124" src="https://lh6.googleusercontent.com/-V4ionO2Qk94/TX-Rg_CflfI/AAAAAAAADWM/Q2kRfHvXHmM/s200/two_paths.jpg" width="200" /></a></div><i>Note: Most, if not all, of the tips I'm providing in this post are available in Red Hat or IBM documentation. It took me awhile to find it though, so I thought it may be nice to save for a quick reference.</i><br />
<br />
This week, our team was tasked with installing Red Hat Enterprise Linux (RHEL) 5.5 on an IBM server. This server connects to two different drives provided by a DS8100 storage system, and has two paths to each drive. 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.<br />
<br />
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). We went through the motions and targeted one of the drives it detected for the install. Unfortunately, when we rebooted the machine, it didn't see that drive as a bootable device, marking our first defeat.<br />
<br />
To make things a little easier on ourselves, we decided to go with the recommended graphical installer. How did we do this without a video card, you may ask? With our friend, VNC. 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. In order to get the installer to start a VNC server, you need to add the following option at boot when prompted:<br />
boot: linux vnc<br />
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.<br />
<br />
Now that we had a graphical installer to work with, we were feeling much better and went through another install. It failed. So, we tried again testing various disk layouts. They failed. 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.<br />
<br />
In the back of my mind, I was thinking it had to do with multipath aspect. If we could somehow get this installer to only see two drives, instead of four, maybe our luck would change. 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. The key to solving this problem: adding just one additional boot parameter. So, in the end, our boot parameters looked like:<br />
boot: linux vnc mpath<br />
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!<br />
<br />
The following section only applies if you are running an IBM Storage System, specifically something in the DS6000 or DS8000 series. So, if that doesn't apply to you, feel free to move along :)<br />
<br />
After the install, there were a couple additional steps to make sure multipath was configured correctly for our DS8100 system. You will need to make sure the following packages are installed:<br />
device-mapper<br />
device-mapper-multipath<br />
<br />
Next, you'll need the multipath config file from the IBM website (currently located <a href="http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000107#DM">on this page</a> in the section labeled<span class="Apple-style-span" style="font-family: inherit;"> "Device Mapper Multipath Configuration File for ESS DS6000 DS8000 and SVC". Make sure you grab the one for the RHEL 5 Platform). After obtaining multipath.conf, back up your existing one under /etc/multipath.conf and then simply copy this one into the /etc directory. In order to get my system to recognize the new config, I had to run the following command:<br />
multipath -r</span><br />
<span class="Apple-style-span" style="font-family: inherit;">You can then confirm that the drives are discovered with the following command:</span><br />
<span class="Apple-style-span" style="font-family: inherit;">multipath -l</span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">Hopefully this post will save you a little bit of time and heartache!</span>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-6593542580944623242011-02-25T15:59:00.000-08:002011-10-07T10:21:49.048-07:007 Things to Convince Me to Switch to the iPhone 5<div class="separator" style="clear: both; text-align: center;">
<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;"><span class="Apple-style-span" style="color: black;"><img border="0" height="200" src="http://2.bp.blogspot.com/-OSlrSoJAuw8/TWg8L1xFGeI/AAAAAAAADWI/kkW5AQK3-g8/s200/iphone-4.jpg" width="79" /></span></a></div>
<b>UPDATE: </b><i>I have published a follow-up post to this article <a href="http://option9.blogspot.com/2011/10/7-things-to-convince-me-to-switch-to.html">here</a>.</i><br />
<br />
A couple of disclaimers first: I currently own the original Motrola Droid on Verizon. I like my Droid, but there have definitely been times that I've wanted to throw it out the window. 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. 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. I'm just a fan of using the best technology that simply "works" while providing the best features for me at the time.<br />
<br />
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? I've been wondering, what would it take for me to switch over to "the dark side"? I have come up with a list of things that if completely implemented, I wouldn't hesitate to buy the next iPhone. However, if only some (or none) of the following are included, I'll have quite the dilemma on my hands:<br />
<br />
<b>1) The iPhone 5 must be released on Verizon the same time as ATT</b><br />
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. 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.<br />
<br />
<span class="Apple-style-span" style="font-family: inherit;"><b>2) The iPhone 5 must be capable of utilizing <span class="Apple-style-span" style="white-space: pre-wrap;">4G / LTE </span></b></span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><span class="Apple-style-span" style="font-family: inherit;">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.</span></span><br />
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<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;"><span class="Apple-style-span" style="font-family: inherit;"> </span></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b><span class="Apple-style-span" style="font-family: inherit;">3) The iPhone 5 must have a dual-core processor</span></b></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.</span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<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;"><span class="Apple-style-span" style="font-family: inherit;"> </span></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b><span class="Apple-style-span" style="font-family: inherit;">4) The iPhone 5 must include an NFC implementation</span></b></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">If you have no idea what NFC is, ReadWriteWeb has put together a very nice write up on it <a href="http://www.readwriteweb.com/mobile/2011/02/nfc-in-2011-whats-nfc-and-why-do-I-care.php">here</a>. As the article mentions, this technology is not huge right now, but it is poised to take off very, very soon.</span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b><span class="Apple-style-span" style="font-family: inherit;"> </span></b></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="white-space: pre-wrap;"><b><span class="Apple-style-span" style="font-family: inherit;">5) The iPhone 5 must use a better notification system</span></b></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-family: inherit;"><span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.</span></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br />
<span class="Apple-style-span" style="font-family: inherit;"><span class="Apple-style-span" style="white-space: pre-wrap;"><b></b></span><span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>6) The iPhone 5 must have a dependable, free (or inexpensive) turn-by-turn Navigation application</b></span></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-family: inherit;"><span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.<b> </b></span><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;"> </span></span><br />
<span class="Apple-style-span" style="font-family: inherit;"><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;"> </span></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span style="background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b><span class="Apple-style-span" style="font-family: inherit;">7) Along side the iPhone 5, Apple must provide free MobileMe access</span></b></span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">Now, I must confess that I didn't think of this one on my own. A few articles, like<a href="http://www.zdnet.com/blog/btl/mobileme-can-only-be-new-and-improved-if-apple-kills-subscription-fee/45343"> this one</a>, 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.</span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><br />
</span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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? Perhaps I'm just suffering from "the grass is always greener on the other side" syndrome?</span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span></div>
<div style="background-color: transparent; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">I'd love to hear your thoughts in the comment section below.</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b>UPDATE (3-3-2011): </b>In light of the iPad 2 announcement, a few updates:</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">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.</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;">Item 7) There was no mention of MobileMe at all. Perhaps this was wishful thinking to begin with? Only time will tell!</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b>UPDATE (3-28-2011):</b> 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 <a href="http://www.macrumors.com/2011/03/28/no-hardware-announcements-at-wwdc-2011/">this</a> and <a href="http://techcrunch.com/2011/03/26/ios-5-likely-pushed-to-the-fall-after-a-cloud-unveiling-at-wwdc/">this</a> 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.</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b>UPDATE (4-22-2011): </b>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 <a href="http://news.cnet.com/8301-13924_3-20056230-64.html">discussion on why</a>.</span><br />
<br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b>UPDATE (5-19-2011):</b> Verizon's CFO confirmed Item 1 (that Verizon and AT&T would release the next iPhone at the same time). See the confirmation <a href="http://www.9to5mac.com/67986/shammo-next-verizon-iphone-will-be-world-phone-and-released-at-the-same-time-as-atts/">here</a> and check one off of the list!</span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"> </span><br />
<span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"><b>UPDATE (6-13-2011): </b>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!</span></div>
Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com2tag:blogger.com,1999:blog-5046760118214827295.post-26610845405665917752010-12-14T15:24:00.000-08:002010-12-14T15:24:02.096-08:00Slowness with RPC as root on AIXI was responsible for writing a little RPC client (and server) program that talks to our Unidata database to retrieve some arbitrary values. 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. 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).<br />
<br />
Then I made a discovery: when we ran the program as a non-root user, we got comparable times to the Linux box. So, what is it about root on AIX that was causing the hold up? Well, apparently, in AIX there is something built in that uses reserved, or privileged, ports for that kind of communication when running as root. 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.<br />
<br />
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. In case you come across a similar issue, here are the steps to fix it:<br />
1) Use chmod and chgrp to make sure that the permissions on the application are non-root for ownership/group<br />
2) Enable the setuid sticky bit on the application with the following syntax:<br />
chmod u+s AppNameHere<br />
<br />
This caused quite the headache and resulted in a support call to IBM, so hopefully this will help someone out there!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com1tag:blogger.com,1999:blog-5046760118214827295.post-87779261910280237622010-10-18T11:47:00.001-07:002010-10-18T11:47:57.351-07:00New Look and FeelI've never really liked the default template I've been using for this blog, so I figured it was time for a change. Welcome to the new look!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-13270382382659688912010-10-13T10:57:00.000-07:002010-10-15T13:34:04.019-07:00Setting up a Web Server on AIX 6.1<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" src="http://3.bp.blogspot.com/_WA_r9RQqqAk/TLXppa9qHEI/AAAAAAAADVE/RP9Kz-KPO3s/s1600/web.jpg" /></a></div>There have been several occasions when I have needed to set up web servers on either Windows or Linux. Pretty much every time it has been a simple process of installing binaries through a GUI and making sure everything plays nice together. 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). In going through this process I learned a few things, so I thought that I would share them here.<br />
<br />
<b>Step One:</b> <b>Trying to find binaries for AIX</b><br />
This step in itself is a little difficult. Previously I have used Bull Freeware (<a href="http://www.bullfreeware.com/">http://www.bullfreeware.com/</a>) for AIX binaries. 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. This drove me to the discovery of PmWiki (<a href="http://www.perzl.org/aix/index.php">http://www.perzl.org/aix/index.php</a>) maintained by Michael Perzl. This repository of RPMs built for AIX is very thorough, and very recent! I highly recommend this site for anyone looking for binaries for AIX in general. I quickly snatched up binaries for Apache and PHP, but no MySQL binaries were available. Have no fear, MySQL actually maintains their own, so I was able to download them from their website (<a href="http://dev.mysql.com/downloads/mysql/">http://dev.mysql.com/downloads/mysql/</a>).<br />
<br />
<b>Step Two: Trying to install the binaries</b><br />
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. 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. At this point, Apache was up and running, PHP was configured and MySQL was up and running. 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. (<b>Note:</b> If for some reason, you are following this like a tutorial, do not install the PHP binaries just yet.... you'll see why).<br />
<br />
<b>Step Three: Trying to get PHP to connect to a MySQL database</b><br />
This is when things started going downhill a little bit. 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. In going through the PHP info, I discovered that the PHP binary I downloaded was not compiled with MySQL support. Bummer -- this meant that I now needed to compile PHP on my own on AIX. Fun stuff!<br />
<br />
<b>Step Four: Compiling and Installing PHP on AIX</b><br />
This part was the most painful of this entire process. 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. I did discover a few interesting things though:<br />
<br />
<ul><li>You must use the 32-bit version of MySQL if you want PHP to compile using it</li>
<li>You must use gmake/GNU make instead of the AIX make command for compilation to complete</li>
<li>I had to install the apxs (from the httpd-devel package) to reference in my configure command. The AIX one (under /opt/pware64) made a libphp5.so library that caused Apache to fail to start up.</li>
<li>The --enable-maintainer-zts configure option is required to make php thread safe. Without it, Apache complains and won't load the library.</li>
<li>I also came across a very odd problem when I did the "make install". 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. Nice. 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. 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. By doing this, the file will be there when it's looking for it. It requires a little bit of timing, so it may take a few tries to get it right.</li>
</ul><div>For anyone interested, this is the configure line I used: </div><div>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'</div><div><br />
</div><div><b>Step 5: Testing and Completion</b></div><div>At this point, I now had Apache running with PHP with support for MySQL. I happily connected to the database and then handed the server over to another developer who would actually be using it. This was definitely a learning experience, so I hope someone finds this information useful.<br />
<br />
UPDATE: I also discovered that by default, cgi scripts were not executing. This was due to the file permissions set on the httpd log file directory. 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).</div>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com3tag:blogger.com,1999:blog-5046760118214827295.post-23592191971282826732010-08-09T09:35:00.000-07:002010-08-09T09:35:03.955-07:00Installing Jolicloud 1.0 on a Macbook<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="200" src="http://2.bp.blogspot.com/_WA_r9RQqqAk/TGAplw4NY2I/AAAAAAAADUs/naRUI5tXIBE/s200/jolicloud.jpg" width="200" /></a></div>As of late, I have gained an interest in Cloud OSes. 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). Two examples of such an OS are Google Chrome OS and jolicloud. For a good introduction video on the topic, you can watch <a href="http://www.youtube.com/watch?v=0QRO3gKj3qw">this video</a>. <br />
<br />
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. So, I decided to take jolicloud for a test drive. 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.<br />
<br />
So, for anyone else interested in installing jolicloud on a Macbook, these are the steps I took:<br />
1) Use Bootcamp Assistant (located under Applications -> Utilities) to create a partition for jolicloud. I made mine about 8GB, but you could get by with much less.<br />
2) Install rEFIt (<a href="http://refit.sourceforge.net/">available here</a>). This is basically a boot menu that makes installing (and subsequently launching) jolicloud a bit easier. Make sure you run the enable script mentioned in the install documentation, or you'll never see the boot menu. If you've done everything up to this point, you should see the rERIt boot menu when you reboot your Mac.<br />
3) Burn the jolicloud ISO (<a href="http://www.jolicloud.com/download#jolicloud-iso">available here</a>) to a CD. (Note: I tried using a USB thumb drive for this portion, but I couldn't get my Mac to detect it).<br />
4) Insert the CD and reboot your Mac.<br />
5) You should see a little penguin icon next to your Mac partition in the Boot Menu -- go for the penguin!<br />
6) At that point you should be able to follow the installer -- it's basically your typical Linux installer.<br />
<br />
Once installed, you'll probably want to change a couple of things immediately:<br />
1) Go into the device settings/control panel and update your keyboard settings. You'll want to make sure that it's set to the appropriate Mac keyboard<br />
2) In that same area, update your mouse/accessibility settings so that long-clicking on something = right-clicking. Unfortunately, with only one mouse button, this was the only way I could figure out how to get right-clicking to function.<br />
<br />
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.Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com17tag:blogger.com,1999:blog-5046760118214827295.post-42522075390473956722010-06-01T10:20:00.000-07:002010-06-01T10:20:24.171-07:00TCPing: Add it to your toolbelt<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="195" src="http://2.bp.blogspot.com/_WA_r9RQqqAk/TAU9m8JadeI/AAAAAAAADUA/I5T0lZflYgA/s200/command-prompt-glossy.png" width="200" /></a></div>I've been using this tool for several months now, thanks to the introduction provided by one of our Citrix consultants. 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.<br />
<br />
Most notably, it adds the ability to "ping" a specific port on a host to check whether or not it is open for business. 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. However, my favorite use of this tool is when I'm waiting for a host to reboot and I want to RDP into it. 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.<br />
<br />
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.<br />
<br />
I know this is not a major discovery, or anything new, but it's the little things that count, right?<br />
<br />
If you would like to download this utility, you can get it from <a href="http://download.cnet.com/TCPing/3000-2085_4-10770093.html?tag=mncol">here</a>.Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-32352182109033737022010-05-26T11:24:00.001-07:002010-05-26T11:27:56.065-07:00My Next Android App - Group to Voicemail<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WA_r9RQqqAk/S_1n5pFnS9I/AAAAAAAADTo/1iTSxLLpPF4/s1600/promo.png"><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" /></a><br />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.<br /><br />Here are the features:<br /><ul><li>Create and manage Contact groups that can sync with your Google account automatically</li><li>There are currently three action types: <ul><li>Send to Voicemail – Send all Contacts in that group to voicemail</li><li>Don’t Send to Voicemail – Don’t send all Contacts in that group to voicemail</li><li>Everyone Else to Voicemail – Send all Contacts but those in the specified group(s) to voicemail</li></ul> </li><li>Create schedules to automatically apply actions to groups</li><li>Schedules can be created for a variety of scenarios: <ul><li>Span multiple days (ex: from Friday at 5:00pm until Monday at 8:00am)</li><li>A time range on one day (ex: from 8:00am until 5:00pm on Friday)</li><li>All day (ex: All day on Thursday — will be in effect from 12:00am until 12:00am the following day)</li><li>Repeat days (ex: Every Monday, Wednesday and Friday from 4:00pm to 6:00pm)</li></ul> </li><li>Color-coded visual cues to specify which groups are currently being sent to voicemail and which schedules are currently active</li><li>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.</li><li>Temporarily disable schedules if you’re doing something different that day/week.</li></ul>For screenshots and more information, you can also visit the website I put together for all of my Android-related projects: <a href="http://forthegamer.com/">ForTheGamer.com</a>.Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-57631558029295468832010-05-26T11:11:00.001-07:002010-05-26T11:21:04.632-07:00Held Hostage By SymantecIn 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.<br /><br />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.<br /><br />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.<br /><br />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?Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-60895639380833376442010-03-26T10:31:00.000-07:002010-03-26T10:41:10.596-07:00My First Android App - Game Encyclopedia<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WA_r9RQqqAk/S6zvpU_ARyI/AAAAAAAADTg/xbrgRE-DxDs/s1600/android.png"><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" /></a>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 <a href="http://www.gamesradar.com/">GamesRadar.com</a>.<br /><br />Here are the current list of features:<br />- Up to the minute video game News Features<br />- 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<br />- View related information such as a description, release date, ESRB Rating and review score for games<br />- A video game search that allows you to find the game you are looking for quickly<br /><br />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 :)<br /><br />For more information, you can also visit the website I put together for all of my Android-related projects: <a href="http://forthegamer.com/">ForTheGamer.com</a>.<br /><br />As always, I welcome all questions and suggestions!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-63692537740142960592010-02-08T15:32:00.000-08:002010-02-08T15:32:03.482-08:00Altiris Agent Prevents Roaming Profile RemovalWhen I logged into one of our Citrix Servers, I noticed something interesting: The user directory folder (C:\Users on Windows 2008), contained multiple copies of users' cached roaming profiles. So, for example, there would be folders maugustine.domain, maugustine.domain.000, maugustine.domain.001, etc. 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.<br />
<br />
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. 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.<br />
<br />
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. If I stopped the service and then ran the previously mentioned test, the user's profile would be deleted just fine.<br />
<br />
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." If you are sitting on Windows Server 2008 and are experiencing the same problem, unfortunately there is no permanent fix available yet. Your best bet is to disable the Altiris DAgent services and startup items and subscribe to the following KB article for updates:<br />
<a href="https://kb.altiris.com/article.asp?article=51228&p=1">https://kb.altiris.com/article.asp?article=51228&p=1</a><br />
<br />
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. Unfortunately, the AClient is not compatible with Vista or Server 2008.<br />
<br />
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!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com3tag:blogger.com,1999:blog-5046760118214827295.post-43952359962943699962010-01-15T10:42:00.000-08:002010-01-15T10:42:22.410-08:00Windows Server 2008 Freezes -- Finally Solved!<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="177" src="http://3.bp.blogspot.com/_WA_r9RQqqAk/S1C228ca3tI/AAAAAAAADSA/LOet1l5o5Og/s200/i-has-frozen.jpg" width="200" /></a><br />
</div>In our environment at work, we have a Citrix farm that users connect to that is running on Windows Server 2008 x64. During our testing phase while we still had a relatively light load of users on the farm, things went pretty smoothly. 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. At that point, all sessions that users were in would lock up, forcing them to lose any unsaved data and restart their sessions again. As you can imagine, management did not see this as an enhancement to their productivity.<br />
<br />
So, for the last several months we have been troubleshooting this issue. There was no pattern in regards to when servers would freeze. At any given time, any of the four servers we have in production would freeze. 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). After bringing in several consultants that helped set up this environment initially, we took our case to Citrix. Several log and memory dump files later, they came to the conclusion that Internet Explorer was causing our servers to lock up. Naturally, I then presented this information all to Microsoft support. Upon further analysis, they discovered that we were experiencing a bug that has been resolved by a hotfix:<br />
<a href="http://support.microsoft.com/kb/976674">http://support.microsoft.com/kb/976674</a><br />
<br />
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. 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. After applying this hotfix (which was a little over two weeks ago) we have not experienced any freezes. Good news for everyone.<br />
<br />
If anyone is interested in the detailed symptoms:<br />
<br />
<ul><li>Users sessions (terminal services/Citrix) would become completely unresponsive</li>
<li>The server would become unresponsive even at the console level</li>
<li>The server would respond to pings</li>
<li>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</li>
<li>The only workaround when this occurred was to hard reboot the server</li>
</ul>Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com23tag:blogger.com,1999:blog-5046760118214827295.post-62728426131088534402009-12-04T09:49:00.000-08:002009-12-04T09:49:25.606-08:00Random Empty Print Jobs Sent to Network Printers<div class="separator" style="clear: both; text-align: center;"><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;"><img border="0" height="213" src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SxlIpn3KzbI/AAAAAAAADR4/p6m5e1qmo38/s320/office_space.jpg" width="320" /></a><br />
</div>I recently came across an odd problem having to do with empty print jobs being sent to printers across our network. 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. 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.<br />
<br />
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). 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. I also had to choose the option to redirect local printers to the remote session for it to occur as well. 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.<br />
<br />
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. So, if we started a remote desktop session to any XP computer that had this application installed, the problem happened. As soon as I removed the Dell drivers, the problem went away. 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.<br />
<br />
It's crazy how such a small thing can cause so many weird things to happen!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com8tag:blogger.com,1999:blog-5046760118214827295.post-56340277486903333302009-11-03T12:50:00.000-08:002009-11-03T12:51:48.966-08:00My Fake Droid Review<div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://3.bp.blogspot.com/_WA_r9RQqqAk/SvCNCcN3gQI/AAAAAAAADQo/XUVYWnf2QcI/s320/PB020053.jpg" border="0" /></a><br /></div><b>Disclaimer: </b>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!<br /><br />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.<br /><br />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.<br /><br />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):<br /><div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUT98TKgI/AAAAAAAADQw/wbni7Lk4ZtA/s320/PB020043.jpg" border="0" /></a><br /></div><div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUW0ACbmI/AAAAAAAADQ4/uPhiMfGefoc/s320/PB020036.jpg" border="0" /></a><br /></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />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!).<br /><br /><div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUZpJYi4I/AAAAAAAADRA/WkeqwOMHMX8/s320/PB020039.jpg" border="0" /></a><br /></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />I couldn't stop laughing when I saw the "Jedi Button" -- who KNOWS what kind of power will be unleashed when I press it!<br /><br /><div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://4.bp.blogspot.com/_WA_r9RQqqAk/SvCUjFb5sEI/AAAAAAAADRY/lxfapwyHVOU/s320/PB020051.jpg" border="0" /></a><br /></div><div class="separator" style="clear: both; text-align: center;"> <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;"><img src="http://2.bp.blogspot.com/_WA_r9RQqqAk/SvCUbQ-6hHI/AAAAAAAADRI/Hxv65LyRGg4/s320/PB020048.jpg" border="0" /></a><br /></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Here you have the "Hi-tech camera" and "Google Maps".<br /><br /><div class="separator" style="clear: both; text-align: center;"><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;"><img src="http://1.bp.blogspot.com/_WA_r9RQqqAk/SvCUedLBQ7I/AAAAAAAADRQ/FnQAbX0x3Pk/s320/PB020050.jpg" border="0" /></a><br /></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />The "Cool Google easy Keyboard" -- I'm not sure what some of those symbols are though :)<br /><br />All in all, a pretty good device -- don't ya think?Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0tag:blogger.com,1999:blog-5046760118214827295.post-23882229936176559632009-10-13T09:25:00.000-07:002009-10-13T09:25:20.269-07:00Wyse Device Manager Agent DisabledIn our thin client implementation we have decided on going with Wyse. We're using the Wyse OS based V10Ls for standard users and then Windows XPe based R90Ls for users that require special setups. Managing the V10Ls could not be easier: set up an FTP server with one config file and put the thin client in DHCP. The rest is magic. However, with the R90Ls we needed a way to customize the factory XPe image and deploy it to the rest of the devices. 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.<br />
<br />
Enter Wyse Device Manager (WDM). 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. 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.<br />
<br />
As I started creating our XPe images, I noticed something. 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). No matter what I did, this service would be disabled causing the device to no longer be in communication with the WDM server. Obviously this defeats the purpose since going forward we would not be able to remotely control or image this thin client.<br />
<br />
After doing some digging, I discovered what the issue was: a typo in the built-in prep script. In prep_4_man.bat in C:\Windows\Setup there was a line that read:<br />
regedit /s /i c:\windows\setup\isetup.reg<br />
But there was no file named isetup.reg in C:\Windows\Setup -- but there WAS a file named setup.reg.<br />
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.<br />
<br />
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!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com2tag:blogger.com,1999:blog-5046760118214827295.post-24365770869111249132009-09-16T12:46:00.000-07:002009-09-16T12:46:49.512-07:00Users Unable to Change Expired Passwords on Windows Server 2008In our environment, we have Citrix XenApp 5.0 publishing desktops from Windows Server 2008. Our users connect to these published desktops via thin client or through the web interface. We recently decided to put our password policy into effect, which included expiring user passwords once a month.<br />
<br />
When the first user experienced the password expiration interface in Server 2008 after coming back to a locked workstation, they received the following message:<br />
"The password for this account has expired. To change the password, click Cancel, click Switch User, and then log on."<br />
<br />
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. 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. An unacceptable solution in my opinion :)<br />
<br />
So, I started to do some digging and found the following Microsoft KB article:<br />
http://support.microsoft.com/kb/958900<br />
which has an associated hotfix, that we applied and users were able to happily go on changing their passwords when they expired.<br />
<br />
But then, we noticed something else. 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. The secondary monitor was just completely black.<br />
<br />
Oddly enough, the solution was to upgrade to Server 2008 SP2. 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.<br />
<br />
I spent several hours scouring the web for a solution and didn't find anything -- so hopefully this will help you!Matt Augustinehttp://www.blogger.com/profile/01264207750448753858noreply@blogger.com0