media, music, windows comments edit

Being the Family Tech Support Guy, I got a question from my cousin about sharing music in iTunes and rather than answer it in email (since it’s not a short answer), I figured I’d blog it since it is probably helpful to other folks out there.

First, you need to determine your requirements. The phrase “sharing music in iTunes” is actually pretty vague. Let’s walk through figuring out what you want to do.

  • Do you have multiple computers?This is important because you’ll need to make some choices about what you want to do on each of the computers.
    1. If you have multiple computers and you want your entire iTunes library (playlists and music files) accessible from each computer… You have a couple of choices.
      • Copy everything to each computer over the network. This will put a physical copy of the iTunes library and all of the music files on every computer you want to share with. You’ll need to use a program like SyncToy or Allway Sync to keep your iTunes library and music files copied over the network. Honestly, I don’t recommend this option.
      • Keep your music files on a central network drive and only copy the iTunes library file across computers. This is common and is way better than the “copy everything” option. Lifehacker has a nice tutorial that explains how to do this.
    2. If you have multiple computers and you want to manage iTunes on one computer and just listen from the other computers… the easiest solution is to use iTunes library sharing to enable sharing on the master computer and then attach to that shared library over the network from the other computers. You will be able to listen to the music but will only be able to synchronize devices from the master computer. There’s a decent tutorial about how to set up iTunes library sharing on About.com.
    3. If you have multiple computers and only run iTunes on one but need the music files on all of them (for whatever reason), you can store the music files on the network, no problem. Lifehacker has a tutorial on how to do that, just skip the bits where you set up something to synchronize the iTunes library file. At the time of this writing, that’s steps 6 and 7 on the tutorial that you can skip.
    4. If you don’t have multiple computers… continue on. Nothing to see here.
  • Do you have multiple user accounts? That is, when you sit down at your computer, do you “log in” as you or does everyone just sit down and start using the computer?
    1. If everyone uses the same account, your options are limited.
      • Live with one iTunes library. This is probably what you have now.
      • Create a separate iTunes library file for each person. Every time you open iTunes you’ll have to remember to hold down Shift when you click the link to start iTunes or it’ll just open up the last library that was used. There is an Apple knowledge base article about how to open and create alternate libraries. This is a big pain and I wouldn’t recommend it. If you do this, you have additional options…
        • Share your music files. Each iTunes library will use the same set of music files. This may be problematic because when you change certain things in iTunes (like the artist name or the song name), iTunes will actually modify the physical file and may even move it to a new location (if you’ve told iTunes to keep your library organized). That will mess up other libraries that assume the files stay in the same location.
        • Keep separate copies of your music files. This could eat up space really quickly, but hard drives are cheap. Doing this would mean that each time you add a file into one library, you need to create another copy of the same file and add the copy into the other library.
    2. If everyone has a different account, things open up.
      • Share your iTunes library and music files across user accounts. There is an Apple knowledge base article that explains how to do this. I have a tutorial on this as well and while it’s a little more lengthy, it’s my preferred way.
      • Each user has their own iTunes library but shares music files. The key here is that each user will fire up iTunes and create a new library – making sure the “Keep iTunes music files organized” option is the same for each user – and pointing each iTunes library to the same central location for music files (Edit –> Preferences –> Advanced and change the music folder location to the same place for each user). When you add a music file to one library, each other user will need to manually add the file to their library as well. Or not, as the case may be. Note, again, that if someone changes an artist name, song name, etc., it may move the files out from under someone else, so this may not be great.
      • Each user has their own iTunes library and their own music files. This is how it works by default when you have multiple user accounts. If someone adds music to their library, the other person can make a copy and add it separately, later, to their own library.

Things to think about…

  • You can mix and match. For example, if you want to keep your music on the network because you have multiple computers and you want to share iTunes across multiple user accounts on those computers, you can do that. It’ll take some work to figure out which parts of the various tutorials out there need to be fixed up, but it’s possible.
  • You will probably run into issues with iTunes Store purchased music and apps. As soon as you get into music sharing that involves copying things around, separate libraries, etc., you will most likely start running into problems where one user can play purchased music but another can’t. This is technically by design – one person purchases music and that person owns the music. That’s the problem with DRM (digital rights management) today. Other sources like Amazon MP3 don’t cause this problem because they don’t have DRM.
  • Have a backup plan. When you switch this stuff around, you have a chance of accidentally hosing things up. Make sure you back things up before you do anything.
  • Take your time. Especially if you’re a non-technical person, some of the stuff explained in the above tutorials may be a bit daunting. It’s not too hard, but it’s not fall-down easy, either. Set aside some dedicated time to work on this and if it becomes too much, take a break. Write down all the stuff you’re doing so if you have to undo it (or restore from backup, or ask someone for help – NOT ME), you can.

As always, all of this is AT YOUR OWN RISK and SELF-SUPPORTED. I haven’t actually tried every combination of all of these things so I can’t guarantee all of it works.IF IT DOESN’T WORK, YOU’RE ON YOUR OWN. I can’t offer you individual help on this. Sorry.

General Ramblings comments edit

It’s been a little over a month since Phoenix was born and now that December is coming to a close, with it comes the end of my paternity leave. I’m not really sure that I’m ready to go back to work, though. The first two weeks she was here were basically a whirlwind of people showing up, work getting done around the house, and general “settling.” The two weeks after that have been spent just trying to get a decent schedule down and learning how to manage some of the changes that come with a baby. I just now feel like we might sort of have a handle on things but I don’t really get to verify that before getting back to work. Hence, not quite ready.

To borrow a line from Scott Hanselman, who borrowed it from his friend Eli, “Kids go through three phases: Plant, Pet, Person.” Phoenix is currently in “plant” phase, where we provide sustenance and she sits for long periods of time. She’s not interactive at all, has no motor control, and doesn’t even smile yet. In a way, and I know this sounds bad/negative, I think “plant” phase should actually be “parasite” phase. Per Wikipedia, a parasitic relationship is “where one organism, the parasite, benefits at the expense of the host.” Right now, despite the “It’s so rewarding!” declarations to me from existing parents, there’s really no “reward,” just work. There’s not even “unconditional love” coming from her, just “need,” which is not the same thing at all.

I think I’ll have a more positive attitude and be less generally depressed once there is some sort of basic interaction possible. In my experience, women love babies. Like, baby babies. Men like older children that are mobile and more interactive. (Yes, that’s a blanket generalized statement and isn’t true for everyone, but this is what I’ve seen.) I find that to be true here, too, where my wife and her friends love how tiny Phoenix is and so forth, but I find myself strongly looking forward to a day when she can smile and I know it’s not just a gas bubble.

A friend of mine told me my perspective would shift and I’d learn to love everything, including the pain. I’m a month in and I don’t see that happening. I might, in the long run, forget how painful this stage is (and I think most parents do, which is why you don’t hear about it much) and possibly even look back and laugh someday, but I don’t think I’ll ever enjoy the painful moments. They’ll just exist in time and be something to bear through. “It’ll get better!,” something people (particularly grandparents) love to throw out there, doesn’t really help me right now, does it? “Sorry doesn’t put the Triscuit crackers in my stomach, now, does it, Carl?

I don’t think it helped that for the first two weeks we were home Jenn was pretty much on bed rest due to her C-section, which means I went to the hospital with my wife and came back with two babies to care for. Also during my leave, several home ownership items came up like a leaking toilet, a clogged kitchen exhaust fan, and so on. A perfect storm of “more work for me” that amounts to barely keeping my head above water. Oh, and the usual (and, now additional) stress of the holiday season. I’m sure all of that pretty well tanked my mood and it’s yet to snap back.

It’s important to note that this all has no bearing on Phoenix herself. She’s a wonderful little girl and I love her dearly. I’m glad she’s here and I wouldn’t have it any other way. There’s just a… severe adjustment period that has me down. Again, I don’t think expectations were properly set.

I could go on, but that won’t really help anything, either. Suffice to say, I am looking forward to the joy of parenting, whenever it decides to arrive. In the meantime, I’m headed back to work next week and I will be figuring out how to make all this work together.

personal comments edit

It’s that time of year again - time to look back and see how productive I’ve been (or not, as the case may be).

In January I came upon a problem where I needed to point to the UI metadata “buddy class” for .NET DataAnnotations using configuration rather than attributes. It was a tough problem, but I solved it and posted a solution. I also took a look at .NET performance issues. I explored the cost of having many assemblies vs. few assemblies in your build and did a side-by-side comparison of several .NET performance profilers. I played a little Grand Theft Auto. Oh, and I upgraded my Windows Home Server and (a few months later) discovered the peril of using the WD Green drives in it after working through some issues.

In February I updated my command-prompt-here round-up to include VS2010. I worked with DevExpress to post a video about my CR_CodeTweet plugin for DXCore. I ran into a few issues with Netflix streaming to my Xbox that seemed to be fixed by running ethernet cable rather than using wireless. I updated CR_Documentor with the ability to “pause” the preview and assign shortcut keys to various actions.

In March we upgraded our FIOS speed at home and I published a few tips on getting that to work for you. I showed you how to switch your active DXCore version so if you have more than one installed you can easily change which one you’re working with. I explained the importance of the “TypeId” property in ASP.NET MVC DataAnnotations custom attribute types. I posted a list of books I’d consider worthy of teaching “enterprise application development” in .NET. I found that if you install a DXCore plugin and forget to unblock it, it may not work. Later I showed how to unblock multiple files at once. (This is still the #1 reason people think CR_Documentor is broken - they forget to unblock it and Windows security stops it from running.) And I showed how to get your continuous integration build running FxCop from VS2010 without having to install Visual Studio on the build server.

In April I upgraded my home theater receiver to an Onkyo TX-NR3007 and posted a few findings after a couple weeks of use. I released DX_FormatOnSave

  • a DXCore plugin that will automatically format documents in Visual Studio when you hit the save button so you never have to remember to do it yourself. I had some fun with Windows Aero Flip 3D when trying to bind a custom mouse shortcut to it. The big April event, though, was our vacation to San Francisco, where we took the train down there. Good times.

May was pretty productive, particularly from a testing and coverage perspective. I showed how to run a different NUnit version with TestDriven.NET than the one actually packaged with the plugin. I showed how to fix the #20000 error when running Typemock Isolator and NCover. I gave you a utility to allow non-admin users to develop using Typemock Isolator. The big one in May was that I showed you how to fail your build using NCover 3.4.x and higher since the “standard” version doesn’t actually let you fail the build when your coverage falls below minimum numbers. On a personal note, I finished my 30th laser hair removal treatment and called it done; moved my DVD library off of my Windows Home Server and onto a Synology DS1010+; and got my calendar and contacts syncing between Outlook and Google using GSyncIt.

June started out with me discovering that the AllowPartiallyTrustedCallersAttribute can cause VerificationException to be thrown if you test with coverage. (I think this has been fixed in recent versions of NCover, but I’d have to check.) I told you how to test WCF services while developing as a non-admin. Finally, I told you how to unit test an ASP.NET VirtualPathProvider.

In July Jenn and I ran the Independence Day fireworks show in Happy Valley. I released multitenant dependency injection support for Autofac as a part of the AutofacContrib project. I also told you how to consume the MSDeploy staged output in a WiX installer so you can deploy a prepared web site using WiX rather than MSDeploy.

In August I upgraded to NDepend 3 (a fantastic tool getting better all the time) and explained how to get yourself going with it. I reviewed the book Testing ASP.NET Web Applications (liked it). And I showed you how to fix error 1625 with the Adobe Reader update.

September saw another release of CR_Documentor, this time with a vastly overhauled syntax preview engine. For folks writing DXCore plugins, I showed you how to make your plugin “official” and put yourself in the “About” box for DXCore. I showed you how to get your iTunes playlists to show up in Asset UPnP. Finally, I switched from a Blackberry Curve to a Droid X, so I posted some tips for new Android phone owners and an explanation on how to send event invitations from a Blackberry to a Droid and back (which my wife and I do a lot).

October hit me with a couple of technology problems right up front. First I had trouble syncing my iPod with iTunes as it kept getting stuck with a message “verifying iPod…” so I explained how to fix that. Then my Droid X had a problem where it wouldn’t calibrate the compass, so I explained how to fix that, too. Then, back to iTunes, I found that iTunes will actually crash under certain circumstances if you have a single bad track (how’s that for fault tolerance?) so I showed how to try to solve that one. In development, I wondered where all the Microsoft solutions for complex problems are. I still haven’t gotten a reasonable answer. (Oh, and we got 259 trick-or-treaters this year.)

In November I upgraded my blog to Subtext 2.5.2.0 and figured out an issue where it wasn’t sending email anymore. I bought myself a Kinect and had a good time with that. I also documented some AppSettings configuration keys for log4net that are handy and that I constantly forget about.

The posting sort of got a little lax here in December (though I did sneak in an update to CR_Documentor) due to the birth of my daughter, Phoenix Aeralynn, on Thanksgiving day. She came a little early, but I had started winding down my development activities toward the end of November anyway in anticipation of her arrival, hence the post drought. I’m on paternity leave for the entirety of December, handling the usual hectic nature of the holiday season whilst getting used to the whole “being a parent” thing.

In all, it’s been a pretty good year. Even without all those other things, Phoenix is accomplishment enough. (Now, granted, I feel like a little detail was left out of all of those eager parents explaining how “wonderful” or “rewarding” parenting is, but she’s still pretty great.)

Jenn holds Phoenix the
Elf.

Happy holidays, folks!

General Ramblings comments edit

This Thanksgiving we were given a little something extra to be thankful for when my daughter, Phoenix Aeralynn Illig, was born. At the time of birth she weighed 6lb 14oz and was 20.5” long.

Phoenix Aeralynn Illig, about 15 minutes
old.

Birth was by Caesarian section. Mom and baby are both fine, though mom’s going through a bit of recovery from the C-section incisions.

I have learned a lot already, just five days into being a father. Granted, my experiences are not the same as everyone else’s, but my personal findings so far:

First, the baby doesn’t arrive like it does in the movies. Which is to say, there’s not a huge panicking “holy crap my water broke” moment, nor is there really the mad scramble to find the bag for the hospital and all that. I woke up around 4:30a on Thanksgiving with Jenn tapping me on the shoulder saying it was time to go to the hospital, but basically it was pretty calm. I think it took us like an hour to get our stuff together and get to the hospital, and it was still no real “rush.” I’m OK with that; we learned a similar thing at our wedding, which also wasn’t the “everything is falling apart” panic you see on TV.

Second, babies sleep a lot. People complain about these horrendous sleepless nights, and while, sure, I’ve lost a little sleep, it’s not like I’m up every 15 minutes or something.

Third, the signs for what the baby wants are generally pretty obvious. Baby makes sucking/eating motions and then starts crying: hungry. Baby crying for no reason suddenly: change diaper. Um… really that’s it. Otherwise she’s a pretty happy baby. For us, “why is the baby crying?” generally amounts to “hungry.” If she’s tired, she just goes to sleep, so there’s no real “crying because I’m tired” thing going on.

There are a ton of follow-up doctor appointments. Check the baby, check the C-section, check the lactation progress, check the baby again… I’m not busy because of the baby’s needs, I’m busy because of all the damn appointments you have to go to.

Having a C-section pretty much destroys you. Jenn, a total trooper, is pretty well laid up and on pain meds because the C-section still hurts (not the incision, but something “up in there”). That means, basically, that I went into the hospital with a wife and came out with two babies. I have a pedometer I carry around and I’ve well exceeded the target number of steps for the last week running around and being a single mom for two kids. Basically.

The cats don’t care about the kid. I thought they’d freak out when she cried or whatever, but they really don’t care. One cat in particular, Stan, seems to be really concerned if she cries and checks up on her through the day. We’ve taken to calling Phoenix “Stan’s baby” because of this.

Stan's baby,
Phoenix

(Yes, we’re very careful with the cats around the baby. If they come near, they are under direct and constant supervision. Fear not.)

Communication is harder to maintain than the people not having the baby think. This is actually what keeps me busy the most. Not the baby, not the running around, but the communication.

During the birth I was in a sterile operating environment so I couldn’t get to my phone. Of course, it was going off with text messages the whole time (phone on vibrate), people wanting to know what was going on. When I got kicked out (they didn’t let me stay for the C-section because Jenn went under general anesthesia) I was in this sterile room in the center of the hospital with what equates to about half a bar of signal. Sending messages just didn’t work. And, of course, because I couldn’t instantly return messages (or the messages I was returning were getting hung up in the network) people assumed the worst and sent more messages.

Just after the baby was born and for the next couple days, Jenn’s phone, my phone, the home phone, emails, IMs, Facebook messages, etc., went off non-stop like a central switchboard. People “just checking in,” offering support, curious how things are, asking for pictures, etc. Problem being, we hadn’t actually been released yet because of Jenn’s C-section, which meant me trying to single-handedly address all the incoming requests for information, PR style. Why aren’t there pictures? Because they’re all on the camera and I don’t have a computer at the hospital to get them off the camera, sorry.

The thing is, I don’t think folks realize that “just one text message” isn’t so bad, but if there are like 30 people all sending “just one message” and freaking out or sending more messages when the first one wasn’t acknowledged quickly, it becomes a tidal wave of messages.

It’s become more manageable now, but we still get a pretty constant influx of people curious “what’s up” or how things are going. I love, thank, and appreciate all of the requests, truly. I feel blessed that we have so many wonderful friends and family members. You never really do know how many people care about you until big life events like this, and it definitely makes you thankful when that time comes. It’s just… if I can’t get right back to you, or if you don’t hear anything immediately, please don’t instantly assume the worst and send another ping. I’m just one guy, and there are just 24 hours in the day, and I’m kinda still getting the hang of all this. I’m probably out running around to the bajillion follow-up appointments (see above). If there’s something to know, or if there’s something I need, I promise to make it known. If there’s something cute to see, I will post a picture somewhere you can see it. And, again, thank you kindly for all the generosity.

Plus, if you really want to help, I have laundry, dusting, vacuuming, and all the usual house chores that aren’t baby related still to do… I can hook you up with all that since it’s the bulk of the work. :)

Finally, having a baby is totally surreal. I don’t think the whole “being a dad” thing has hit me. I mean, I still sit and eat dinner with Jenn and say, “Dude, we’re married. That is so weird.” Not that I think being married is weird, just that I’m a part of that, and looking in at myself as part of that is still more a TV/movie type of experience than something that happens to real people in real life. Looking at this now six-day-old baby and thinking, “This little being is a part of me and a part of Jenn… and someday she’ll be an adult, too, and pursue her own course,” it’s just… really surreal. It’s hard for me to wrap my mind around. It’s going to take some time to “click.”

Anyway, that’s what I’ve learned so far. Like I said, YMMV since my experiences are my own.

If you want to see more pictures, I posted a full gallery.

Travis and Phoenix
From 2010 Birth of Phoenix Aeralynn Illig