• Fun with Xcode Server - Round 2

    Earlier this year, I wrote about Xcode Server as well as some issues I had with it. My Xcode Server has been running well for months spitting out builds for testing as well as ones that goto the AppStore.

    Unfortunately, Apple changed Xcode Server as part of Xcode 6/Server 3.2.1 (the Xcode Server part of OS X Server primarily is found in Xcode itself as far as I can tell; feel free to correct me if I'm wrong). There were a number of things I had to do in order to get my server building again due to a change in the location of the provisioning profiles and where the key/certificate pair are stored for the profile. These steps are long and not guaranteed to work, but give them a try if you're feeling lucky.

    1. Switch to root user
      sudo su -
      
    2. Switch to the Xcode Server keychain directory
      cd /Library/Developer/XcodeServer/Keychains
      
    3. Copy the Portal keychain to your Desktop
      cp Portal.keychain /Users//Desktop/
      
    4. Make a backup copy of the keychain.
      cp Portal.keychain Portal.keychain.bu
      
    5. Change the owner of the keychain to your user.
      chown  /Users//Desktop/Portal.keychain
      
    6. Record the password of the Portal keychain
      cat /Library/Developer/XcodeServer/SharedSecrets/PortalKeychainSharedSecret
      
    7. Leave this terminal window open.

    8. Open Keychain Access as your user.

    9. Add the keychain you just copied to Keychain Access - /Users//Desktop/Portal.keychain

    10. Open a new terminal window

    11. Unlock the Portal keychain

      security unlock-keychain -p \
       /Users//Desktop/Portal.keychain
      
    12. Copy the key and certificate used for the provisioning profile to the Portal Keychain in Keychain Access.

    13. Lock the Portal Keychain

    14. Go back to the Terminal window where you are the root user. You'll still be in the Keychains directory for Xcode Server.

    15. Copy the Portal Keychain back to the directory.

      cp /Users//Desktop/Portal.keychain .
      
    16. Change the owner of the keychain
      chown _xcsbuildd Portal.keychain
      
    17. Switch to the Provisioning Profiles directory
      cd /Library/Developer/XcodeServer/ProvisioningProfiles
      
    18. Copy your provisioning profile.
      cp /Users//Desktop/MyProfile.mobileprovision
      
    19. Edit your bot in Xcode and reset git credentials. I always let the bot create a new SSH key pair and add that to either GitHub or Bitbucket depending on the project.

    20. Cross your fingers and build.

    It appears to me that Xcode Server has gotten worse where more functionality has moved to Xcode and less is in the web interface. This means I can't change the git branch I use for building and I can't edit my bots using the web interface. I think that there is a lot of potential with Xcode Server, but there is a long way to go in terms of usability. The server must be able to do more than run tests and must be able to let the small development shop do builds that can't be distributed via TestFlight and uploaded to the app store.

    Automation is key in any development project as the manual process is for the birds. Many developers don't need the power of Jenkins, but could easily use Xcode Server if it worked a little better. Doing builds locally and then uploading for testers is cumbersome and a process that should be avoided. I'd be more than happy to talk to the Xcode Server folks about build practices. At work, I have our Jenkins based build system crank out 13 builds at a time and upload to TestFlight with minimal effort; we just push code to a build branch in git and out pops the builds. We can do several builds a day if need be without blinking an eye. For my personal projects, I was doing a build nightly for someone I was working with and without the automation, he wouldn't have been able to see the progress as quickly as I would have spent 5-10 minutes a day doing builds which really adds up.

  • Review: SportRX

    Earlier this year I came to a realization that I was putting in my contact lenses on most days only to run. I'm not sure why it took so long as I work from home and in most weeks, I tend not to leave the house except to run. So I was wearing my contacts for a few hours a day which has become old. I decided to look into prescription running glasses, glasses with a little bit of a wrap. I found SportRX online and realized that they were less than 5 minutes from my house.

    I wandered into the storefront one day and a very helpful optician, Sarah, gave me 3 choices because of my prescription. My eyes aren't great and I can't see anything without glasses. I left to see if my optometrist could match the price as I'd be able to use my vision insurance there (VSP is strange and can only be used at optometrist owned shops from what I understand). A few days later, they got back to me and basically said that they could make the glasses, but couldn't guarantee that they'd work as the wrap requires a different way of making the lens. I wasn't willing to take the risk, so I went back to SportRX.

    Again I walked into SportRX and went ahead and ordered Rudy Project Horus frames with prescription lenses. The whole package wasn't cheap, but I was super excited to get them. I received email about 2 weeks later that they had arrived and I went in to pick them up. I tried on the glasses and almost fell over because they made me disoriented. The optician, Tim, took a look and said he'd talk to the lab. I chatted with him a few days later after I checked my order online and the lab had made the lenses wrong and they were going to remake them.

    A few more weeks went by and my new sunglasses arrived by UPS. I put on the sunglasses and felt a little dizzy. However, I thought my prescription was a bit different. I wore them a number of times and ran with them a few times, but couldn't get used to them. I'm not sure exactly what was the problem, but decided to return them. (SportRX has a very generous return policy which is one of the reasons I decided to give them a try.) When I went back, I was given the option of a refund or could try a different frame. A third optician, Rob, assisted me and just like the other two, was extremely helpful. I opted to try another frame; I was assured that if they didn't work, I could still get a full refund. While the frames I chose, Oakley Chainlink, weren't as sporty as the Rudy Project ones, my options seemed quite limited. This time when I went in, I took my son in to take a look around. The receptionist said Rob was on the phone and offered us something to drink as well as the opportunity to play tabletop shuffleboard which was very kind. I showed my son how to play and he was entertained. After Rob finished helping me, he brought out a pair of kids sunglasses and gave them to my son to keep. This extra special touch reinforced my decision to give SportRX a try.

    I received my new sunglasses 2 weeks ago and have been wearing them running, driving, and all the usual activities where I normally would have worn contacts and non-prescription sunglasses. At first they seemed a little weird like the last pair, but now that I've gotten used to them, they're fine. They're a little different than my regular glasses, but not enough to return them. I feel a bit free in that I don't have to put in my contacts when I leave the house; just grab the sunglasses and go.

    The major problem I experienced (and it has nothing to do with SportRX or the sunglasses) is that I was wearing my sunglasses driving and it started pouring rain; I had to pull over to the side of the road to swap glasses as I can't see a thing without them.

    Now that I have a pair of prescription sunglasses and a pair of regular glasses, I need a murse to hold them both!

    Pros

    • Large selection of frames for people with not awful vision
    • Extremely friendly and helpful staff

    Cons

    • Higher prescriptions may have problems getting good lenses made
    • Choices are limited in high prescriptions
    • Cost; prescription sunglasses that are sporty are not cheap

    Summary

    Despite the problems with my sunglasses, I had a good experience with SportRX and would recommend them. The money back guarantee and their willingness to work with me made the experience pleasant. My only disappointment is that my eyes are bad enough that my choices on frames were limited and the lenses didn't turn out exactly as I had hoped (in order to reduce the wrap, the lenses stick out a bit on the sides).

  • Going on a fad diet

    OK, my title is a bit misleading, however it caught your attention! Luckily I've never really had to watch what I eat and I try to run about 4 times a week. (About 4 years ago I did put on a few pounds when I really hated my job; I didn't have the desire to run and just kept eating.) Earlier this year, I started having some stomach problems and after a my doctor performed a few procedures and determined that there was nothing wrong with me, I was kind of on my own to solve my issues.

    My wife suggested I try a gluten free diet. I was quite reluctant to give up gluten (I love cookies and cake), but was willing to try anything. The first few weeks I gave up gluten were tough because it seemed like everything contained gluten. The reality was that I just had to look harder at packages and make better choices. I started eating a lot of apples and more fruit. Also, when we went to birthday parties, it was a bit difficult to turn down cupcakes and cake. However, it started getting easier after awhile.

    I've been on a gluten free diet for about 5 months now and have been feeling great! Since I don't have a gluten allergy or celiac disease, I don't have to worry about things made in a gluten free facility, I just have to read ingredients. I also ask more questions when we go out so that I get exactly what I want.

    I consider myself the "problem child" when it comes to eating because I no longer eat gluten, red meat, nor dairy. I was at a company offsite meeting last week and had to request a special meal to meet my dietary restrictions.

    While I can't exactly say if the gluten free diet has helped me, it surely hasn't hurt me. This leads me to some questions about diets; are people becoming having more dietary problems possibly because or more processed foods, are people becoming more picky, or is something else causing the dietary trends to be more commonplace?

  • A lesson in 3D printing

    I've read a bit about 3D printing over the last few years and have been intrigued, but not enough to get a printer or design anything to be printed. After Comic-Con, I saw some mention of Shapeways and decided to check it out. I looked through some of the pieces and saw some pieces for my quad copter, specifically a quick release for my GoPro camera and a monitor mount that attached to my transmitter.

    I took a risk and ordered these pieces that some random people designed and uploaded. When I received the pieces, I was extremely impressed with the monitor mount as it was quite solid and fits well. I was a little apprehensive of the quick release as the material seemed a bit flimsy. However, comparing the bracket to the bracket that I already had, I realized it wasn't that much thinner. I've used both pieces a number of times and am happy with what I ordered.

    3D printing is still in its infancy and the future is quite bright. If parts can be made that are as solid as molded pieces at a fraction of the cost, there could be huge markets for it. While I don't need any trinkets (many of the 3D pieces seem to be trinkets), I could see myself buying speciality pieces that people couldn't afford to make any other way.